diff --git a/docs/8.0/ayanova/docs/svc-pms.md b/docs/8.0/ayanova/docs/svc-pms.md index 0a79d1d5..59e1a68f 100644 --- a/docs/8.0/ayanova/docs/svc-pms.md +++ b/docs/8.0/ayanova/docs/svc-pms.md @@ -1,10 +1,10 @@ # Preventive maintenance orders -A Preventive Maintenance or "PM" order is a scheduleable "template" work order used to automatically generate Service Work orders on a schedule. +A Preventive Maintenance or "PM" order is a "template" work order used to automatically generate Service Work orders on a schedule. -This is useful for implementing a preventive maintenance schedule for your Customers. +This is used to implement a preventive maintenance program. -The PM is almost identical to a Service Work order but has some additional fields in it's header area used to control the schedule of generating Service Work orders. +The PM is mostly identical to a Service Work order but has some additional fields in it's header area used to set the schedule for generating Service Work orders. We won't document the identical fields here, only the fields that are different on a PM from a service work order. @@ -41,12 +41,12 @@ AyaNova server runs a PM generation job every 5 minutes looking for Preventive M PM's will be turned into service work orders based on the following conditions: -- PM's previously calculated internal `Generate date` has been reached -- PM is set to Active -- PM's `Stop generating date` has not yet been reached +- PM's previously calculated internal generate date has been reached +- PM is set to [Active](#active) +- PM's [Stop generating date](#stop-generating-date) has not yet been reached - The [Customer](customers.md) selected on the PM is set to Active -If all those conditions are met the AyaNova server will generate a new service work order from the corresponding fields in the PM and it will appear in the [Work order table](svc-workorders.md), on the Service managers [schedule form](svc-schedule.md) and any scheduled users will see their scheduled items in their [personal schedule form](home-schedule.md). +When these conditions are met the AyaNova server will generate a new service work order from the corresponding fields in the PM and it will appear in the [Work order table](svc-workorders.md), on the Service managers [schedule form](svc-schedule.md) and any scheduled users will see their scheduled items in their [personal schedule form](home-schedule.md). ### How a work order is generated @@ -54,14 +54,14 @@ When a PM is turned into a work order the server directly copies the correspondi #### Date fields -When a work order is generated from a PM the PM is then updated to move all the relevant date fields forward for the _next_ work order generation. In this way the dates all move forward relative to the time period between work order generations ensuring that (for example) a user is scheduled to provide service in the correct current time frame regardless of how old the PM is when it was first created. +When a work order is generated from a PM the PM is then updated to move all the relevant date fields forward for the _next_ work order generation. -The following date fields are automatically adjusted when they are not empty on the PM are: +The following date fields are automatically moved forward: - Service date - Work order item Request date - Scheduled user Start and Stop dates -- Loaner item Out, Due and Returned (if entered) dates +- Loaner item Out, Due and Returned dates - Labor Start and Stop dates - Travel Start and Stop dates - Task Completion date @@ -69,11 +69,11 @@ The following date fields are automatically adjusted when they are not empty on #### Wiki -If the PM has a Wiki and the `Copy Wiki` PM field is set to true the Wiki is copied from the PM to the service work order. +If the PM has a Wiki and the [Copy Wiki](#copy-wiki) PM field is set to true the Wiki is copied from the PM to the service work order. #### Attachments -If the PM has attachments and the `Copy Attachments` PM field is set to true the Attachments are copied from the PM to the service work order. +If the PM has attachments and the [Copy Attachments](#copy-attachments) PM field is set to true the Attachments are copied from the PM to the service work order. ### How a PM is updated after a work order is generated @@ -81,17 +81,17 @@ Once the new Work order is successfully generated the source PM is updated so th #### New service date calculated -The first thing that happens is a new Service Date is calculated by taking the current Service Date that was just used and adding to it the duration specified in the `Repeat interval` field set on the PM header. This is not the final date though as the correct day needs to be found by checking the `Exclude days of week` setting in the PM header and if the new service date falls on an excluded day it adds one day to the new service date and checks against the excluded days until it hits a day that is not excluded. _This_ is now the new Service date and is set on the PM. +A new Service Date is calculated by taking the current Service Date that was just used and adding to it the duration specified in the [Repeat interval](#repeat-interval) field set on the PM header. + +It then checks the [Exclude days of week](#exclude-days-of-week) setting in the PM header and if the new service date falls on an excluded day it moves the date forward until it reaches a day of the week that is not excluded. _This_ is now the new Service date and is set on the PM. #### Generate date calculated -PM's have an internal `Generate date` field which is used to determine the time and date that a new service work order is generated. This is separate from the service date and is calculated based on the new service date minus the `Generate beforehand` setting in the PM header. This is how you control how far in advance to make a service work order before service is actually performed and you should consider how much time is required to ensure sufficient inventory, scheduling etc when making this choice. - -The generate date is calculated at this point and set in the PM internally. +PM's have an internal Generate date field which is used to determine the time and date that a new service work order is generated. This is separate from the service date and is calculated based on the new service date minus the [Generate beforehand](#generate-beforehand) setting in the PM header. The generate date is calculated at this point and set in the PM internally. #### Stop generating date checked -The server checks to see if the new Service date will fall beyond the PM headers `Stop generating date` setting. If so, the PM is automatically de-actived by setting the Active field to false and saving the PM. Generation stops at this point for this PM until it's set back to active and it's dates reconfigured or it simply remains inactive and will not be touched again by the server. +The server checks to see if the new Service date will fall beyond the PM headers [Stop generating date](#stop-generating-date) setting. If so, the PM is automatically de-actived by setting the Active field to false and saving the PM. Generation stops at this point for this PM until it's set back to active and it's dates reconfigured or it simply remains inactive and will not be touched again by the server. If the stop generating date will not be reached then the server continues to modify the PM to prepare for the next generation: @@ -103,7 +103,7 @@ At this point the PM is saved with it's new settings for the next time and gener ### Schedule conflicts handling -Normally if the Global setting [Allow schedule conflicts](adm-global-settings.md#allow-schedule-conflicts) is set to False then a work order item scheduled user record can not be saved if there is a schedule conflict. In the case of a PM automatically generating a work order however, this could prevent the entire Work order from being generated. For this reason the normal rules are suspended when generating a work order and it will save the scheduled user record even if it conflicts. +Normally if the Global setting [Allow schedule conflicts](adm-global-settings.md#allow-schedule-conflicts) is set to False then a work order item scheduled user record can not be saved if there is a schedule conflict. In the case of a PM automatically generating a work order however, this could prevent the entire Work order from being generated so schedule conflicts are allowed when a service work order is generated. ### Insufficient inventory handling @@ -111,7 +111,7 @@ AyaNova removes inventory from stock immediately upon a Work order item Part rec During the Work order generation from a PM, inventory levels are checked and if they are found to be insufficient the amount that _is_ in stock is set on the Work order item Part record created (or zero if none are in stock) and a Work order item Part Request is automatically added to the Work order that is being generated with a quantity equal to the needed balance. -For this reason, it's helpful to set the [Generate before](#generate-before) setting on the PM far enough in advance to handle ordering in parts if necessary. +For this reason, it's helpful to set the [Generate before](#generate-beforehand) setting on the PM far enough in advance to handle ordering in parts if necessary. To avoid this situation entirely, AyaNova provides an Insufficient inventory warning [notification event subscription](home-notify-subscriptions.md) which will alert the notification subscriber that at that moment in time there is insufficient inventory to fulfill an upcoming PM. @@ -125,7 +125,9 @@ This is a Tag filterable notification so the notification subscription can have #### Preventive maintenance generation failure -Notification that there was an error or issue of some kind related to generating a work order from a PM. The error message will be provided and if it's unclear what the problem is, there maybe more information available in the AyaNova server operations log. PM's with temporary issues preventing generation of a work order will try again the next time the PM generation job runs at the server which is every 5 minutes. If the same error arises it will not be sent in a notification to the User for another 12 hours in order to prevent flooding the User with identical notifications. +Notification that there was an error or issue of some kind related to generating a work order from a PM. The error message will be provided and if it's unclear what the problem is, there maybe more information available in the AyaNova server operations log. + +PM's with temporary issues preventing generation of a work order will try again the next time the PM generation job runs at the server which is every 5 minutes. If the same error arises it will not be sent in a notification to the User for another 12 hours in order to prevent flooding the User with identical notifications. This notification is not filterable by Tag, it will trigger if _any_ PM can't generate a work order. @@ -133,7 +135,7 @@ This notification is not filterable by Tag, it will trigger if _any_ PM can't ge Notification that there will be insufficient inventory to meet the requirements of the PM Parts. -When a PM's next `Generate date` is found to be within the date range set by the notification subscription's "Notify before event" duration setting, the PM will be fetched and a total required quantity calculated for each unique part / warehouse combination for that PM. Then this list will be checked against inventory and any insufficient quantities will be placed into a list of items sent with the notification. +When a PM's next Generate date is found to be within the date range set by the notification subscription's "Notify before event" duration setting, the PM will be fetched and a total required quantity calculated for each unique part / warehouse combination for that PM. Then this list will be checked against inventory and any insufficient quantities will be placed into a list of items sent with the notification. Note that this is the inventory at that moment in time and for some shops depending on part turnover it may be useful to subscribe to this notification more than once, each with varying settings for "Notify before event". Perhaps one set for double the length of time it takes to get parts on average ordered in and a second one at the deadline for ordering parts or even more depending on importance and specific needs of each shop. @@ -178,8 +180,12 @@ This optional field is used to set a limit to how long this PM will generate wor #### Copy wiki -When checked the PM will copy it's WIKI over to the service work order generated. +When checked the PM will copy all wikis (Header wiki, work order item wiki and Unit wiki) over to the service work order generated. #### Copy attachments -When checked the PM will copy any attached files over to the service work order generated. \ No newline at end of file +When checked the PM will copy any PM header section attached files over to the service work order generated. + +#### Active + +On a PM the Active field controls whether the PM will be considered for generating service work orders. Unchecking Active is a quick way to turn off a PM from generation. \ No newline at end of file