This commit is contained in:
2022-02-08 20:38:41 +00:00
parent 63ec2fd66f
commit 31f7423ee9
22 changed files with 222 additions and 150 deletions

View File

@@ -55,7 +55,7 @@ This is the date that the current support and updates agreement will expire. Aft
This section shows the options selected for the current license include service technician user count and other options such as accounting integration.
##### Service technician / Scheduleable users and licensing
##### Service technician Scheduleable users and licensing
In order to provide fair pricing that scales with the size of a company AyaNova is licensed by service technician (scheduleable user) count.

View File

@@ -4,63 +4,61 @@ We would like to gratefully acknowledge the following open source tools and libr
### DEVTOOLS
* [7-Zip](https://www.7-zip.org/)
* [.NET Core Test Explorer](https://github.com/formulahendry/vscode-dotnet-test-explorer)
* [Babel](https://github.com/babel/babel)
* [Cypress](https://www.cypress.io/)
* [DB Browser for SQLite](https://github.com/sqlitebrowser/sqlitebrowser)
* [ESLint](https://eslint.org/)
* [MkDocs](https://github.com/mkdocs/mkdocs/)
* [Node.js](https://nodejs.org/en/)
* [Paint.net](https://www.getpaint.net/index.html)
* [pgAdmin](https://www.pgadmin.org/)
* [Prettier](https://prettier.io/)
* [PuTTY](https://putty.org/)
* [TortoiseSVN](https://tortoisesvn.net/)
* [Ubuntu Server](https://ubuntu.com/server)
* [Vetur](https://github.com/vuejs/vetur)
* [Visual Studio Code](https://code.visualstudio.com/)
- [7-Zip](https://www.7-zip.org/)
- [.NET Core Test Explorer](https://github.com/formulahendry/vscode-dotnet-test-explorer)
- [Babel](https://github.com/babel/babel)
- [Cypress](https://www.cypress.io/)
- [DB Browser for SQLite](https://github.com/sqlitebrowser/sqlitebrowser)
- [ESLint](https://eslint.org/)
- [MkDocs](https://github.com/mkdocs/mkdocs/)
- [Node.js](https://nodejs.org/en/)
- [Paint.net](https://www.getpaint.net/index.html)
- [pgAdmin](https://www.pgadmin.org/)
- [Prettier](https://prettier.io/)
- [PuTTY](https://putty.org/)
- [TortoiseSVN](https://tortoisesvn.net/)
- [Ubuntu Server](https://ubuntu.com/server)
- [Vetur](https://github.com/vuejs/vetur)
- [Visual Studio Code](https://code.visualstudio.com/)
### BACK END
* [.NET Core](https://dotnet.microsoft.com/)
* [Bogus](https://github.com/bchavez/Bogus)
* [Bouncy Castle](https://github.com/chrishaly/bc-csharp)
* [Chromium](https://www.chromium.org/Home)
* [Enums.NET](https://github.com/TylerBrinkley/Enums.NET)
* [jose-jwt](https://github.com/dvsekhvalnov/jose-jwt)
* [Json.NET](https://www.newtonsoft.com/json)
* [MailKit](https://github.com/jstedfast/MailKit)
* [MiniProfiler](https://github.com/MiniProfiler/dotnet)
* [NLog](https://github.com/nlog/NLog/)
* [Npgsql](https://www.npgsql.org/)
* [PostgreSQL](https://www.postgresql.org/)
* [Puppeteer Sharp](https://github.com/hardkoded/puppeteer-sharp)
* [Swashbuckle](https://github.com/domaindrivendev/Swashbuckle.AspNetCore)
- [.NET Core](https://dotnet.microsoft.com/)
- [Bogus](https://github.com/bchavez/Bogus)
- [Bouncy Castle](https://github.com/chrishaly/bc-csharp)
- [Chromium](https://www.chromium.org/Home)
- [Enums.NET](https://github.com/TylerBrinkley/Enums.NET)
- [jose-jwt](https://github.com/dvsekhvalnov/jose-jwt)
- [Json.NET](https://www.newtonsoft.com/json)
- [MailKit](https://github.com/jstedfast/MailKit)
- [MiniProfiler](https://github.com/MiniProfiler/dotnet)
- [NLog](https://github.com/nlog/NLog/)
- [Npgsql](https://www.npgsql.org/)
- [PostgreSQL](https://www.postgresql.org/)
- [Puppeteer Sharp](https://github.com/hardkoded/puppeteer-sharp)
- [Swashbuckle](https://github.com/domaindrivendev/Swashbuckle.AspNetCore)
## FRONT END
* [Chart.js](https://www.chartjs.org/)
* [DOMPurify](https://github.com/cure53/DOMPurify)
* [Font Awesome](https://fontawesome.com/)
* [FortAwesome/Font-Awesome](https://github.com/FortAwesome/Font-Awesome)
* [github-markdown-css](https://github.com/sindresorhus/github-markdown-css)
* [jwt-decode](https://github.com/auth0/jwt-decode)
* [Luxon](https://github.com/moment/luxon)
* [Marked](https://github.com/markedjs/marked)
* [Monaco Editor](https://github.com/Microsoft/monaco-editor)
* [NProgress](https://github.com/rstacruz/nprogress)
* [register-service-worker](https://github.com/yyx990803/register-service-worker#readme)
* [example logo](https://pixabay.com/users/openclipart-vectors-30363/)
* [typeface-roboto](https://github.com/KyleAMathews/typefaces/tree/master/packages/roboto)
* [Vue](https://github.com/vuejs/vue)
* [Vue CLI Service](https://github.com/vuejs/vue-cli)
* [vue-chartjs](https://github.com/apertureless/vue-chartjs)
* [Vue Currency Input](https://github.com/dm4t2/vue-currency-input)
* [vue-router](https://github.com/vuejs/vue-router)
* [Vuetify](https://vuetifyjs.com/en/)
* [Vuex](https://github.com/vuejs/vuex)
* [vuex-persistedstate](https://github.com/robinvdvleuten/vuex-persistedstate)
* [webpack](https://webpack.js.org/)
- [Chart.js](https://www.chartjs.org/)
- [DOMPurify](https://github.com/cure53/DOMPurify)
- [Font Awesome](https://fontawesome.com/)
- [FortAwesome/Font-Awesome](https://github.com/FortAwesome/Font-Awesome)
- [github-markdown-css](https://github.com/sindresorhus/github-markdown-css)
- [jwt-decode](https://github.com/auth0/jwt-decode)
- [Luxon](https://github.com/moment/luxon)
- [Marked](https://github.com/markedjs/marked)
- [Monaco Editor](https://github.com/Microsoft/monaco-editor)
- [NProgress](https://github.com/rstacruz/nprogress)
- [register-service-worker](https://github.com/yyx990803/register-service-worker#readme)
- [example logo](https://pixabay.com/users/openclipart-vectors-30363/)
- [typeface-roboto](https://github.com/KyleAMathews/typefaces/tree/master/packages/roboto)
- [Vue](https://github.com/vuejs/vue)
- [Vue CLI Service](https://github.com/vuejs/vue-cli)
- [vue-chartjs](https://github.com/apertureless/vue-chartjs)
- [Vue Currency Input](https://github.com/dm4t2/vue-currency-input)
- [vue-router](https://github.com/vuejs/vue-router)
- [Vuetify](https://vuetifyjs.com/en/)
- [Vuex](https://github.com/vuejs/vuex)
- [vuex-persistedstate](https://github.com/robinvdvleuten/vuex-persistedstate)
- [webpack](https://webpack.js.org/)

View File

@@ -38,11 +38,11 @@ This displays whether the current [user setting](home-user-settings.md#12-hour-c
#### Effective time zone
This displays the effective current time zone setting, either the browsers default based on the local system or as overridden in [user settings](home-user-settings.md#language-code-override-time-zone-override)
This displays the effective current time zone setting, either the browsers default based on the local system or as overridden in [user settings](home-user-settings.md#language-code-and-time-zone-override)
#### Effective language code
This displays the effective language code setting, either the web browser's default based on the local operating system or as overridden in [user settings](home-user-settings.md#language-code-override-time-zone-override)
This displays the effective language code setting, either the web browser's default based on the local operating system or as overridden in [user settings](home-user-settings.md#language-code-and-time-zone-override)
#### Currency code

View File

@@ -88,7 +88,7 @@ They are also permitted to view read-only `Vendors` and `Accounting` navigation
They can not view any prices or costs or see any other details of a work order where they are not involved.
See the [Low permission users](svc-workorders.md#low-permission-users) section of the work order documentation for details.
See the [Limited access role rights](svc-workorders.md#limited-access-role-rights) section of the work order documentation for details.
Aside from their `Home` navigation pane items, there are no other areas of AyaNova available to restricted technicians.
@@ -100,7 +100,7 @@ This role allows a User to perform service with the lowest possible access to an
They can not view any prices or costs or see any other details of a work order where they are not involved.
See the [Low permission users](svc-workorders.md#low-permission-users) section of the work order documentation for details.
See the [Limited access role rights](svc-workorders.md#limited-access-role-rights) section of the work order documentation for details.
`Subcontractor - restricted` read-only rights to the above Subcontractor role items.

View File

@@ -35,7 +35,7 @@ Other Users who logged in before the form customization changes were made and sa
(Note that Quotes and Preventive Maintenance form customizations display their sub sections as "WorkOrderItem*" rather than "QuoteItem*" or "PMItem*" as there are no separate translation keys for those objects, however, customizations made in those forms will correctly apply to PM's and Quotes.)
### Hiding / showing fields
### Hiding fields
To hide a field uncheck it's "Visible" checkbox and checkmark it to show on the form.

View File

@@ -4,7 +4,7 @@ The attachments feature of AyaNova allows users to store and retreive files link
Note that attachements can only be added to **saved** objects, so a new object won't show the attachments control until it has been saved.
This feature can be [turned off](ay-customize.md#hiding-showing-fields) in each form so if you do not see an attachments control it may be disabled by the AyaNova administrator.
This feature can be [turned off](ay-customize.md#hiding-fields) in each form so if you do not see an attachments control it may be disabled by the AyaNova administrator.
## Authorization Roles required

View File

@@ -165,7 +165,7 @@ Once your filter selection is made click on the `+` add button to make it offici
To remove a filter from a column or edit it click on the column filter icon again and either remove or adjust the items in the filter or select delete to remove them entirely.
Once you have your filters selected how you like them you can save all the filters applied to the current list by using the [saved filter](#saved-filter) feature to save them for re-use.
Once you have your filters selected how you like them you can save all the filters applied to the current list by using the [saved filter](#saved-filters) feature to save them for re-use.
##### Case sensitivity

View File

@@ -60,7 +60,7 @@ The center part of the navigation bar shows an icon and information pertaining t
The right side shows a bell icon which indicates if any unviewed notifications have arrived and is also a shortcut to open the user's [notifications](home-notifications.md) form to view notifications.
Finally, to the far right is the [context menu](#context-menu) which appears as three dots stacked on top of each other. On wider screen devices some commonly used context menu items will be "surfaced" between the notifcation bell icon and the context menu icon to save a click.
Finally, to the far right is the [context menu](#form-context-menu) which appears as three dots stacked on top of each other. On wider screen devices some commonly used context menu items will be "surfaced" between the notifcation bell icon and the context menu icon to save a click.
### Navigation drawer
@@ -68,7 +68,7 @@ The navigation drawer shows all the areas of AyaNova the currently logged in use
The navigation drawer can be displayed or hidden by clicking on the "hamburger" icon in the app bar.
### View area forms
### Main view area
The main View area is where the currently selected form is displayed and worked with.

View File

@@ -16,7 +16,7 @@ Because you can use multiple tags on each object and multiple different object t
For example both a Customer and a Service technician could share the same tag "zone1" and you could then limit reporting to only items tagged "zone1" if that makes sense for your business.
You might use a tag to indicate the steps in a process that an object goes through, for example a Quote for a customer may require several staff members to put it together so the service manager may put all the tags of each department that must work in turn with that quote and as each one completes their part they remove their tag until it's completed.
You might use a tag to indicate the steps in a process that an object goes through, for example a Quote for a customer may require several staff members to put it together so the service manager may put all the tags of each department that must work in turn with that quote and as each one completes their part they remove their tag until it's completed.
Each department can view a list filtered by their particular tag so they can see what needs to be done.

View File

@@ -2,18 +2,18 @@
## OVERVIEW
## Markdown and Wiki documents
Wiki's are formatted using **[Markdown](https://en.wikipedia.org/wiki/Markdown)** a plain text formatting language.
## Markdown and Wiki documents
Wiki's are formatted using **[Markdown](https://en.wikipedia.org/wiki/Markdown)** a plain text formatting language.
Below is a quick reference guide to AyaNova Markdown showing the source document with most features available and how it will render.
A more detailed Markdown guide is available here: [www.markdownguide.org](https://www.markdownguide.org/)
A more detailed Markdown guide is available here: [www.markdownguide.org](https://www.markdownguide.org/)
## Example markdown code:
## Example markdown code:
# Headings
# Heading 1st level
# Heading 1st level
## Heading 2nd level
### Heading 3rd level
#### Heading 4th level
@@ -49,7 +49,7 @@ A more detailed Markdown guide is available here: [www.markdownguide.org](https
### Auto number ordered list
Ordered lists don't need the numbers to be in order, just that they start with 1:
1. Item
1. Item
1. another item
1. more item
@@ -116,113 +116,129 @@ A more detailed Markdown guide is available here: [www.markdownguide.org](https
# 😀⚽🏒🍕🚗☀❤😎
<br>
***
<br>
<br>
## Example markdown rendered:
<br>
## Markdown and Wiki documents
## Markdown and Wiki documents
Wiki's are formatted using **[Markdown](https://en.wikipedia.org/wiki/Markdown)** a plain text formatting language.
This document is a quick reference guide and at the bottom is a link to a more comprehensive guide online.
You can also use the formatting toolbar above to perform the same tasks.
# Headings
# Heading 1st level
# Heading 1st level
## Heading 2nd level
### Heading 3rd level
#### Heading 4th level
##### Heading 5th level
###### Heading 6th level
***
---
# Emphasis text styles
*Italic*
_Italic_
**Bold**
~~Strike-through~~
***Bold And Italic***
**_Bold And Italic_**
# Quote blocks
> ""Morbi eget dapibus felis. Vivamus venenatis porttitor tortor sit amet rutrum.
Pellentesque aliquet quam enim, eu volutpat urna rutrum a. Nam vehicula nunc
>
> mauris, a ultricies libero efficitur sed. *Class aptent* taciti sociosqu ad
> mauris, a ultricies libero efficitur sed. _Class aptent_ taciti sociosqu ad
litora torquent per conubia nostra, per inceptos himenaeos. Sed molestie
imperdiet consectetur.""
# Lists
### Unordered list
* List
* List
* List
- List
- List
- List
### Ordered list
1. One
2. Two
3. Three
### Auto number ordered list
Ordered lists don't need the numbers to be in order, just that they start with 1:
1. Item
1. Item
1. another item
1. more item
1. more item
### Nested lists
* First
* subitem One
* subitem Two
* Second
1. sub one
2. sub two
- First
- subitem One
- subitem Two
- Second
1. sub one
2. sub two
# Blank lines
You can force extra blank lines by entering `<br>` here are two blank ...
You can force extra blank lines by entering `<br>` here are two blank ...
<br>
<br>
...lines.
# Horizontal rules
***
---
# Blocks
`Inline block` with backticks
`Inline block` with backticks
```
Multi-line block
print '3 backticks or'
print 'indent 4 spaces'
```
```
# Task lists
- [ ] task one
- [x] task two (completed)
# TABLES
| First | Last | Year |
| -------- | -------- | -------- |
| John | Doe | 2000 |
| Mary | Smith | 2001 |
| T. | Persson | 2010 |
| First | Last | Year |
| ----- | ------- | ---- |
| John | Doe | 2000 |
| Mary | Smith | 2001 |
| T. | Persson | 2010 |
# Hyperlinks
Inline text link and and optional tooltip:
Link to [our website](https://ayanova.com ""Hover text tooltip"") example
If you don't need an inline link you can simply enter it in angle brackets:
<https://ayanova.com>
<https://ayanova.com>
Even email links work:
<support@ayanova.com>
<br>
@@ -230,13 +246,16 @@ You can also use emphasis characters with links:
Link to **[our website](https://ayanova.com)** example
# Image
This is how you insert an image into a wiki
![Image](https://www.ayanova.com/images/AyaNovaIcon256.png)
![Image](https://www.ayanova.com/images/AyaNovaIcon256.png)
# Emojis
As with all areas of AyaNova where you can enter text, you can also use emoji characters:
# 😀⚽🏒🍕🚗☀❤😎
<br>
***
---

View File

@@ -26,7 +26,7 @@ Read only access
Customer contacts are accessed in the following ways:
- Contacts for a single Customer are listed in the [Contacts tab](customers.md#Contacts-tab) of the Customer edit form
- Contacts for a single Customer are listed in the [Contacts tab](customers.md#contacts-tab) of the Customer edit form
- All Customer Contacts are listed in the `Customers` navigation pane `Customer contacts` [data table](ay-start-form-data-tables.md) form
### Adding new Contacts
@@ -84,4 +84,4 @@ Contact users will not see or have access to these features, they are provided f
### User settings tab
This section is a duplicate of the [User settings](home-user-settings.md) form available to all logged in users. This tab is provided for and Administrator to edit or set up Contact users in advance.
This section is a duplicate of the [User settings](home-user-settings.md) form available to all logged in users. This tab is provided for and Administrator to edit or set up Contact users in advance.

View File

@@ -5,7 +5,7 @@ The Head offices [form](ay-start-form-overview.md) is used to edit Head office r
A Head office is an optional AyaNova business object used for grouping [Customers](customers.md) together under a single entity and has several uses:
- Billing; when the bill should go to the Head office for work performed for that Customer
- [Customer access](adm-global-settings.md#head office-access-settings) self-service features. A Head office [Contact](cust-contacts.md) can use all the Customer access features for all Head offices who have their Head office selected depending on the permissions granted.
- [Customer access](adm-global-settings.md#customer-access-settings) self-service features. A Head office [Contact](cust-contacts.md) can use all the Customer access features for all Head offices who have their Head office selected depending on the permissions granted.
- Grouping purposes for management reporting in AyaNova
## Authorization Roles required

View File

@@ -136,25 +136,25 @@ There are no settings adjustable for in app General notifications however it is
| Object deleted | Deletion of core business object of selected type and tags |
| Object created | Creation of core business object of selected type and tags |
| Object modified | Any changes and saving of core business object of selected type and tags |
| Work order status change | Any _change_ of Workorder Status including from no status (new) to a _specific_ selected status ID value |
| Work order status change | Any _change_ of Workorder Status including from no status (new) to a _specific_ selected status ID value |
| Contract expiring | Customer service contract expiration |
| CSR accepted | Customer service request accepted. (intended for Customer users) |
| CSR rejected | Customer service request rejected. (intended for Customer users) |
| Quote status change | Any _change_ of Quote Status including from no status (new) to a _specific_ selected status ID value |
| Object age | Any object, Age (conditional on AgeValue) after creation event of any object of selected specific type and optionally selected tags |
| Reminder imminent | A Reminder is about to reach it's specified start date/time
| Review imminent | A Review is about to reach it's specified review date/time |
| Reminder imminent | A Reminder is about to reach it's specified start date/time |
| Review imminent | A Review is about to reach it's specified review date/time |
| Scheduled on work order | User is scheduled on (added to) a Work order |
| Scheduled on work order imminent | Scheduled date and time reached for workorder which User is scheduled |
| Work order completed status overdue | Workorder not set to a "Completed" type Status before the selected duration from created date |
| Work order completed | Service work order is set to any status that is flagged as a "Completed" type of status. (Customer / HeadOffice or staff User notification) |
| Work order completed status overdue | Workorder not set to a "Completed" type Status before the selected duration from created date |
| Work order completed | Service work order is set to any status that is flagged as a "Completed" type of status. (Customer / HeadOffice or staff User notification) |
| Outside service overdue | An item sent for 3rd party service is overdue from projected repair time frame |
| Outside service received | An item sent for 3rd party service has been received back |
| Part request received | An out of stock part requested via a Workorder has been received |
| Notify health check | Automatic daily "ping" notification to confirm notification and Generator system is active at server |
| Backup status | Result of last Backup operation at server |
| Customer service reminder | Scheduled service date / time is about to be reached. (Customer or HeadOffice type users only) |
| Work order total exceeds threshold | The balance of a Work order has exceeded a threshold and is set to completed status (the "Andy") |
| Work order total exceeds threshold | The balance of a Work order has exceeded a threshold and is set to completed status (the "Andy") |
| Workorder status age | A Workorder has been sitting at the selected status for longer than the selected time frame |
| Unit warranty expiry | A Unit's warranty expiration date is reached |
| Unit meter reading multiple exceeded | A meter reading has a difference from the last reading by the selected amount (negative OR positive to cover count _down_ meters or rollover / reset meters, can tag filter by Unit tag) |
@@ -162,4 +162,4 @@ There are no settings adjustable for in app General notifications however it is
| Server operations problem | Any timely and serious issue related to internal AyaNova Server operations requiring attention |
| Quote status age | A Quote has been sitting at the selected status for longer than the selected time frame |
| Copy of customer notification | Copy of any notification sent to Customer for AyaNova User. Filterable by Customer Tag |
| Work order created for customer | Customer notification sent when a service type work order is created for them (or if HeadOffice Contact user, one of their Customers) |
| Work order created for customer | Customer notification sent when a service type work order is created for them (or if HeadOffice Contact user, one of their Customers) |

View File

@@ -69,7 +69,7 @@ One example is the Schedule form when it is displaying schedules for more than o
The _default_ value is black / transparent.
## Language code override / Time Zone override
## Language code and Time Zone override
Optional settings to override the values used by the web browser by default. These should not need to be set in most cases.
See [Localization override](ay-start-localization.md) for details.

View File

@@ -2,8 +2,6 @@
![THIS PAGE UNDER CONSTRUCTION](img/underconstruction.svg)
AyaNova 8+ automatically tracks server metrics for ongoing server maintenance, monitoring and troubleshooting.
Metrics are statistical and other information gathered automatically during server operation that can be used to assess the health of an AyaNova server.
@@ -11,9 +9,7 @@ This information is typically useful to the Operations staff who are responsible
When the AyaNova server is booted it starts gathering snapshots of statistical data during regular intervals that can be viewed to observe the current state of the server and some historical data from the point it was last rebooted.
0000000000000000000000000000000000
###### to document
todo
- link to chart control in common controls doc
- What each stat means and how it's to be interpreted

View File

@@ -2,6 +2,9 @@
![THIS PAGE UNDER CONSTRUCTION](img/underconstruction.svg)
todo
- primarily for tech support diagnosis in case of slowness
- only keeps last half hour of stats
- how to use: trigger slow operation, then go to this page right away and walk through looking for slowness take screenshot to provide tech support or give tech support a ops restricted login so they can view it themselves

View File

@@ -3,7 +3,7 @@
![THIS PAGE UNDER CONSTRUCTION](img/underconstruction.svg)
## Shadow units
### Shadow units
If you need to track service on Loan items, a loan item can have a "Shadow Unit" attributed to it. Any Unit can be a shadow unit of a loan item.
The recommended course of action is to create a Customer specfically for all Shadow Units i.e. "Shadow_unit_customer". Then create a standard Unit that belongs to this customer for each Loan Item for which you want to track service. If a Loan item requires internal service it can be placed on a standard work order with the "Shadow_unit_customer" selected as the Customer.

View File

@@ -4,11 +4,11 @@ A Preventive Maintenance or "PM" order is a "template" work order used to automa
This is used to implement a preventive maintenance program.
A 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.
A PM is mostly identical to a [Service Work order](svc-workorders.md) 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.
We won't document the identical features here, only the features that are different on a PM from a service work order.
See the [Work order](svc-workorders.md) documentation page for all other fields and details.
See the [Work order](svc-workorders.md) documentation page for all other features and details.
## Authorization Roles required
@@ -54,7 +54,7 @@ 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.
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 moved forward:
@@ -81,7 +81,7 @@ Once the new Work order is successfully generated the source PM is updated so th
#### New service date calculated
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.
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.
@@ -97,7 +97,7 @@ If the stop generating date will not be reached then the server continues to mod
#### PM dates moved forward
The server calculates the exact time span between the current Service date just used to create a work order and the [new service date](#new-service-date) that was just calculated. This time span is then used to adjust all the PM's [date fields](#date-fields) forward so they all fall on the same relative day and time from each other.
The server calculates the exact time span between the current Service date just used to create a work order and the [new service date](#new-service-date-calculated) that was just calculated. This time span is then used to adjust all the PM's [date fields](#date-fields) forward so they all fall on the same relative day and time from each other.
At this point the PM is saved with it's new settings for the next time and generation for the PM is completed.
@@ -125,7 +125,7 @@ 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.
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.
@@ -147,36 +147,34 @@ This notification will be sent once only every 90 days per subscription as it re
This is a Tag filterable notification so the notification subscription can have tags set so that only PM's with matching tags are checked for insufficient inventory.
## PM edit form unique fields
The PM edit form provides all the [standard edit form](ay-start-edit-forms.md) functionality and the following fields that are not found on a [service work order](svc-workorders.md)
#### Repeat interval
This field is used to set the length of time between service work orders being generated from the PM by selecting a time period and quantity.
This value *must* be larger than the Generate before field value to pass validation when saved.
This value _must_ be larger than the Generate before field value to pass validation when saved.
So, for example, if you wish to service a customer once per year then the Repeat interval should be set to 1 year.
#### Generate beforehand
This field is used to set how far in advance of the Service date the service work order should be created. This value *must* be smaller than the duration set for Repeat interval or the server will not allow the record to be saved.
This field is used to set how far in advance of the Service date the service work order should be created. This value _must_ be smaller than the duration set for Repeat interval or the server will not allow the record to be saved.
This should be set taking into consideration how much advance notice is required to ensure sufficient inventory and scheduling before service needs to be performed. There is no harm in setting this earlier than you expect to need, it will appear in the schedule for the appropriate time and gives staff time to be ready for service.
This should be set taking into consideration how much advance notice is required to ensure sufficient inventory and scheduling before service needs to be performed. There is no harm in setting this earlier than you expect to need, it will appear in the schedule for the appropriate time and gives staff time to be ready for service.
#### Exclude days of week
Here you can control which day of the week you **don't** want the next service date to fall when it is calculated. AyaNova will automatically advance the next service date it calculates one day at a time until it hits on a day that is *not* excluded. Selecting all days of the week is not valid here or nothing would be generated. Typically this is used to exclude weekends.
Here you can control which day of the week you **don't** want the next service date to fall when it is calculated. AyaNova will automatically advance the next service date it calculates one day at a time until it hits on a day that is _not_ excluded. Selecting all days of the week is not valid here or nothing would be generated. Typically this is used to exclude weekends.
#### Next service date
When you first create a PM this is the date that will first be used to set the service work order's Service date field. Subsequently the AyaNova server will [automatically advance this date](#pm-dates-moved-forward) for you each time it generates a new service work order.
When you first create a PM this is the date that will first be used to set the service work order's Service date field. Subsequently the AyaNova server will [automatically advance this date](#pm-dates-moved-forward) for you each time it generates a new service work order.
#### Stop generating date
This optional field is used to set a limit to how long this PM will generate work orders. When it detects that a new work order would be generated beyond this date it automatically sets the PM to inactive and stops processing it.
This optional field is used to set a limit to how long this PM will generate work orders. When it detects that a new work order would be generated beyond this date it automatically sets the PM to inactive and stops processing it.
#### Copy wiki
@@ -188,4 +186,22 @@ When checked the PM will copy any PM header section attached files over to the s
#### 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.
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.
### Menu options
In addition to the [common edit form menu options](ay-start-edit-forms.md#common-edit-form-menu-options) and the same options shared with and documented on the [work order help page](svc-workorders.md#menu-options), the Preventive Maintenance edit form also has these unique options:
#### Duplicate to Work order
This menu option makes a service work order by copying the shared fields from the PM to a new service Work order. This is and "on demand" way to turn a PM into a service work order manually; outside the normal automated Preventive maintenance scheduled work order generation system. This is a direct copy of the PM fields you see, dates are not adjusted here.
#### Duplicate to Quote
This menu option makes a [Quote](svc-quotes.md) by copying the shared fields from the PM to a new Quote. Use this feature if an existing PM is nearly identical to a Quote that needs to be made to save typing or to re-quote an existing PM schedule that's nearing it's end of term.
#### Quote status list
This is a link to edit the Quote states available. See the [Quote status help page](svc-quote-status.md) for more details.

View File

@@ -44,7 +44,7 @@ When a quote status is no longer required it should be set to inactive by un-che
Quote status is useful for quoting process control.
Use of the [Who can select](#who-can-set) and [Who can remove](#who-can-remove) roles fields, the [Is a locking status](#is-a-locking-status) and [Is a completed status](#is-a-completed-status) fields in combination with the [notification system](home-notify-subscriptions.md) can help to ensure adherence to business processes of many kinds.
Use of the [Who can select](#who-can-select) and [Who can remove](#who-can-remove) roles fields, the [Is a locking status](#is-a-locking-status) and [Is a completed status](#is-a-completed-status) fields in combination with the [notification system](home-notify-subscriptions.md) can help to ensure adherence to business processes of many kinds.
Example process control scenarios:

View File

@@ -2,11 +2,11 @@
A Quote is a form of work order used to provide a quotation to a customer for potential service. The quote can be turned into a service work order if accepted by the customer.
A Quote is mostly identical to a Service Work order but has some additional fields in it's header area used during the quoting process.
A Quote is mostly identical to a [Service Work order](svc-workorders.md) but has some additional fields in it's header area used during the quoting process.
We won't document the identical fields here, only the fields that are different on a Quote.
We won't document the identical features here, only the fields that are different on a Quote.
See the [work order](svc-workorders.md) documentation page for all other fields and details.
See the [work order](svc-workorders.md) documentation page for all other features and details.
## Authorization Roles required

View File

@@ -48,7 +48,7 @@ When a work order status is no longer required it should be set to inactive by u
Work order status is a powerful feature for service process control.
Use of the [Who can select](#who-can-set) and [Who can remove](#who-can-remove) roles fields, the [Is a locking status](#is-a-locking-status) and [Is a completed status](#is-a-completed-status) fields in combination with the [notification system](home-notify-subscriptions.md) can help to ensure adherence to business processes of many kinds.
Use of the [Who can select](#who-can-select) and [Who can remove](#who-can-remove) roles fields, the [Is a locking status](#is-a-locking-status) and [Is a completed status](#is-a-completed-status) fields in combination with the [notification system](home-notify-subscriptions.md) can help to ensure adherence to business processes of many kinds.
Example process control scenarios:

View File

@@ -1447,9 +1447,49 @@ Until the work order is saved the items are not actually deleted.
### Menu options
In addition to the [common edit form menu options](ay-start-edit-forms.md#common-edit-form-menu-options) the Work order edit form also has these options:
In addition to the [common edit form menu options](ay-start-edit-forms.md#common-edit-form-menu-options), the work order edit form also has these unique options:
#### Duplicate?
#### Duplicate
This menu option makes a new local copy of the current work order ready to be modified and saved.
Some reasons to duplicate a work order are:
- as a "template", when a new work order needs to be made that is very similar to an existing one, duplicating it can save entry time by using an existing work order as a "template" to create a new one.
- splitting apart a work order that has become too large, the work order can be duplicated then items removed from the original and copy to turn one work order into two separate ones.
#### Duplicate to Quote
This menu option makes a [Quote](svc-quotes.md) by copying the shared fields from the work order to a new Quote.
#### Duplicate to Preventive Maintenance
This menu option makes a [Preventive maintenance order](svc-pms.md) by copying the shared fields from the current work order to a new PM. Use this option with a work order that is to be turned into regular recurring maintenance on a schedule.
#### Work order status list
Link to edit or create the Work order states available. See the [Work order status help page](svc-work-order-status.md) for more details.
#### Work order item status list
Link to edit or create the work order item states available. See the [Work order item status help page](svc-work-order-item-status.md) for more details.
#### Work order item priority list
Link to edit or create the work order item priorities available. See the [Work order item priority help page](svc-work-order-item-priority.md) for more details.
#### Task groups
Link to edit or create [Task groups](svc-task-groups.md) for use with the [Work order item tasks](#tasks) feature.
#### PM parent
If this work order was automatically generated or duplicated from a [Preventive Maintenance order](svc-pms.md), this option is a link to open that PM record.
#### Quote parent
If this work order was duplicated from a [Quote](svc-quotes.md), this option is a link to open that Quote record.
## Report template security flags