Tag ArchiveNew Features


Appending Text with Bulk Update

Bulk Update is an extremely useful utility and has some clever features that you might not be aware of. I’ll try to post a separate article about these later today but this post is about one of the limitations of bulk update.

As you almost certainly know, bulk update always copies the data that you enter into the appropriate field on each selected record. This is fine for things like financial values, dates, lookups etc., but can be problematic for text fields, especially text fields that can hold a large amount of text which get added to over time. The equipment notes field, for example, is often used to record miscellaneous information about a device throughout its lifetime.

As an example, the notes fields for two separate devices are shown below:


Suppose that we wish to add “Warranty Extended to 1/4/2019” to the notes for both devices. In previous versions bulk update could not be used for this since it would have overwritten the existing notes. Bulk update can now handle this situation for text fields with scrollbars (i.e. any text field which supports the Zoom feature).

In order to do this:

a. Select the records to be edited, as normal, and select bulk update from the context menu.

b. In the notes field, press F2 to display the Zoom window.

c. Click the Append Text button (you can also use the F2 key again to do the same thing) at the bottom of the window then enter the desired text. Note that the text appears in red.


The Append Text button is a “toggle”. This means that each time it is clicked it reverses the previous action. i.e. clicking this button multiple times will repeatedly change the text colour from red to black, black to red, and so on.

d. Click the Ok button to close the window. Notice that the text is still displayed in red.


e. Now click Save & Close to apply the bulk update.

if you look at the records you will see that the new notes have been appended to the existing notes:


This feature will be available from version 3.6.0, which we plan to release in the spring of 2016. Initially this will only be available on the equipment & job property pages, but we may extend this if it turns out to be required on other screens.

As always, feedback is always appreciated.


Commission Request Improvements

The commission request screen has turned out to be an extremely popular feature and, thanks to user feedback, it has developed tremendously since we first added it for Portsmouth back in 2014. It is particularly useful as a standard way of commissioning particular models.

For example, suppose that you have a rolling replacement program to replace “Pump A” with “Pump B” over a 12 month period. You can set up a commission request linked to the correct PPM schedule, contract etc., and then simply add the new pumps as Additional Items as they arrive each month. This saves a lot of work and helps to reduce errors but there were a few obstacles to using them this way.

Firstly, the commission request only allowed a single location and service. Although not a major problem this did add another step to the process: bulk updating the new assets with the correct locations. Of course, you could always change the location or  service in the commission request and then add devices in batches. Still better than an entirely manual process but not as good as it could have been. The same problem also arose with installation, purchase and first PPM dates.

To address this we have added the following columns to the Additional Items tab:

Purchase Date

Installation Date




The same fields have been added to the Add Batch screen, to make life even easier.


This has addressed all of the issues above except one; that of the first PPM date for each device.

An option has been added to each row in the Additional Items grid labelled “Recalc. PPM Date“. If this option is ticked then when the PPM job is created its planned date will be calculated by adding the schedule frequency to the installation date.

The same option has been added to the Add Batch utility, except there we a bit more space for a more meaningful label. It’s right underneath the Installation Date field and says, “Use this date to calculate the first PPM job planned date”.

We hope you find this new feature useful. As always, any feedback is always welcome.



GS1 and Data Matrix Labels

With the increasing popularity of GS1 data matrix equipment labels seem to be becoming more common. GS1 doesn’t mean that you have to use data matrix but I suppose that moving to GS1 makes people focus on things like equipment labelling. GS1 allows you to use whatever symbology you choose, but data matrix is a very popular choice. It is now possible to print GS1-compliant data matrix labels directly from e-Quip.

The first thing to bear in mind when designing labels is that there are two main parts to the label: the bits designed to be read by humans and the bits designed to be read by machines. The human-readable part is there for your convenience and can pretty-much contain whatever you like, although there will be some GS1 rules about what must be included in order to be officially compliant.

The machine-readable component needs to encode the entire GS1 GIAI (Global Individual Asset Identifier). If you’re familiar with GS1 you will know that this is made up of several pieces:

GIAI Identifer – The fixed text “8004” which tells software that the data which follows is a GIAI.

GS1 Company Prefix – an 8 digit code assigned by GS1 which identifies your organisation. For example, the GS1 prefix for the Cambridge University Hospitals NHS Foundation Trust is 50552071

GS1 Sub-Prefix – An organisation is free to sub-divide itself into as many divisions as it chooses using a sub-prefix. The length of the sub-prefix depends on the size of the organisation. A length of 1 digit allows up to 10 sub-divisions (0-9), 2 digits allow 100, and so on. It is the organisation which decides the size of the prefix that they need.

Don’t confuse sub-prefixes with locations. In GS1 these are called GLN’s (Global Location Numbers)

The Equipment No – the code that your organisation uses to identify the device.

Putting all of these together gives you a GIAI: 8004505520710125452

This must be encoded into the machine-readable portion of the label, which is commonly a bar code or a data matrix code. You might also want to present some of this information in the human-readable part of the label.


Here’s an example of a GS1 data matrix label printed from within e-Quip. Note that the human-readable part of the GIAI has been formatted with dashes and brackets to make it a little more readable. The dashes allow the GS1 prefix and sub-prefix to be seen. In this example I have used the Addenbrooke’s prefix and assumed a sub-prefix length of 3. The original Equipment No is also included. The data matrix does not include any of this formatting – when you scan the data matrix all that is read is “8004505520710125452”.

Below you can see a real label from Addenbrooke’s. They use very clever labels with built-in passive RFID tags.


So, how did we print our label in e-Quip? You will probably be aware of the Microsoft Word reports which e-Quip can produce. Well, a bar code label is just a Word equipment report, albeit a very small one. There is an example from an earlier version of e-Quip below.


How you design these reports is explained in the documentation. It is very simple and simply involves creating a Word document with mail-merge tags to identify which values should be taken from the database. This is what the document for the label above looks like.


The item of text that says <<EquipmentCode>> is Word mail-merge field. The value EquipmentCode tells the report to replace this text with the Equipment No from the database (i.e. 25452). In Word the font for this text is set to “C39P24DlTt 20 point”. This is a free Windows bar code font. The way that this font works is that every character between “*” and “*” will be displayed as a bar code. It’s all fairly straightforward.

Unfortunately things aren’t quite so simple when it comes to data matrix. It’s not possible to format a data matrix encoding just using a font or to control its size by simply setting a font size. The Word extract below shows how to design a data matrix label.


I have used a Word table to help me lay the label out. There are a few things to notice here:

<<EquipmentCode>> – As before, this means “replace this text with the Equipment No from the database”

<<GS1_GIAI{32,32}$DM>> – This is a bit more complex:

GS1_GIAI – This is a database field name (just like EquipmentCode). You can see it in the e-Quip Column Chooser just like any other field. It contains the full GIAI for the device, i.e. 8004505520710125452. It is built dynamically from the Healthcare Provider GS1 Prefix and sub-prefix, with 8004 at the beginning at the Equipment No at the end.

$DM – Tells the reporting system that this is a data matrix code, not ordinary text

{32,32} – The size that you want the data matrix code to be

<<GS1_GIAIPreamble>> – This is another new field which we have added to e-Quip (and is available in the Column Chooser). It formats the first part of the GIAI into a human-readable format: (8004)-50552071-001

<<EquipmentCode>> – This appears a 2nd time to show the fully-formatted human-readable identifier: (8004)-50552071-001-25452

<<ProviderName>> – This is another field name to be substituted from the database. There are hundreds of fields available. For example you might want to add:

<<SerialNo>>, <<LocationShortName>> or <<ServiceShortName>>

How does the data matrix code get printed? As soon as the report processor spots the $DM marker in the Word document it calls an internal routine to create a data matrix image of the GS1_GIAI (read from the database) with a size read from “{32,32}”. It writes this bitmap to a temporary file. This file is then inserted into the Word Document.

We hope that you find this new functionality useful. As always, any feedback is always welcome










Managing Bulk Loans with the Pocket-PC

(For an explanation of loan delivery using the Pocket-PC look here). This article concentrates on the bulk issue of devices. Suppose for example that: Theatres request 10 T34 Syringe Drivers

It would be time-consuming to have to enter 10 individual loan delivery list items. Instead, clicking the Add Batch button on the Items tab of the Loan Delivery List property page will simplify this.


This automatically creates the following delivery list items:


The devices may be “picked” using the Pocket-PC as with any other loan and delivered in the same way.

It can also be useful to use this technique when issuing multiple devices to a single patient – just leave the model field empty and update the list manually after the batch has been added.


This adds the following items:



Coming Soon – Version 3.3.0

Version 3.3.0 will be released at the end of March 2016. Although some additional features might find their way in between now and the final release, here is a summary of the new features:

1. Embedded Documents – New Feature
a. It is now possible to store document contents within the database rather than linking to files in the Windows file system


There is a blog post about this feature here

2. Loans

The loan property page has been redesigned following the Loan SIG meeting and discussions with users. There have also been significant enhancements to support community loans






a. The following fields have been removed from the general tab of the loan property page and added to the miscellaneous tab

Requested By (lookup)
Pre-loan Decontamination
Loan Request
Returned By (free text)
Returned Condition

b. The following fields have been added to the general tab of the loan property page

The three fields Brand, Model & Category have been combined into a single field labelled Device
Created By – read only
Requested By (free text)
Accepted By (free text)

c. The address tab of the loan property page has been renamed to Community

Two new fields, Delivery Hub and Collection Hub have been added to support community loans

d. A new consumables tab has been added to the loan property page allowing consumables to be issued with a loan. Consumables are defined using the Reference Data Manager

e. A new miscellaneous tab has been added to the loan property page. Its primary purpose is to hold the redundant fields which have been removed from the general tab

f. When a loan is issued to a patient, any alerts associated with the patient will be displayed

Patient alerts are defined on the patient property page

g. A loan report has been added. This is intended to be used to print loan delivery sheets when delivering loans to patients but can be used whenever a printed loan sheet is required. This is accessible using the Report Manager or directly from the loan property page with the Print button

3. Patients

The patient property page has been significantly enhanced to support community library operations

a. The following new fields have been added to the general tab of the patient property page

Date of Birth
Date of Death
Alert 1
Alert 2
Alert 3

The alerts are displayed whenever a loan is issued to this patient


b. A new loans tab has been added to the patient property pageto display all loans made to this patient. New loans can also be issued from this tab


c. A new equipment tab has been added to the patient property page to display all devices that have ever been loaned to this patient


d. A new jobs tab has been added to the patient property pageto display all jobs raised on devices while they were loaned to this patient. Note that it is possible to create a new job from this tab


4. New Feature – Community Dispatch

A new feature has been added to support device library operations in the community. Both loans and jobs can now be easily created directly from the patient property page. The community dispatch is essentially the mechanism which schedules the delivery/pickup of those loans and attendance for those jobs.

Suppose that over a number of days a number of loans and jobs are created. In a community environment it may be necessary to arrange suitable dates when it is convenient for engineers or library staff to attend. A common scenario is that one or more vans will be scheduled to visit different patients on given dates. This is the purpose of the community dispatch


Both loans and jobs can be easily “dispatched” directly from the patient property page

A dispatch sheet can be produced which shows all of the patients being visited along with the loans to deliver or pickup and the jobs to carry out

5. Jobs

a. The equipment risk level is now displayed on the job summary screen

b. Two customer-definable alerts have been added to the job property page

These alerts are populated by the SQL-Server procedures qJobAlert1 & qJobAlert2 which may be customised on a per-customer basis


c. The equipment support level field is now saved in the job record when a job is completed. This means that if the support level changes any historic jobs will show the support level at the time that the job was done.

d. The equipment warranty expiry date is now displayed on the general tab of the job property page

e. Support for client validation has been added to job tests

f. A new field Community Dispatch, has been added to the general tab of the job property page

6. Template Traceability & Auto-Update – New Feature

a. Job templates are a key part of the PPM process. Very often, when a PPM job is completed the next PPM job is automatically scheduled using a job template. If the template is edited then in the past this has only affected new jobs which are subsequently created from the template. A new feature has been added so that whenever a template is edited, if any non-started jobs exist which were originally created from that template then the user is asked if those jobs should be updated.

This is particularly useful when the template involves checklists

7. System Job Checklists – New Feature

a. It is now possible for job checklists to be created and saved independently from either jobs or job templates. This can simplify job management for common tasks.

For example, suppose that a visual inspection is carried out on a device as part of a job. Rather than having to manually enter the details the user can select a pre-defined checklist which can either replace the current checklist or be added to any existing items.



8. Job Task Summary Screen

a. The following job fields have been added to this screen:

Call Date
Work Start Date
Work End Date
Close Date

9. Device Competence Policy

On the model property page when specifying device-user competence policy requirements it is now possible to specify a training course. This is also displayed on the competence matrix (TNA) screen and the TNA property page.



a. Support for 10-year contracts has been added to the financial tab of the contract property page


b. A Purchase Order No field has been added to each year for multi-year contracts on the financial tab of the contract property page.

c. A new field, Vendor, has been added been added to the financial tab of the contract property page

d. A new field, Callout Charge, has been added been added to the financial tab of the contract property page

11. Models

a. An additional picture has been added to picture tab of the model property page

b. It is now possible to link models directly to a competence group from the model summary screen

c. Two new fields, Holds Patient Data & Is Test Equipment, have been added the the general tab of the model property page. These values are copied to the equipment record when an asset is created

12. Spare Parts

a. An additional picture has been added to picture tab of the spare part property page

b. The Serial No field on the locations tab of the spare part property page has been renamed to Serial No/Lot No

13. Spare Part Locations (Bins)

a. Location has been added to the spare part location bulk update

14. Equipment

a. A new field, Security Watermarked has added to the miscellaneous tab of the equipment property page

b. For decommissioned devices there is now a link to the decommission request on the financial tab of the equipment property page

c. A link has been added to the new additional model picture on the general tab of the equipment property page

d. Three new fields have been added to the miscellaneous tab of the equipment property page:

They are intended to be used if a device is added for a model which has not yet been added to the database


15. The Asset Finder

a. The fields Support Level & Last Missed PPM Date have been added to the Asset Finder (Equipment QBE)

16. Commission Requests
a. A free-text field Requested By has been added to the general tab of the commission request property page. The original Requested By lookuphas been renamed to Requested By (Staff)
b. It is now possible to create a commissioning job using a job template from the technical tab of the commission request property page


c. It is now possible for a system administrator to specify individual mandatory fields for this screen using the Role Manager

17. Decommission Requests

a. It is now possible to create a decommissioning job using a job template from the checks/authorisation tab of the decommission request property page


b. An additional option has been added to the checks/authorisation tab of the decommission request property page which allows users to specify that all jobs (other than non-started PPM jobs) should be closed (i.e. locked)


c. It is now possible for a system administrator to specify individual mandatory fields for this screen using the Role Manager

18. Suppliers

a. A new field, Accepts Credit Cards has been added to the financial tab of the supplier property page

19. Healthcare Providers

a. A new field, GS1 Sub-Company Length, has been added to the miscellaneous tab of the healthcare provider property page. In the GS1 standard a company prefix can be assigned to any organisation by an awarding body. This is an 8-character value.

Each organisation is free to create sub-divisions of that prefix. For example, suppose that My Hospital NHS Trust has been assigned the GS1 Company Prefix of 12345678. All barcode labels for any assets owned by this Trust will be in the following format (the dashes are only included for clarification, they are not part of the GS1 code):


8004 indicates that the barcode identifies a device
12345678 indicates that the device belongs to My Hospital NHS Trust
98765 is the Equipment No

Suppose that the Trust wanted to refine its labelling to differentiate between assets owned by Facilities, Catering & Medical Physics. The Trust is free to allocate sub-codes as follows:

0 – Facilities
1 – Catering
2 – Medical Physics

All barcode labels for any assets owned by this Trust will now be in the following format (again, the dashes are only included for clarification, they are not part of the GS1 code):


8004 indicates that the barcode identifies a device
12345678 indicates that the device belongs to My Hospital NHS Trust
2 indicates that the device belongs to Medical Physics
98765 is the Equipment No

In the example above, by using a single digit My Hospital NHS Trust is restricting itself to 10 sub-divisions, 0-9, but organisations can choose as many digits as they need. The larger the organisation then the more digits they would require. Clearly, it is not possible to identify the Equipment No component of the device unless the length of the sub-organisation code is known.

That is the purpose of this new field

20. Equipment Categories

a. A new field, Life (Years) has been added to the miscellaneous tab of the category property page. When a model is created this field is copied from the category

21. Brands

a. A new tab, Suppliers, has been added to the brand property page to record all of the suppliers associated with a brand


22. Customer Contracts

a. The Parts Discount (%) field on the financial tab of the customer contract property page can now accept negative values

23. Medical Device Alerts – Asset Links

a. A bulk update facility has been added to the MDA – Asset link screen. This is useful for setting the hazard status of multiploe devices affected by a medical device alert
24. New Feature – Screensets

a. A screenset is a combination of a filter and a grid layout. To a certain extent they behave like reports. Screensets are described here

25. System Options

a. Column filtering is a powerful feature available within all summary screens which allows for data to be searched based on Microsoft Excel filtering methods


It does, however, have a drawback when used on a column containing a very large number of different values. The example above shows a filter on a brand column. The filter is able to very quickly build a list of all of the brands which appear in the screen and to display them in a list. This is not so simple if a column is chosen which has a very large number of different values. Suppose for example that the Job No column was filtered and the job summary screen was displaying 50,000 jobs. It can take a long time to collect 50,000 job numbers and to add them to this list, and the list would be very long.

In previous versions of e-Quip there has been fixed limit (1000) to the number of different values that will be displayed in a column filter. When this limit was exceeded the list was not populated.


Note that the other Excel-style filter options could still be used:

A new system option Maximum Excel Column Filter List Items has been added to allow this number to be controlled by a system administrator

26. Reference Data

a. The Test Software entity, used when adding test equipment to jobs, can now be managed using the reference data manager

b.A new reference data entity, Loan Consumable, has been added. This allows consumables to be issued with loans

c. A new reference data entity, Community Dispatch Status, has been added

27. Report Manager Changes

a. Support has been added to the Report Manager for .DOCX (Microsoft Word 2007 onwards) reports

b. The Copy Report facility within the Report Manager has been modified to make it simpler to create new reports

28. The Lookup

a. The lookup control now saves column widths, column sort order and window size on a per-user, per-computer basis

29. The Linked Document Manager

a. The Linked Document Manager now saves column widths, column sort order and window size on a per-user, per-computer basis

30. System Code Reset

a. From time-to-time it may be necessary to reset the sequence of numbers that are automatically generated when e-Quip creates new jobs, assets or loans. This can now be done using the system options utility. This function is only available to users who have been granted permission to run the system option utility

31. TNA Report

a. The cross-tab TNA report now shows the model headings colour-coded by risk


b. The cross-tab TNA report has been enhanced to allow filtering by competence group

c. It is now possible to run this report for all risk levels

As always, any feedback would be much appreciated



Coming Soon – Screensets

Several users have requested a feature that combines a filter and a grid layout in a single entity. This has been added for version 3.3.0 and we have called it a Screenset. The Screenset Manager is available from the right-click or Office menu on every screen. Basically you just select a filter, select a layout then click Apply.


Just like filters and layouts, screensets can be saved and loaded and can be made private or shared.



Copying Microsoft Word Reports

In my last post I showed how a new Microsoft Word report could be created by copying an existing report. The method that I showed is how this works in version 3.3.0 onwards. It’s very simple: create your new document; copy an existing Report Manager report; give your copy a name and make it point to your new file.

Prior to version 3.3.0 the process was similar but not quite so straightforward (which is why we changed it). Previously the act of copying a report actually created the new Word document for you. This is how it works in older versions:

1. Run the Report Manager and select the report that you want to copy.

2. Click Copy

3. Enter a new name for your report

4. Click the hyperlink labelled Specify the new report definition file name. The contents of this  file will be copied from the source report

5. Then you could edit the new Word document

There might not seem to be much difference:

With the latest version you create the Word document and put it wherever you like

With older versions e-Quip created the Word document and put it where you chose

Lots of people (including me) found this confusing. They would create a Word document in the right place and then when they clicked Copy it would then be overwritten with a copy of the original. I’m hopeful that this change will make the process a lot simpler



Embedded Documents

Linking versus Embedding

In the past linked documents in e-Quip have been exactly that; links to a document held in a file system. This particularly well-suited to situations where documents are not just read by e-Quip but by arbitrary users. Policy documents, spare part catalogues, brochures, contracts etc are all documents which almost certainly exist in structured locations within the server file system. For example, there may be a Contracts folder on a server with sub-folders for separate years, suppliers etc. In this situation linking database objects to documents in the file system is probably the best option. The approach is simple, reduces database size and allows flexibility with document storage.

However this method is not without limitations. Perhaps the most obvious is that if somebody moves or renames the file in the file system then the e-Quip link will no longer be valid. Another shortcoming is that if a user creates a link to a document which is not on a server, perhaps on the local C:\ drive, then the document will not be visible to other users. A similar problem arises from Windows drive mappings. If a user links to a document using a mapped drive (e.g. Z:\\Docs\Contracts\2015) then the link will only function for users with a Z:\ drive which maps to the correct location.

Linking presents an even bigger problem for documents which need to be visible via the web. In general web browsers can’t see file systems and vice-versa.

Now that mobile working is becoming more widespread a new situation has arisen; that of users with no access to a file system at all. When working remotely (perhaps using the Detached Client or a Windows tablet) the user may well not be able to see the file server. A remote engineer may capture a customer’s signature on a job sheet but how can this document be linked to an e-Quip job? The obvious answer is to actually store the document within the database. As from version 3.3.0 e-Quip now supports this.

How Embedded Documents Work

When creating a document link the user now has a choice of either creating a linked or embedded document. If the latter is chosen then the entire binary contents of the file are written to a field in the ExplorerDocument table in the database. The original extension (.xlsx, .docx, .txt, .jpeg etc) is also written to a field in the same table. Once saved the original document path is deleted. You may have linked C:\My Documents\Test Results\2015\12345.txt but once the file contents are stored in the database the only part of that which is relevant is the extension: “.txt”. This is because Windows uses file extensions to work out how to open documents. This is the same for any document, whether linked or embedded.


Above you can see how the original location is no longer needed once the document has been embedded.

When you try to open an embedded document e-Quip creates a temporary file to hold the contents. This might be C:\Users\Graham\AppData\Local\Temp\tmpB830.tmp. The extension is changed to match the original file – in this cae: C:\Users\Graham\AppData\Local\Temp\tmpB830.txt . Then the document contents are copied from the database to the temporary file. From then on the document is passed to Windows to be opened in the same was an linked documents.

Which is Best?

There is no right or wrong answer to this; each method is appropriate in the right circumstances. For displaying files in a browser or for remote engineers then embedding is an attractive solution. For other documents, Microsoft research has indicated that documents smaller than 256K are handled more efficiently in a database than in a file system, with the reverse being true for large files. However, these performance differences are only slight and speed of access may not be a key deciding factor. If you reference very large documents then linking may be better for another reason. When the e-Quip client processes embedded documents it must hold the binary data in its internal data structures in order to construct a temporary file. i.e. the data is read into memory and then copied from memory to a file. But while the file is being built it too resides in memory. This means that clients with limited memory may not be able to process very large embedded documents.

If a document is stored in the database then it can only be viewed by e-Quip users. This makes this approach unsuitable for publicly visible documents. However, a counter-argument says that public documents are more likely to move or be renamed, in which case the e-Quip links would break. This implies a management overhead in keeping links working. The counter-counter-argument says that if the original document changes then the embedded data is out-of-date while a link would not be. As I said, there is no right or wrong answer.

If you have a problem with engineers accidentally linking to documents on their local computers then embedding will solve that problem.

Of course, storing documents in the database will make the database larger. Although it is possible to configure SQL-Server so that different tables (and indexes) are physically located on different storage devices, it is much more difficult to do this than it is to simply store contracts on the P:\ drive, pictures on the Q:\ drive and test results on the R:\ drive.

What Next?

Depending on the feedback that we receive we plan to enhance e-Quip roles so that default linking/embedding preferences or rules can be defined. We are already in the process of creating a new browser application for e-Quip which should be ready before Christmas 2015. We will certainly be extending this to support embedded documents





New Option – Wrap Grid Captions

A user option has been added in version 3.2 to allow the grid column captions to wrap once the column becomes too narrow to display the caption


Late-breaking Additions to 3.2

A few additional features have been included in version 3.2

Job Task Validation

Per-customer validation has been introduced for job tasks. Whenever a job is saved the SQL-Server procedure TaskValidation_RT is called, which in turn calls the procedure TaskValidation_RT_Local. This procedure can be modified to meet your local requirements and is not affected by upgrades. If a task is invalid then the procedure returns the text which will be displayed to the user and the job save is disallowed. If the task is valid then no text is returned.

Because, at the time that it is called, no data has yet been written to the database, all values are passed to the procedure as arguments. The supported arguments are:


KPI Report Options

For all of the reports which use Microsoft Excel spreadsheets as templates, system options have been added to allow the templates to be held in the server location of your choice


TNA Property Page Red, Amber, Green Validation

Per-customer validation has been added to the TNA property page. The validation causes the traffic light to be displayed as either red, amber or green. Whenever any relevant data on the screen is changed the SQL-Server procedure TNAGetRAG_RT is called, which in turn calls the procedures TNAItemRed_RT_Local, TNAItemAmber_RT_Local and TNAItemGreen_RT_Local. These procedures can be edited to enforce whatever validation rules you require and are not affected by upgrades.

At the time the procedures are called no data has been written to the database and so all values to be validated must be passed as arguments. The arguments currently supported are:


Per-Bin Spare Part Prices

It is now possible to enter spare part prices for parts in individual stock locations. When a part is added to a job, if the part in the selected bin has a price then that value is used rather than the Effective Job Charge value from the spare part itself.

Note that per-contract markups/discounts are still applied

We hope to get 3.2 into beta next week and out on general release within a couple of weeks of that