Official Blog with How-To Articles, Tips, Tricks, and Latest News

Tag Archives: Calibration Management Software

IndySoft Pipette Data Collection Extension

pipette-data-collection

With this post we’re announcing a new sidebar product line and service available to users of IndySoft Version 9.2.12 and above called simply enough, extensions. Extensions can be thought of as plug-ins that extend the functionality of IndySoft for very specific tasks. If you have ever worked with our services group you know they have low-level scripting capabilities in the product but what you may not know is that hidden under the hood is also a full-blown GUI development environment based on the same technology. It is through this mechanism that we are adding expansion opportunities to the product line. Our first project now available is the Pipette Data Collection Extension.

The Pipette Extension allows for assets to contain pipette data collection parameters which then feed into your calibration event. Within the calibration event a series of windows become available allowing you to connect to common RS-232 scales and perform pipette data collection per common industry accepted procedures all the while automatically performing the calculations and generating your final results. The following is an overview of the initial release of the extension.

Asset Setup

Initial setup for assets is broken down into configuration of the attributes, test points, and design of the certificate.

Configuration

You can add a link to the Pipette Setup dialog within the equipment view for simple configuration.

launching-pipette-setup

Example Pipette Setup Link in Equipment View

After launching you are presented with a set of default setup options.

pipette-method-setup

Asset/Default Pipette Method Setup Screen

Testing Criteria

When you commit the values they are then stored with the asset record as a Pipette extended attribute.

pipette-method-saved-settings

Setup Method as Stored with the Asset or Template

Test Points

Test points are setup almost the same as any other asset in IndySoft however we utilize the following fields for additional data storage related to the Pipette findings

pipette-test-point-setup

Example Test Point Setup (Asset Level View)

 

Accuracy (Extra Num 1) should be the desired percent accuracy (between 0 and 100%)

Precision (Extra Num 2) should be the desired percent precision (between 0 and 100%)

pipette-test-point-results-view

Example Test Point Setup (Results Level View)

As Found Accuracy is stored in Custom 1.

As Left Accuracy is stored in Custom 2.

As Found Precision is stored in Custom 3.

As Left Precision is stored in Custom 4.

Actual findings and pass/fail status are handled by the outcome of the pipette procedure and calculation of final results.

Certificate Design

The extended data associated with the data collection is stored in the IndySoft database but is not shown by default on the certificates. If you wish to show the extended data modification or creation of a new certificate can be accomplished to expose those additional fields.

Calibration Process

Once an asset has been configured the technician simply launches into the calibration event configured for pipette data collection. Once in the pipette calibration, the user is asked to confirm the environmental variables.

pipette-environmental-variables

Environmental Prompt with RS232 Setup and Data Collection Triggers

They are then given the option to configure the scale.

Scale Setup

The scale setup contains all of the standard elements of any RS-232 based scale in terms of communication settings. Simply set the options to match the device settings then commit the changes and proceed to the data collection screen via the as found or as left buttons.

rs232-pipette-scale-settings

RS232 Communication Setup Screen

Data Collection

The data collection screen will load setup relative to the information previously defined at the asset-level.

pipette-data-collection

Pipette Data Collection Screen with Example Results

Final Certificate

After the event is complete, the data will feed into the test point grid like any other calibration.

pipette-event-results

Final Results Pumped into the Calibration Event

resulting in a completed certificate to be distributed to the end customer.

pipette-cert-example

Rudimentary Extract from Cert Showing Results and Collected Data

IndySoft Sales is currently accepting feedback from the user community on ideas for additional data collection extensions. If you would like to purchase the existing system, or talk about extensions that would help your business, please feel free to contact the IndySoft US Sales office.

IndySoft 9.2.5 Released

Version 9.2.5 of IndySoft has been released. Along with additional corrections and enhancements, please note the following primary items:

  • Commercial Lab Management support for Quickbooks finalized. Integration schemes are constructed as scripted operations through our services group. Please contact your sales representative to begin the process for your Quickbooks implementation if desired.
  • Enhanced labeling for custom search columns that follow company label schemes
  • Custom field captions based on company selection now supported in filterbox routines
  • Custom field captions based on tracking statuses now supported in filterbox routines
  • Email preview dialogs enhanced with support for copy and paste across address fields
  • Ability to customize the delivery address for test emails sent from workstation setup
  •  Uncertainty calculations (when using the uncertainty upgrade) now supported in ganged calibration routines
  • Ability to add new employees on the fly in employee group operations
  • Alternate address contacts can now be selected from a pulldown list
  • Enhancements to, and finalization of, NT Authentication, LDAP/AD, and SSO routines. Integration schemes are constructed as scripted operations through our services group. Please contact your sales representative to begin the process for implementation if desired.

Customers with valid IndySoft support contracts can download the latest release via my.indysoft.com and review change lists with more detailed information.

Version 9 SP2 License Pooling

License Pooling – 9.2 Standout Feature

With the release of 9.2, IndySoft now allows for license pooling scenarios. Our long-standing and popular concurrent licensing model per database is still in place, this only extends the functionality slightly by allowing customers to enforce some rules on exactly how the licenses in a database environment are distributed within their organization.

Rewind: Concurrent Licensing Explained

Let’s take a step back and review the existing license structure and how it works. Concurrent licensing is based on the idea that there is a peak number of simultaneous users your system will likely support at any given point in time during the business day. With concurrent licensing, you can install your software on as many networked computers pointing to your licensed database as you desire. You can also add as many users as you want. Users come and go throughout the day but once all allocated licenses are in use, additional users attempting to access the system are told to try again later after licenses are freed up in the system.

Timezones, Management, and Divisions

One of the largest benefits to concurrent licensing is that in multi-shift, multi-timezone, or multi-country operations, you experience a great deal of license re-use. If your operations are not 24/7 and are national/international, licenses are freed up as countries, shifts, etc change, and get repurposed by those coming on-shift.

On the other side of concurrent licensing, three common side effects of concurrent licensing exist. They are license-squatting, divisional quantity needs, and emergent issue access.

License Squatters

IndySoft combats license-squatting by incorporating session timeout controls as part of the deployment scheme. System administrators can set a maximum idle time for the system before the user is considered absent, and they will be logged out of the software, freeing their license for use by others.

The Need to Own Fixed Licenses

In some rollouts there is simply no way to calculate or plan for your maximum license usage. Imagine a rollout where you have 25 licenses and expect no more than 20 operators on a manufacturing floor and 5 users in the lab using the system at the same time. If more than 20 operators happen to access the system at once, those additional users will consume any unused licenses in your pool of 25 licenses. So if there is a boost in usage, some of those 5 lab users may find themselves without access to the system. If you consider your 5 lab users as more crucial than your 20 shop floor operators, this causes problems.

The other issue in divisional quantity needs comes in with multi-facility rollouts. If you expect 5 max users at Facility A and 5 at Facility B, you purchase 10 concurrent licenses. Facility A starts to discover more features in the software and usage/access rises. Now Facility A is robbing Facility B of licensing and Facility B productivity is affected because less staff are not able to log in and work.

Emergent Issue Access

The final potential problem with concurrent usage licensing deals with critical needs. If all of your 10 concurrent licenses are in use and a manager, or system admin, needs access to address a dire need you can only boot someone through a system-level utility, or search out users independently and ask them to log out while you gain access to use the system. In either case, you are affecting productivity in one way or another.

License Pooling

The answer to all of these scenarios comes with the 9.2 License Pooling features and it addresses all of the previously mentioned scenarios. With pooling you can:

  • Setup exclusive access for licenses
  • Assign rights for users to one or more pool groups
  • Leave spare licenses in a global pool for others not in the pool

Let’s walk through the new features for an overview on the functionality.

Adding License Pools

License pool allocation begins within the IndySoft Registration Utility, the same application used for adding your licensed products. Open IndySoftReg.exe and you will find an interface similar to the one below.

Clicking the plus icon next to IndySoft Calibration Management, for which we have 8 concurrent licenses, we can see that we currently have no license pools created for the product. This means that up to 8 of our total users have access to the system with no pool restrictions whatsoever.

The registration utility with no license pools created

The registration utility with no license pools created

 

Clicking the Edit Pool Details button will launch the following dialog.

The license pool window with no allocated pools

The license pool window with no allocated pools

From this screen we can begin to setup the pools for users. In the top right corner you will see your Total License count and as pools are constructed, the total number of licenses allocated to pools.

Clicking new allows us to create a pool. Let’s call this pool ADMIN, set the allocated licenses to 1, set Exclusive to checked, and then click OK. This pool will allow us to setup a dedicated ADMIN level account which keeps system owners from being locked out of the system due to max concurrent usage limits.

Creating the ADMIN license pool

Creating the ADMIN license pool

We now create a set of alternate pools based on our requirements. In this example we are effectively locking down two licenses for exclusive access to department 123 then creating a non-exclusive pools for our Cal and Maintenance Techs, leaving 1 license with no assignment to any pool. We leave one license “free” which simply allows any user not in a pool to gain access to a license.

Our final list of license pools

Our final list of license pools

After completing the pool allocation we click ok and our licensing pools are shown with the associated product.

Registered licenses with license pooling in place

Registered licenses with license pooling in place

Now we exit the registration utility.

Assigning Users to Pools

Now we launch into IndySoft and click the link to enter Profile Manager so we can assign our users to our pools. Our first pool was called ADMIN and was set for exclusive access. Double clicking one of our System Admins from the users list will load the edit user interface.

A user with no licensing pools assigned

A user with no licensing pools assigned

In the lower portion of the screen we find the Registration Pools tab. Clicking the New icon will prompt us to associate this user with a license pool. For now we’ll select ADMIN, click OK, and return to the Registration Pools tab.

Adding the user to the admin pool

Adding the user to the admin pool

Now at this point we have set one system admin to be able to have a license gaining him access at any time. If we add a second user to that pool using their user Registration Pools screen what we have essentially done is created a concurrent ADMIN licensing pool of 2 users. If we want exclusive access to the pool, we should only add the one user and select the “Only Allow Login Using the Pool(s) Below” option.

Using the same method we can now select other users from Profile Manager and add them to one or more license pools. Adding a user to more than one pool, then setting the pool priority is essentially creating a cascading approach to pool assignment. For instance as a user logs in if his 1st priority pool is in the Cal Tech group but those are all in use and he also has 2nd priority access to the Maintenance group, his license will be pulled from the maintenance pool.

Adding a user to more than one pool with priorities

Adding a user to more than one pool with priorities

We continue this process, adding users to pools as required based on our needs. Based on our pool example after additionally configuring some users, the following best explains the pool operations.

 

License Pool Usage Example

License Pool Usage Example

As you can see, License pooling provides an extremely flexible way to still gain all the benefits of concurrent licensing while still offering a practical approach to locking licenses for specific business needs. Please feel free to explore this new feature and contact your sales representative if you would like additional information on IndySoft’s training programs or consultation/services related to making the most out of your IndySoft system.

 

 

Security Profile Comparison Reports

The IndySoft product line has one of the most in-depth security and profile management systems available for an asset management system. Out of the box there are over 2750 security checkpoints that can be defined per profile and that number rises as you grow the product through your custom configuration efforts. Security checkpoints can range from allowing or preventing access to various utilities in the software all the way down to defining required fields to be completed within the asset event model.

As you might imagine with such a robust security system reviews of security roles can be a daunting task. Sometimes reviewing each profile one at a time just doesn’t cut it. What you need is a way to compare all of your security settings side by side, across all profiles. That brings us to our latest post… the security profile comparison report.

Example Preview of the Security Profile Comparison Report

Example Preview of the Security Profile Comparison Report

What the Security Profile Comparison Reports allow you to do is view every setting for every profile side by side within each security group allowing for instantaneous visual confirmation of all/none or mixed deny/allow settings in your security rules. This isn’t a very advanced report but it has a lot of components so we’re providing you with a download link to the report and only an explanation of the report construction.

Keep in mind the provided example report has only been written for and tested on a SQL Server platform. Firebird and Oracle users may need to retool the SQL aliases and joins to meet their target platforms.

Because there are so many settings we have opted to split the report up into three logical reports. The base report will give us all security settings short of events and schedules, while the latter two are dedicated to schedule and event related actions. This post will focus on contents the base report. The difference between the construction of the three reports is nothing more than filtering the SQL results.

Navigating to the Data tab you’ll find the data pipeline we have constructed. This is a custom SQL query which cannot be generated with the built-in query tools provided in PrintBuilder. The code is below:

SELECT
A2.DESCRIPTION AS 'GROUP',
A3.SECURITY_DESCRIPTION AS 'DESCRIPTION',
A.PROFILE AS 'PROFILE1',
A3.SECURITY_VALUE AS 'VALUE1',
B.PROFILE AS 'PROFILE2',
B3.SECURITY_VALUE AS 'VALUE2',
C.PROFILE AS 'PROFILE3',
C3.SECURITY_VALUE AS 'VALUE3',
D.PROFILE AS 'PROFILE4',
D3.SECURITY_VALUE AS 'VALUE4',
E.PROFILE AS 'PROFILE5',
E3.SECURITY_VALUE AS 'VALUE5',
F.PROFILE AS 'PROFILE6',
F3.SECURITY_VALUE AS 'VALUE6',
G.PROFILE AS 'PROFILE7',
G3.SECURITY_VALUE AS 'VALUE7',
H.PROFILE AS 'PROFILE8',
H3.SECURITY_VALUE AS 'VALUE8'
FROM
PROFILE A
LEFT OUTER JOIN SECCAT A2 ON A2.PROFILE = A.PROFILE
LEFT OUTER JOIN SECITEM A3 ON A3.PROFILE = A2.PROFILE AND A3.SECURITY_CATEGORY=A2.SECURITY_CATEGORY,
PROFILE B
LEFT OUTER JOIN SECCAT B2 ON B2.PROFILE = B.PROFILE
LEFT OUTER JOIN SECITEM B3 ON B3.PROFILE = B2.PROFILE AND B3.SECURITY_CATEGORY=B2.SECURITY_CATEGORY,
PROFILE C
LEFT OUTER JOIN SECCAT C2 ON C2.PROFILE = C.PROFILE
LEFT OUTER JOIN SECITEM C3 ON C3.PROFILE = C2.PROFILE AND C3.SECURITY_CATEGORY=C2.SECURITY_CATEGORY,
PROFILE D
LEFT OUTER JOIN SECCAT D2 ON D2.PROFILE = D.PROFILE
LEFT OUTER JOIN SECITEM D3 ON D3.PROFILE = D2.PROFILE AND D3.SECURITY_CATEGORY=D2.SECURITY_CATEGORY,
PROFILE E
LEFT OUTER JOIN SECCAT E2 ON E2.PROFILE = E.PROFILE
LEFT OUTER JOIN SECITEM E3 ON E3.PROFILE = E2.PROFILE AND E3.SECURITY_CATEGORY=E2.SECURITY_CATEGORY,
PROFILE F
LEFT OUTER JOIN SECCAT F2 ON F2.PROFILE = F.PROFILE
LEFT OUTER JOIN SECITEM F3 ON F3.PROFILE = F2.PROFILE AND F3.SECURITY_CATEGORY=F2.SECURITY_CATEGORY,
PROFILE G
LEFT OUTER JOIN SECCAT G2 ON G2.PROFILE = G.PROFILE
LEFT OUTER JOIN SECITEM G3 ON G3.PROFILE = G2.PROFILE AND G3.SECURITY_CATEGORY=G2.SECURITY_CATEGORY,
PROFILE H
LEFT OUTER JOIN SECCAT H2 ON H2.PROFILE = H.PROFILE
LEFT OUTER JOIN SECITEM H3 ON H3.PROFILE = H2.PROFILE AND H3.SECURITY_CATEGORY=H2.SECURITY_CATEGORY
WHERE
A.PROFILE = 'SYSTEM ADMINISTRATOR' AND
B.PROFILE = 'Power User' AND
C.PROFILE = 'Standard User' AND
D.PROFILE = 'Reports Only' AND
E.PROFILE = 'AddYourProfile' AND
F.PROFILE = 'AddYourProfile' AND
G.PROFILE = 'AddYourProfile' AND
H.PROFILE = 'AddYourProfile' AND
B2.SECURITY_CATEGORY = A2.SECURITY_CATEGORY AND
B3.SECURITY_ITEM = A3.SECURITY_ITEM AND
C2.SECURITY_CATEGORY = A2.SECURITY_CATEGORY AND
C3.SECURITY_ITEM = A3.SECURITY_ITEM AND
D2.SECURITY_CATEGORY = A2.SECURITY_CATEGORY AND
D3.SECURITY_ITEM = A3.SECURITY_ITEM AND
E2.SECURITY_CATEGORY = A2.SECURITY_CATEGORY AND
E3.SECURITY_ITEM = A3.SECURITY_ITEM AND
F2.SECURITY_CATEGORY = A2.SECURITY_CATEGORY AND
F3.SECURITY_ITEM = A3.SECURITY_ITEM AND
G2.SECURITY_CATEGORY = A2.SECURITY_CATEGORY AND
G3.SECURITY_ITEM = A3.SECURITY_ITEM AND
H2.SECURITY_CATEGORY = A2.SECURITY_CATEGORY AND
H3.SECURITY_ITEM = A3.SECURITY_ITEM AND
A2.DESCRIPTION NOT LIKE 'Event Settings%' AND
A2.DESCRIPTION NOT LIKE 'Schedule Settings%'
ORDER BY
A2.SECURITY_CATEGORY, A3.SECURITY_ITEM;

Each profile (this example report has placeholders 8) is setup as an alias and retrieves all the settings per profile in order of category and security item. Additional items in the WHERE clause rule out any settings related to events or schedules. The latter part of the WHERE clause is the only deviation between the three individual reports. Removing those last two WHERE clause items in the base report will create one master report for all security settings.

The Report Header with Legend

The Report Header with Legend

The main report window in the design view shows a legend for how to interpret the resulting data in the report. All green on a row means every profile has that option enabled. All grey means every profile has that option disabled. A mix of red and green reflects enabled/disabled options across the profiles.

Subreport Layout with Header

Subreport Layout with Header

The subreport for the PROFILE pipeline shows a series of rotated labels for each profile in the report along with a security item legend/indicator and a series of colored squares.

Stacked Squares Used to Visualize Settings

Stacked Squares Used to Visualize Settings

The colored squares are actually stacked on top of each other and shown/hidden based on the data provided. We could have gotten fancy with a simpler design setting the colors dynamically but this method works just as easily for this simple report. The code to show or hide the colored squares along with altering the icon to reflect the type of security item you are viewing is located in the detailbeforeprint event for the Profile detail band and is shown below:

procedure detailbeforeprint;
begin
 
p1checked.visible := false;
p1unchecked.visible := false;
p1unmatched.visible := false;
p2checked.visible := false;
p2unchecked.visible := false;
p2unmatched.visible := false;
p3checked.visible := false;
p3unchecked.visible := false;
p3unmatched.visible := false;
p4checked.visible := false;
p4unchecked.visible := false;
p4unmatched.visible := false;
p5checked.visible := false;
p5unchecked.visible := false;
p5unmatched.visible := false;
p6checked.visible := false;
p6unchecked.visible := false;
p6unmatched.visible := false;
p7checked.visible := false;
p7unchecked.visible := false;
p7unmatched.visible := false;
p8checked.visible := false;
p8unchecked.visible := false;
p8unmatched.visible := false;
icoAllow.visible := false;
icoBlock.visible := false;
icoUnknown.visible := false;
icoRequire.visible := false;
 
if (Copy(PROFILE['DESCRIPTION'],1,5) = 'Allow') then
begin
  icoAllow.visible := true;
end
else if (Copy(PROFILE['DESCRIPTION'],1,5) = 'Block') then
begin
  icoBlock.visible := true;
end
else if (Pos('Require',PROFILE['DESCRIPTION']) <> 0) then
begin
  icoRequire.visible := true;
end
else
begin
  icoUnknown.visible := true;
end;
 
if ((PROFILE['VALUE1'] = 1) AND
(PROFILE['VALUE2'] = 1) AND
(PROFILE['VALUE3'] = 1) AND
(PROFILE['VALUE4'] = 1) AND
(PROFILE['VALUE5'] = 1) AND
(PROFILE['VALUE6'] = 1) AND
(PROFILE['VALUE7'] = 1) AND
(PROFILE['VALUE8'] = 1)
) then
begin
  p1checked.visible := true;
  p2checked.visible := true;
  p3checked.visible := true;
  p4checked.visible := true;
  p5checked.visible := true;
  p6checked.visible := true;
  p7checked.visible := true;
  p8checked.visible := true;
end
else if ((PROFILE['VALUE1'] = 0) AND
(PROFILE['VALUE2'] = 0) AND
(PROFILE['VALUE3'] = 0) AND
(PROFILE['VALUE4'] = 0) AND
(PROFILE['VALUE5'] = 0) AND
(PROFILE['VALUE6'] = 0) AND
(PROFILE['VALUE7'] = 0) AND
(PROFILE['VALUE8'] = 0)
) then
begin
  p1unchecked.visible := true;
  p2unchecked.visible := true;
  p3unchecked.visible := true;
  p4unchecked.visible := true;
  p5unchecked.visible := true;
  p6unchecked.visible := true;
  p7unchecked.visible := true;
  p8unchecked.visible := true;
end
else
begin
if (PROFILE['VALUE1'] = 0) then p1unmatched.visible := true else p1checked.visible := true;
if (PROFILE['VALUE2'] = 0) then p2unmatched.visible := true else p2checked.visible := true;
if (PROFILE['VALUE3'] = 0) then p3unmatched.visible := true else p3checked.visible := true;
if (PROFILE['VALUE4'] = 0) then p4unmatched.visible := true else p4checked.visible := true;
if (PROFILE['VALUE5'] = 0) then p5unmatched.visible := true else p5checked.visible := true;
if (PROFILE['VALUE6'] = 0) then p6unmatched.visible := true else p6checked.visible := true;
if (PROFILE['VALUE7'] = 0) then p7unmatched.visible := true else p7checked.visible := true;
if (PROFILE['VALUE8'] = 0) then p8unmatched.visible := true else p8checked.visible := true;
 
end;
end;

This report is setup with 8 default security profiles. You may have more or less. To modify the report to suit your needs you will need to:

  1. add your profile names in the SQL, adding or removing related aliases and joins depending on your profile count
  2. modify the rotated labels to reflect the profile names you use in order of your aliases in the SQL
  3. add or remove additional squares in the report results and modify the code accordingly

Clicking the preview tab results in a very easy to read and understand report which can be used in verification/validation efforts of your IndySoft profiles.

Downloads

The following link provides access to the IndySoft version 9.1.12 custom reports for SQL Server. Unzip and import into your Printbuilder custom reports group to modify as required.

IndySoft-9.1.12-SecurityProfileComparisonReportsSQL

 

End Of Month (EOM) and Alternate Due Date Calculations

We often are asked by our users “Can our software support End of the Month scheduling for only certain companies within the database?” The answer is yes and it can be easily be set up in a just a few clicks.

Accomplishing this task only takes a few modifications to the configuration of your calibration event (or other events that update your schedules) along with setting up a systemwide company custom checkbox. You will be modifying this within the event configuration system because completion of an event is what drives a schedule update.

The Company Setup

The first thing we will do is a setup a field at the company level so we can identify who should get End of the Month Scheduling and who should not. To accomplish this, open up Systemwide Preferences and proceed to the User Defined Labels tab. You will actually see a handful of fields that can be customized in any number of ways. We generally suggest you use a Company User Defined Status Box for this scenario. Once you are on the Company User Defined Labels tab, find an unused custom status box and give it a label. In our example we have simply called it EOM Scheduling.

SystemWide Preferences and the Checkbox Labels

SystemWide Preferences and the Checkbox Labels

Now that you have set up the checkbox at the company level check the box for the companies in your database that require End of the Month Scheduling. This is done by going to Add/Edit Companies, selecting a company, and then proceeding to the Custom Info tab. From there you will see your new EOM Scheduling checkbox. Go ahead and check that box for any customers who desire this type of scheduling.

Setting the EOM Checkbox

Setting the EOM Checkbox

Modifying Your Calibration Event

Next, we need to modify your Calibration event. So for part 2 of setting this up you will need to open up Workflow Configuration and proceed to Step 7 (schedule updates) in your Calibration event. Once you have that open you should see an existing rule for updating your calibration schedules upon completion of the calibration event. Leave that one as-is for the moment as we are now going to create an additional calibration schedule update rule. Click the new icon on Step 7. That will bring up a new window where you can create an additional schedule update rule.

Creating a New Schedule Update Rule

Creating a New Schedule Update Rule

From here, go ahead and select the Calibration schedule type in the dropdown list. Then uncheck the ‘Use System-Wide Due Date Options’ checkbox. Once you uncheck that, go ahead and select ‘ok’ at the bottom.

Creating The Calibration Schedule Update Rule

Creating The Calibration Schedule Update Rule

Now that you have done that, immediately open up your newly created schedule update rule by double-clicking it. This time it will allow you to click on the calendar right beside the Use System-Wide Due Date Options checkbox. That will bring up a new window and in the dropdown field called ‘Date Adjustment.’

Selecting the Event Schedule Option

Selecting the Event Schedule Option

Go ahead and select End of Month and click ok.

Selecting the End of Month Option

Selecting the End of Month Option

You only have one more thing to do which is tell the software when to apply this new rule. That is where the right side of the schedule update comes in handy. On the right side of all schedule update rules we allow you to create an Equipment Filter to identify when this particular rule should be applied. So in the equipment rule section, select to add a condition and look for your new Company custom field. In our example case, it is called Company (Eom Scheduling) and we configure the rule to require that field is checked.

Setting the Schedule Update Filter Rule

Setting the Schedule Update Filter Rule

Now click OK to close the new schedule update rule. Using the same knowledge you just gained about editing schedule rules, open the original update rule that was found in your calibration event and simply set the equipment rule to Company (EOM Scheduling) is Unchecked then click OK. Performing this step ensures the first rule is ignored if EOM is unchecked while the second rule will pick up the EOM checkbox for companies preferring EOM scheduling.

That’s it. The only thing remaining is going to be a save the event then refresh your new event settings (right click in the IndySoft header area and choose reload all settings). And of course going back and selecting any additional companies that want EOM Scheduling. Once you start performing calibrations for equipment that belongs to companies where the systemwide checkbox is checked the due dates will automatically be adjusted to the last day of the calendar month. Since schedule update rules are filter based and rely upon company, equipment, or schedule data, you can easily expand upon the rules to apply EOM scheduling to companies, locations, types of assets, and much more.

Conclusion

Hopefully this explained some of the flexible configuration options of how your events can manipulate your schedules in a number of different ways when the rules are used in combination with a targeted equipment filter.

There are also several other rules within the Workflow Configuration wizard that can be combined with Equipment Filters to execute other functionality like conditional based updates, reminder messages for certain types of equipment or customers and much more. Please feel free to explore and contact your sales representative if you would like additional information on IndySoft’s training programs that can help optimize your efficiency and reduce errors.

 

Facebook Twitter LinkedIn

IndySoft Corporation Address :: 212 Adley Way Greenville, SC 29607
email sales@indysoft.com :: phone (864) 627-8858 option 1 or ask to speak to sales

copyright © 2013 IndySoft Corporation
privacy policy / terms of use