This commit is contained in:
2021-12-24 22:57:45 +00:00
parent e703b440b2
commit 71fa9e5ef5
47 changed files with 145 additions and 109 deletions

View File

@@ -0,0 +1 @@
{"Name":"Clients list","Active":true,"Notes":"","Roles":50538,"AType":8,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'CustomerList'}} List</p>\n </div>\n\n <table>\n\n <thead>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n <tr>\n <th colspan=\"1\" class=\"leftlean\">{{ayT 'Customer'}}:</th>\n <td colspan=\"5\" class=\"lrgtext\">{{Name}}</td>\n <td colspan=\"1\">&nbsp;</td>\n </tr>\n <tr>\n <th colspan=\"2\">{{ayT 'CustomerAccountNumber'}}:</th>\n <td colspan=\"1\">{{AccountNumber}}</td>\n <th colspan=\"2\">{{ayT 'LastServiceWorkOrder'}}:</th>\n {{#if LastServiceDateViz}}<td colspan=\"2\">&#35;{{LastWorkOrderViz}} on {{ayDateTime LastServiceDateViz}}</td>{{else}}<td colspan=\"2\"></td>{{/if}}\n </tr>\n <tr>\n <th colspan=\"2\">{{ayT 'CustomerPhone1'}}:</th>\n <td colspan=\"2\">{{Phone1}}</td>\n <th colspan=\"1\">{{ayT 'CustomerEmail'}}:</th>\n <td colspan=\"2\">{{EmailAddress}}</td>\n </tr>\n <tr>\n <th colspan=\"2\">{{ayT 'AddressTypePhysical'}}:</th>\n <td colspan=\"5\">{{Address}} {{City}}, {{Region}}</td>\n </tr>\n {{#if BillHeadOffice}}\n <tr>\n <th colspan=\"2\">{{ayT 'CustomerBillHeadOffice'}}:</th>\n <td colspan=\"5\">{{HeadOfficeViz}}</td>\n </tr>\n {{else}}{{/if}}\n {{#if ContractViz}}\n <tr>\n <th colspan=\"2\">{{ayT 'Contract'}}:</th>\n <td colspan=\"5\">{{ContractViz}} Expires: {{ContractExpires}}</td>\n </tr>\n {{else}}{{/if}}\n {{#if AlertNotes}}\n <tr>\n <th colspan=\"2\">{{ayT 'CustomerAlertNotes'}}:</th>\n <td colspan=\"5\">{{AlertNotes}} Expires: {{ContractExpires}}</td>\n </tr>\n {{else}}{{/if}}\n {{#if TechNotes}}\n <tr>\n <th colspan=\"2\">{{ayT 'CustomerTechNotes'}}:</th>\n <td colspan=\"5\">{{TechNotes}}</td>\n </tr>\n {{else}}{{/if}}\n\n <tr>\n <th colspan=\"6\">&nbsp;</th>\n </tr>\n\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 10pt; \r\n color: #9e9e9e;\r\n text-align: right;\r\n}\r\n\r\n.lrgtext {\r\n height: 20px;\r\n font-size: 10pt; \r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 8pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"Name\", \"CustomerList\", \"Customer\", \"CustomerAccountNumber\", \"CustomerBillHeadOffice\", \"AddressTypePhysical\", \"CustomerPhone1\", \"CustomerEmail\", \"ContractExpires\", \"Contract\", \"LastServiceWorkOrder\", \"CustomerAlertNotes\", \"CustomerTechNotes\" ]);\n\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":0,"Landscape":false,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Contacts list","Active":true,"Notes":"HTML example of using multiple nested #if else statements for display of value","Roles":50538,"AType":3,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'UserList'}} &amp; {{ayT 'Contacts'}} List</p>\n </div>\n\n <table>\n \n <thead>\n <tr>\n <th colspan=\"5\" class=\"leftlean\">{{ayT 'Name'}} &amp; {{ayT 'UserType'}} </th>\n <th colspan=\"2\">{{ayT 'LastLogin'}}</th>\n <th colspan=\"2\">{{ayT 'UserPhone1'}}</th>\n <th colspan=\"2\">{{ayT 'UserEmailAddress'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n <tr>\n <td colspan=\"2\">{{Name}}</td>\n <!-- below line is example of nested #if / else / #if / else statements - note the TWO /if's at the end to close the two #ifs -->\n {{#if CustomerViz}}<td colspan=\"3\">Customer: {{CustomerViz}}</td>{{else}} {{#if HeadOfficeViz}}<td colspan=\"3\">Headoffice: {{HeadOfficeViz}}</td>{{else}}<td colspan=\"3\">Employee: {{UserTypeViz}}</td>{{/if}}{{/if}}\n <td colspan=\"2\">{{ayDateTime LastLogin}}</td>\n <td colspan=\"2\">{{UserOptions.Phone1}}</td>\n <td colspan=\"2\">{{UserOptions.EmailAddress}}</td>\n </tr>\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n<!-- uncomment below if you want to see output of all data\n <table>\n {{#each ayReportData}}\n <tbody>\n <tr>\n <td colspan=\"5\">This is a printout of the data returned from the Custom Prepare that this report now uses. Compare against the data that shows in the \"Sample Data\" when editing this report template.</td>\n </tr>\n <tr>\n\t\t\t <td colspan=\"5\" class=\"leftlean\">{{ayJSON this}}</td>\n </tr>\n </tbody>\n {{/each}}\n </table>\n-->\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 10pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 8pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"UserList\", \"Contacts\", \"UserType\", \"User\", \"Contact\", \"Name\", \"Customer\", \"HeadOffice\", \"User\", \"LastLogin\", \"UserPhone1\", \"UserEmailAddress\" ]);\n\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":0,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"Name":"Customer Notes","Active":true,"Notes":"","Roles":50538,"AType":59,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <table>\n {{#each ayReportData}}\n <thead>\n\n <tr>\n <th colspan=\"5\" class=\"leftlean\">{{ayT 'CustomerNoteList'}} for {{ayT 'Customer'}}:</th>\n <td colspan=\"10\">{{group}}</td>\n </tr>\n <tr>\n <th colspan=\"15\">&nbsp;</th>\n </tr>\n <tr>\n <th colspan=\"3\">Who entered:</th>\n <th colspan=\"3\">{{ayT 'CustomerNoteNoteDate'}}</th>\n <th colspan=\"3\">{{ayT 'Tags'}}</th>\n <th colspan=\"6\">{{ayT 'CustomerNoteList'}}</th>\n </tr>\n <tr>\n <th colspan=\"15\">&nbsp;</th>\n <tr>\n </thead>\n\n <tbody>\n\n {{#each items}}\n\n <tr>\n <td colspan=\"3\">{{UserViz}}</td>\n <td colspan=\"3\">{{ayDateTime NoteDate}}</td>\n <td colspan=\"3\">{{Tags}}</td>\n <td colspan=\"6\">{{Notes}}</td>\n </tr>\n {{/each}}\n\n </tbody>\n\n <tfoot>\n </tfoot>\n {{/each}}\n </table>\n\n <!-- <p> uncomment to see the raw data returned from the custom Prepare </p>\n <div>\n <p>{{ayJSON ayReportData}} </p>\n</div> -->\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 10pt; \r\n color: #9e9e9e;\r\n\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 8pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"CustomerNoteNotes\", \"CustomerNoteList\", \"Customer\", \"CustomerNoteNoteDate\", \"Tags\" ]);\n\n ayData.ayReportData = ayGroupByKey(ayData.ayReportData, 'CustomerViz')\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":0,"Landscape":false,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Customer Service Requests grouped by Customer","Active":true,"Notes":"","Roles":50666,"AType":54,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n\t<div>\n\t\t<div class=\"reporttitle\">\n\t\t\t<p>{{ayT 'CustomerServiceRequestList'}} grouped by {{ayT 'Customer'}}</p>\n\t\t</div>\n\t\t<table>\n\t\t\t<thead>\n\t\t\t</thead>\n\n\t\t\t<tbody>\n\t\t\t\t{{#each ayReportData}}\n\t\t\t\t<tr>\n\t\t\t\t\t<th colspan=\"3\" class=\"bigfont leftlean\">{{ayT 'Customer'}}: </th>\n\t\t\t\t\t<td colspan=\"14\" class=\"bigfont leftlean\"> {{group}}</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<th colspan=\"2\">&nbsp;</th>\n\t\t\t\t\t<th colspan=\"3\">Date Requested</th>\n\t\t\t\t\t<th colspan=\"3\">{{ayT 'CustomerServiceRequestStatus'}}</th>\n\t\t\t\t\t<th colspan=\"3\">{{ayT 'CustomerServiceRequestPriority'}}</th>\n\t\t\t\t\t<th colspan=\"3\">{{ayT 'WorkOrder'}}</th>\n\t\t\t\t\t<th colspan=\"3\">{{ayT 'CustomerServiceRequestRequestedBy'}}</th>\n\t\t\t\t</tr>\n\t\t\t\t{{#each items}}\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan=\"2\">&nbsp;</td>\n\t\t\t\t\t<td colspan=\"3\">{{ayDateTime DateRequested}}</td>\n\t\t\t\t\t{{#if_eq Status \"0\"}}<td colspan=\"3\" class=\"fontred\">{{StatusViz}}</td>{{else}}<td colspan=\"3\">{{StatusViz}}</td>{{/if_eq}}\n\t\t\t\t\t<td colspan=\"3\">{{PriorityViz}}</td>\n\t\t\t\t\t{{#if WorkOrderSerialViz}}<td colspan=\"3\">{{WorkOrderSerialViz}}</td>{{else}}<td colspan=\"3\" class=\"fontred\">Not yet assigned</td>{{/if}}\n\t\t\t\t\t<td colspan=\"3\">{{RequestedByUserViz}}</td>\n\t\t\t\t</tr>\n\t\t\t\t{{/each}}\n\t\t\t\t<tr>\n\t\t\t\t\t<th colspan=\"17\" class=\"rightlean\">{{count}} {{ayT 'CustomerServiceRequestList'}} for {{ayT 'Customer'}} {{group}}</th>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan=\"17\">&nbsp;</td>\n\t\t\t\t</tr>\n\t\t\t\t\n\t\t\t\t{{/each}}\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</body>\n</html>","Style":".singlePage\r\n{\r\npage-break-after: always;\r\n\r\n}\r\nbody {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.bigfont {\r\n font-size: 13pt;\r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed; /* the # of columns set in the first row of the thead will be fixed and applied throughout table and rows */\r\n }\r\n\r\nth {\r\n height: 10px;\r\n font-size: 11pt; \r\n color: #9e9e9e;\r\n \r\n}\r\n\r\ntbody td {\r\n padding: 5px;\r\n word-wrap: break-word;\r\n font-size: 10pt;\r\n text-align: center;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":"async function ayPrepareData(ayData) {\n\n //send the raw report data to the groupByKey function which will return a new array grouped by the key name provided\n ayData.ayReportData = ayGroupByKey(ayData.ayReportData, 'CustomerViz')\n\n await ayGetTranslations([\"CustomerServiceRequestList\", \"Customer\", \"CustomerServiceRequestRequestedBy\", \"WorkOrder\", \"CustomerServiceRequestPriority\", \"CustomerServiceRequestStatus\" ]);\n\n\n //return the data into the pipeline to send to the report template\n return ayData;\n}","JsHelpers":"//custom helper so can do a direct comparison - i.e. if value equals xxxx, then show, else show yyyyy\r\n//note that this HAS to be added here in Helpers, is NOT built in\r\nHandlebars.registerHelper('if_eq', function(a, b, opts) {\r\n if(a == b) // Or === depending on your needs\r\n return opts.fn(this);\r\n else\r\n return opts.inverse(this);\r\n});\r\n","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":true,"MarginOptionsBottom":"20mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"15mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -1 +0,0 @@
{"Name":"z_replace carriage return with space","Active":true,"Notes":"Example custom Prepare to replace carriage return with space for a specific key of this object ","Roles":124927,"AType":8,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n\t<div>\n\t\t<div class=\"reporttitle\">\n\t\t\t<p>Custom Prepare to remove carriage returns</p>\n\t\t</div>\n\t\t<table>\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th colspan=\"7\" class=\"leftlean\">{{ayT 'Customer'}}</th>\n\t\t\t\t\t<th colspan=\"1\">&nbsp;</th>\n\t\t\t\t\t<th colspan=\"7\">{{ayT 'CustomerNotes'}}</th>\n\t\t\t\t\t<th colspan=\"1\">&nbsp;</th>\n\t\t\t\t\t<th colspan=\"8\">Customized {{ayT 'CustomerNotes'}}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\n\t\t\t<tbody>\n\t\t\t\t{{#each ayReportData}}\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan=\"7\">{{Name}}</td>\n\t\t\t\t\t<td colspan=\"1\">&nbsp;</td>\n\t\t\t\t\t<td colspan=\"7\">{{Notes}}</td>\n\t\t\t\t\t<td colspan=\"1\">&nbsp;</td>\n\t\t\t\t\t<td colspan=\"8\">{{NotesNoCarriage}}</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan=\"24\">&nbsp;</td>\n\t\t\t\t</tr>\n\t\t\t\t{{/each}}\n\t\t\t</tbody>\n\t\t</table>\n\n\t\t<table>\n {{#each ayReportData}}\n <tbody>\n\t\t\t \t<tr>\n\t\t\t\t\t<td colspan=\"24\">&nbsp;</td>\n\t\t\t\t</tr>\n <tr>\n <td colspan=\"24\">This is a printout of the data returned from the Custom Prepare that this report now uses, each \"group\" is an object. Compare against the data that shows in the \"Sample Data\" when editing this report template.</td>\n </tr>\n <tr>\n\t\t\t <td colspan=\"24\">{{ayJSON this}}</td>\n </tr>\n </tbody>\n {{/each}}\n </table>\n\t</div>\n</body>\n</html>","Style":"\r\n.singlePage\r\n{\r\npage-break-after: always;\r\n}\r\n\r\nbody {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n text-align: center;\r\n color: #9e9e9e;\r\n} \r\n\r\n\r\ntable { \r\n table-layout: fixed; //setting this to fixed causes columns to be evenly spaced for the entire table regardless of cell content, and then colspan then \"works\" as expected\r\n font-family: 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif;\r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n font-size: 8pt;\r\n width: 100%;\r\n }\r\n\r\n\r\nth {\r\n height: 30px;\r\n text-align: left;\r\n color: #9e9e9e;\r\n}\r\n\r\n\r\ntbody tr {\r\n height: 10px;\r\n word-wrap: break-word;\r\n}\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}","JsPrerender":"async function ayPrepareData(ayData){ \n\n await ayGetTranslations([ \"Customer\", \"CustomerNotes\" ]);\n\n //for each Customer, if the General Notes field is NOT null, creates a new key NotesNoCarriage and puts into it the text from Notes replacing ANY carriage returns with a space, so all text is on same line(s)\n for (EachCU of ayData.ayReportData) {\n if (EachCU.Notes != null) {\n n = EachCU.Notes;\n EachCU.NotesNoCarriage = n.replace(/[\\n\\r]+/g, ' ');\n }\n }\n\n return ayData;\n}","JsHelpers":"","RenderType":0,"HeaderTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","FooterTemplate":"<span>&nbsp; </span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":false,"MarginOptionsBottom":"20mm","MarginOptionsLeft":"15mm","MarginOptionsRight":"15mm","MarginOptionsTop":"15mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Head Offices list","Active":true,"Notes":"","Roles":50538,"AType":15,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'HeadOfficeList'}} List</p>\n </div>\n\n <table>\n \n <thead>\n <tr>\n <th colspan=\"3\" class=\"leftlean\">{{ayT 'Name'}}</th>\n <th colspan=\"2\" class=\"leftlean\">{{ayT 'HeadOfficeAccountNumber'}}</th>\n <th colspan=\"2\">{{ayT 'AddressTypePostal'}}</th>\n <th colspan=\"2\">{{ayT 'HeadOfficePhone1'}}</th>\n <th colspan=\"2\">{{ayT 'HeadOfficeEmail'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n <tr>\n <td colspan=\"3\">{{Name}}</td>\n <td colspan=\"2\">{{AccountNumber}}</td>\n <td colspan=\"2\">{{PostAddress}}</td>\n <td colspan=\"2\">{{Phone1}}</td>\n <td colspan=\"2\">{{EmailAddress}}</td>\n </tr>\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 10pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 8pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"Contact\", \"Name\", \"HeadOfficeList\", \"HeadOffice\", \"HeadOfficeAccountNumber\", \"AddressTypePostal\", \"HeadOfficePhone1\", \"HeadOfficeEmail\" ]);\n\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":0,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Inventory transactions grouped by Part","Active":true,"Notes":"","Roles":50538,"AType":67,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n\t<div>\n\t\t<div class=\"reporttitle\">\n\t\t\t<p>{{ayT 'PartInventoryTransactionList'}} grouped by {{ayT 'Part'}}</p>\n\t\t</div>\n\n\t\t<table>\n\t\t\t<thead>\n\t\t\t</thead>\n\n\t\t\t<tbody>\n\t\t\t\t{{#each ayReportData}}\n\t\t\t\t<!-- the #each for the Sample Data MUST encompass the section where its gonna show - in this case the tbody, so needs to be placed within -->\n\t\t\t\t<!-- to get alternating coloured rows when one PO per line, need CSS statements PLUS this # each MUST be placed BEFORE the tr /tr -->\n\t\t\t\t<tr>\n\t\t\t\t\t<th colspan=\"2\">{{ayT 'Part'}}:</th>\n\t\t\t\t\t<td colspan=\"12\"> {{group}}</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<th colspan=\"2\">&nbsp;</th>\n\t\t\t\t\t<th colspan=\"2\">{{ayT 'PartInventoryTransactionEntryDate'}}</th>\n\t\t\t\t\t<th colspan=\"4\">{{ayT 'PartInventoryTransactionDescription'}}</th>\n\t\t\t\t\t<th colspan=\"2\">{{ayT 'PartWarehouse'}}</th>\n\t\t\t\t\t<th colspan=\"2\">{{ayT 'PartInventoryTransactionQuantity'}}</th>\n\t\t\t\t\t<th colspan=\"2\">{{ayT 'PartInventoryBalance'}}</th>\n\t\t\t\t</tr>\n\t\t\t\t{{#each items}}\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan=\"2\">&nbsp;</td>\n\t\t\t\t\t<td colspan=\"2\">{{ayDateTime EntryDate}}</td>\n\t\t\t\t\t<td colspan=\"4\">{{Description}}</td>\n\t\t\t\t\t<td colspan=\"2\">{{PartWarehouseViz}}</td>\n\t\t\t\t\t<td colspan=\"2\">{{Quantity}}</td>\n\t\t\t\t\t<td colspan=\"2\">{{Balance}}</td>\n\t\t\t\t</tr>\n\t\t\t\t{{/each}}\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan=\"14\">&nbsp;</td>\n\t\t\t\t</tr>\n\n\t\t\t\t{{/each}}\n\t\t\t</tbody>\n\n\t\t\t<tfoot>\n\t\t\t</tfoot>\n\n\t\t</table>\n\n\n\t</div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n padding: 5px;\r\n font-size: 11pt; \r\n color: #9e9e9e;\r\n text-align: left;\r\n}\r\n\r\ntbody td {\r\n padding: 5px;\r\n word-wrap: break-word;\r\n font-size: 9pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}","JsPrerender":"async function ayPrepareData(ayData){ \n\n ayData.ayReportData = ayGroupByKey(ayData.ayReportData, 'PartNameViz')\n\n await ayGetTranslations([\"PartInventoryTransactionList\", \"PartInventoryTransactionDescription\", \"PartInventoryTransactionEntryDate\", \"PartInventoryTransactionQuantity\", \"PartInventoryBalance\", \"PartWarehouse\", \"Part\" ]);\n\n return ayData;\n}","JsHelpers":"","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"15mm","MarginOptionsRight":"15mm","MarginOptionsTop":"15mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Memos","Active":true,"Notes":"","Roles":50538,"AType":60,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'MemoList'}} List</p>\n </div>\n\n <table>\n \n <thead>\n <tr>\n <th colspan=\"1\">{{ayT 'MemoViewed'}}</th>\n <th colspan=\"2\">{{ayT 'MemoSent'}}</th>\n <th colspan=\"2\">{{ayT 'MemoFromID'}}</th>\n <th colspan=\"3\">{{ayT 'MemoSubject'}}</th> \n <th colspan=\"5\">{{ayT 'MemoMessage'}}</th>\n \n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n <tr>\n <!-- if Viewed is true, will show checkmarked checkbox -->\n\t\t\t\t\t{{#if Viewed}}<td colspan=\"1\" class=\"centerlean\"><input type=\"checkbox\" id=\"manual1\" checked><label for=\"manual1\"> </label></td>\n\t\t\t\t\t{{else}}<td colspan=\"1\" class=\"centerlean\"><input type=\"checkbox\" id=\"manual1\" ><label for=\"manual1\"> </label></td>{{/if}}\n\n <td colspan=\"2\">{{ayDateTime Sent}}</td>\n <td colspan=\"2\">{{FromViz}}</td>\n <td colspan=\"3\">{{Name}}</td>\n <td colspan=\"5\">{{Notes}}</td>\n \n </tr>\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 10pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 8pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"MemoFromID\", \"MemoSent\", \"MemoList\", \"MemoSubject\", \"MemoViewed\", \"MemoMessage\" ]);\n\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers\r\n","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":0,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"PM Item Tasks ","Active":true,"Notes":"","Roles":50538,"AType":86,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'PreventiveMaintenance'}} {{ayT 'WorkOrderItemList'}} {{ayT 'WorkOrderItemTasks'}} List</p>\n </div>\n\n <table>\n \n <thead>\n <tr>\n <th colspan=\"1\">{{ayT 'PreventiveMaintenance'}}</th>\n <th colspan=\"2\">{{ayT 'PMNextServiceDate'}}</th>\n <th colspan=\"4\">{{ayT 'WorkOrderItemSummary'}}</th> \n\n\n\t\t\t\t\t<th colspan=\"2\" class=\"centerlean\" >{{ayT 'WorkOrderItemTaskWorkOrderItemTaskCompletionType'}}</th> \n\t\t\t\t\t<th colspan=\"6\">{{ayT 'WorkOrderItemTasks'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n {{#each Items}}\n {{#each Tasks}}\n <tr>\n <td colspan=\"1\">{{../../Serial}}</td>\n <td colspan=\"2\">{{ayDateTime ../../NextServiceDate}}</td>\n <td colspan=\"4\">{{../Notes}}</td>\n\n\t\t\t\t\t<!-- note that this if_eq is from a custom Helper --><!-- IF status equals Completed (value is 2) then displays with a checkmark -->\n\t\t\t\t\t{{#if_eq Status 2}}<td colspan=\"2\" class=\"centerlean\">{{StatusViz}} <input type=\"checkbox\" id=\"manual1\" checked><label for=\"manual1\"> </label></td>\n\t\t\t\t\t{{else}}<td colspan=\"2\" class=\"centerlean\">{{StatusViz}} <input type=\"checkbox\" id=\"manual1\" ><label for=\"manual1\"> </label></td>{{/if_eq}}\n\t\t\t\t\t<td colspan=\"6\">{{Task}}</td>\n \n </tr>\n {{/each}}\n {{/each}}\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 10pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 8pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"WorkOrderItemTasks\", \"PreventiveMaintenance\", \"WorkOrderItemList\", \"PMNextServiceDate\", \"WorkOrderItemSummary\", \"WorkOrderItemTaskWorkOrderItemTask\", \"WorkOrderItemTaskWorkOrderItemTaskCompletionType\" ]);\n\n\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers\r\n\r\n//custom helper so can do a direct comparison - i.e. if value equals xxxx, then show, else show yyyyy\r\n//note that this HAS to be added here in Helpers, is NOT built in\r\nHandlebars.registerHelper('if_eq', function(a, b, opts) {\r\n if(a == b) // Or === depending on your needs\r\n return opts.fn(this);\r\n else\r\n return opts.inverse(this);\r\n});","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":0,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"PM Scheduled Users","Active":true,"Notes":"","Roles":50538,"AType":85,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'PreventiveMaintenance'}} {{ayT 'WorkOrderItemScheduledUserList'}} List</p>\n </div>\n\n <table>\n \n <thead>\n <tr>\n <th colspan=\"1\">{{ayT 'PreventiveMaintenance'}}</th>\n <th colspan=\"2\">{{ayT 'Customer'}}</th>\n <th colspan=\"2\">{{ayT 'WorkOrderItemWorkOrderStatusID'}}</th>\n <th colspan=\"4\">{{ayT 'WorkOrderItemSummary'}}</th> \n <th colspan=\"2\">{{ayT 'WorkOrderItemScheduledUsers'}}</th> \n <th colspan=\"2\">{{ayT 'WorkOrderItemScheduledUserStartDate'}}</th>\n <th colspan=\"1\">{{ayT 'WorkOrderItemScheduledUserEstimatedQuantity'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n {{#each Items}}\n {{#each ScheduledUsers}}\n <tr>\n <td colspan=\"1\">{{../../Serial}}</td>\n <td colspan=\"2\">{{../../CustomerViz}}</td>\n <td colspan=\"2\">{{../WorkOrderItemStatusNameViz}}</td>\n <td colspan=\"4\">{{../Notes}}</td>\n <td colspan=\"2\">{{UserViz}}</td>\n <td colspan=\"2\">{{ayDateTime StartDate}}</td>\n <td colspan=\"1\">{{EstimatedQuantity}}</td>\n \n </tr>\n {{/each}}\n {{/each}}\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 10pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 8pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"PreventiveMaintenance\", \"WorkOrderItemScheduledUsers\", \"WorkOrderItemScheduledUserList\", \"WorkOrder\", \"Customer\", \"WorkOrderItemWorkOrderStatusID\", \"WorkOrderItemSummary\", \"WorkOrderItemScheduledUserStartDate\", \"WorkOrderItemScheduledUserEstimatedQuantity\" ]);\n\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers\r\n","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":0,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"PM Units grouped by Customer","Active":true,"Notes":"","Roles":50538,"AType":88,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n\t\t\t<p>{{ayT 'PMList'}} {{ayT 'WorkOrderItemUnitList'}} grouped by {{ayT 'Customer'}}</p>\n\t\t</div>\n <table>\n <thead>\n <tr>\n <th colspan=\"2\" class=\"leftlean\" >{{ayT 'Customer'}}</th>\n <th colspan=\"1\">{{ayT 'PreventiveMaintenance'}}</th>\n <th colspan=\"1\">{{ayT 'PMNextServiceDate'}}</th>\n <th colspan=\"2\">{{ayT 'WorkOrderItemUnit'}}</th>\n <th colspan=\"1\">{{ayT 'WorkOrderItemWorkOrderStatusID'}}</th>\n <th colspan=\"3\">{{ayT 'WorkOrderItemSummary'}}</th>\n </tr>\n </thead>\n <tbody>\n {{#each ayReportData}}\n <tr>\n <td colspan=\"10\">{{group}}</td>\n </tr>\n {{#each items}}\n {{#each Items}}\n {{#each Units}}\n <tr> \n <td colspan=\"2\">&nbsp;</td>\n <td colspan=\"1\" class=\"centerlean\">{{../../Serial}}</td> <!--note the two ../ to go up levels to get this data -->\n <td colspan=\"1\" class=\"centerlean\">{{ayDate ../../NextServiceDate}}</td><!--note the two ../ to go up levels to get this data -->\n <td colspan=\"2\" >{{UnitViz}} - {{UnitModelNameViz}}</td>\n <td colspan=\"1\" >{{../WorkOrderItemStatusNameViz}}</td><!--note the ../ to go up level to get this data -->\n <td colspan=\"3\" >{{../Notes}}</td><!--note the ../ to go up level to get this data --> \n </tr>\n {{/each}}\n {{/each}}\n {{/each}}\n <tr>\n <td colspan=\"10\">&nbsp;</td>\n </tr>\n\n <tr>\n <td colspan=\"10\">&nbsp;</td>\n </tr>\n {{/each}}\n </tbody>\n </table> \n </div>\n\n <!-- uncomment to see the raw data returned from the custom Prepare \n<div>\n <p>{{ayJSON ayReportData}} </p>\n</div> \n-->\n\n</body>\n</html>","Style":".minimum {\n font-size: 6pt;\n}\n\ntfoot {\n border-top: 2px solid #9e9e9e;\n font-size: 7pt;\n text-align: center;\n}\n\n.singlePage\n{\npage-break-after: always;\n}\n\nbody {\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \n}\n\n.reporttitle { \n margin-bottom: 20pt; \n font-weight: bold; \n font-size: 13pt; \n color: #9e9e9e;\n} \n\ntable { \n border-collapse: collapse;\n white-space: pre-wrap;\n width: 100%;\n table-layout: fixed; /* the # of columns set in the first row of the thead will be fixed and applied throughout table and rows */\n }\n\nth {\n height: 30px;\n font-size: 9pt; \n color: #9e9e9e;\n}\n\ntbody td {\n padding: 10px;\n word-wrap: break-word;\n font-size: 7pt;\n}\n\n\ntbody tr:nth-child(even) {\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\n}\n\n\n.rightlean {\n text-align: right;\n}\n.leftlean {\n text-align: left;\n}\n.centerlean {\n text-align: center;\n}\n\n\n.fontgreen {\n color: green;\n}\n.fontblue {\n color: blue;\n}\n.fontred {\n color:red;\n}\n\n","JsPrerender":"async function ayPrepareData(reportData){ \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\n\treportData.ayReportData = ayGroupByKey(reportData.ayReportData, 'CustomerViz')\n\t\n\tawait ayGetTranslations([\"PreventiveMaintenance\", \"PMList\", \"Customer\", \"PMNextServiceDate\", \"WorkOrderItemUnit\", \"WorkOrderItemUnitList\", \"WorkOrderStatus\", \"WorkOrderItemWorkOrderStatusID\", \"WorkOrderItemSummary\", \"WorkOrderSummary\" ]);\n\n\n\n return reportData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\n//https://handlebarsjs.com/guide/#custom-helpers\nHandlebars.registerHelper('loud', function (aString) {\n return aString.toUpperCase()\n})","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"15mm","MarginOptionsRight":"15mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Part Assemblies list","Active":true,"Notes":"","Roles":50554,"AType":65,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'PartAssemblyList'}} list</p>\n </div>\n\n <table>\n <thead>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n <tr>\n\n </tr>\n <tr>\n <th colspan=\"6\">{{ayT 'PartAssemblyName'}}: {{Name}}</th>\n </tr>\n <tr>\n <th colspan=\"6\">&nbsp;</th>\n </tr>\n <tr>\n <td colspan=\"1\">&nbsp;</td>\n <th colspan=\"1\">{{ayT 'WorkOrderItemPartQuantity'}}</th>\n <th colspan=\"4\">{{ayT 'PartList'}}</th>\n </tr>\n {{#each Items}}\n <tr>\n <td colspan=\"1\">&nbsp;</td>\n <td colspan=\"1\">{{Quantity}}</td>\n <td colspan=\"4\">{{PartNameViz}}</td>\n </tr>\n {{/each}}\n\n <tr>\n <td colspan=\"1\">&nbsp;</td>\n <th colspan=\"1\">{{ayT 'Tags'}}</th>\n <td colspan=\"4\">{{Tags}}</td>\n </tr>\n <tr>\n <td colspan=\"1\">&nbsp;</td>\n <th colspan=\"1\">{{ayT 'PartAssemblyNotes'}}</th>\n <td colspan=\"4\">{{Notes}}</td>\n </tr>\n <tr>\n <th colspan=\"6\">&nbsp;</th>\n </tr>\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n text-align: center;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 11pt; \r\n color: #9e9e9e;\r\n text-align: left;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 9pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}","JsPrerender":"async function ayPrepareData(ayData){ \n\n await ayGetTranslations([\"PartAssemblyName\", \"PartAssemblyList\", \"Tags\", \"PartAssemblyNotes\", \"PartList\", \"WorkOrderItemPartQuantity\" ]);\n\n return ayData;\n}","JsHelpers":"","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":false,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Projects list","Active":true,"Notes":"","Roles":50538,"AType":25,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'ProjectList'}} List</p>\n </div>\n\n <table>\n <thead>\n <tr>\n <!-- to repeat column headers on every page, include in the thead -->\n <th colspan=\"6\" class=\"leftlean\">{{ayT 'Project'}}</th>\n <th colspan=\"2\">{{ayT 'ProjectDateStarted'}}</th>\n <th colspan=\"2\">{{ayT 'ProjectDateCompleted'}}</th>\n <th colspan=\"2\">{{ayT 'ProjectAccountNumber'}}</th>\n <th colspan=\"3\">{{ayT 'ProjectProjectOverseerID'}}</th>\n <th colspan=\"6\">{{ayT 'ProjectNotes'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n <tr>\n <td colspan=\"6\">{{Name}}</td>\n <td colspan=\"2\" class=\"centerlean\">{{ayDate DateStarted}}</td>\n <td colspan=\"2\" class=\"centerlean\">{{ayDate DateCompleted}}</td>\n <td colspan=\"2\">{{AccountNumber}}</td>\n <td colspan=\"3\">{{ProjectOverseerViz}}</td>\n <td colspan=\"6\">{{Notes}}</td>\n </tr>\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n border-bottom: solid 1pt #9e9e9e;\r\n height: 50px;\r\n font-size: 11pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 9pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"ProjectList\", \"Project\", \"ProjectProjectOverseerID\", \"ProjectDateStarted\", \"ProjectDateCompleted\", \"ProjectAccountNumber\", \"ProjectNotes\" ]);\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Quote Item Tasks","Active":true,"Notes":"","Roles":50538,"AType":46,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'Quote'}} {{ayT 'WorkOrderItemList'}} {{ayT 'WorkOrderItemTasks'}} List</p>\n </div>\n\n <table>\n \n <thead>\n <tr>\n <th colspan=\"1\">{{ayT 'Quote'}}</th>\n <th colspan=\"2\">{{ayT 'QuoteQuoteRequestDate'}}</th>\n <th colspan=\"4\">{{ayT 'WorkOrderItemSummary'}}</th> \n\n\n\t\t\t\t\t<th colspan=\"2\" class=\"centerlean\" >{{ayT 'WorkOrderItemTaskWorkOrderItemTaskCompletionType'}}</th> \n\t\t\t\t\t<th colspan=\"6\">{{ayT 'WorkOrderItemTasks'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n {{#each Items}}\n {{#each Tasks}}\n <tr>\n <td colspan=\"1\">{{../../Serial}}</td>\n <td colspan=\"2\">{{ayDateTime ../../Requested}}</td>\n <td colspan=\"4\">{{../Notes}}</td>\n\n\t\t\t\t\t<!-- note that this if_eq is from a custom Helper --><!-- IF status equals Completed (value is 2) then displays with a checkmark -->\n\t\t\t\t\t{{#if_eq Status 2}}<td colspan=\"2\" class=\"centerlean\">{{StatusViz}} <input type=\"checkbox\" id=\"manual1\" checked><label for=\"manual1\"> </label></td>\n\t\t\t\t\t{{else}}<td colspan=\"2\" class=\"centerlean\">{{StatusViz}} <input type=\"checkbox\" id=\"manual1\" ><label for=\"manual1\"> </label></td>{{/if_eq}}\n\t\t\t\t\t<td colspan=\"6\">{{Task}}</td>\n \n </tr>\n {{/each}}\n {{/each}}\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 10pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 8pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"WorkOrderItemTasks\", \"Quote\", \"WorkOrderItemList\", \"QuoteQuoteRequestDate\", \"WorkOrderItemSummary\", \"WorkOrderItemTaskWorkOrderItemTask\", \"WorkOrderItemTaskWorkOrderItemTaskCompletionType\" ]);\n\n\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers\r\n\r\n//custom helper so can do a direct comparison - i.e. if value equals xxxx, then show, else show yyyyy\r\n//note that this HAS to be added here in Helpers, is NOT built in\r\nHandlebars.registerHelper('if_eq', function(a, b, opts) {\r\n if(a == b) // Or === depending on your needs\r\n return opts.fn(this);\r\n else\r\n return opts.inverse(this);\r\n});","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":0,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Quote Scheduled Users","Active":true,"Notes":"","Roles":50538,"AType":45,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'Quote'}} {{ayT 'WorkOrderItemScheduledUserList'}} List</p>\n </div>\n\n <table>\n \n <thead>\n <tr>\n <th colspan=\"1\">{{ayT 'Quote'}}</th>\n <th colspan=\"2\">{{ayT 'Customer'}}</th>\n <th colspan=\"2\">{{ayT 'WorkOrderItemWorkOrderStatusID'}}</th>\n <th colspan=\"4\">{{ayT 'WorkOrderItemSummary'}}</th> \n <th colspan=\"2\">{{ayT 'WorkOrderItemScheduledUsers'}}</th> \n <th colspan=\"2\">{{ayT 'WorkOrderItemScheduledUserStartDate'}}</th>\n <th colspan=\"1\">{{ayT 'WorkOrderItemScheduledUserEstimatedQuantity'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n {{#each Items}}\n {{#each ScheduledUsers}}\n <tr>\n <td colspan=\"1\">{{../../Serial}}</td>\n <td colspan=\"2\">{{../../CustomerViz}}</td>\n <td colspan=\"2\">{{../WorkOrderItemStatusNameViz}}</td>\n <td colspan=\"4\">{{../Notes}}</td>\n <td colspan=\"2\">{{UserViz}}</td>\n <td colspan=\"2\">{{ayDateTime StartDate}}</td>\n <td colspan=\"1\">{{EstimatedQuantity}}</td>\n \n </tr>\n {{/each}}\n {{/each}}\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 10pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 8pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"Quote\", \"WorkOrderItemScheduledUsers\", \"WorkOrderItemScheduledUserList\", \"WorkOrder\", \"Customer\", \"WorkOrderItemWorkOrderStatusID\", \"WorkOrderItemSummary\", \"WorkOrderItemScheduledUserStartDate\", \"WorkOrderItemScheduledUserEstimatedQuantity\" ]);\n\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers\r\n","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":0,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Quote Units grouped by Customer","Active":true,"Notes":"","Roles":50538,"AType":77,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n\t\t\t<p>{{ayT 'WorkOrderItemUnitList'}} grouped by {{ayT 'Customer'}}</p>\n\t\t</div>\n <table>\n <thead>\n <tr>\n <th colspan=\"2\" class=\"leftlean\" >{{ayT 'Customer'}}</th>\n <th colspan=\"1\">{{ayT 'Quote'}}</th>\n <th colspan=\"1\">{{ayT 'QuoteQuoteRequestDate'}}</th>\n <th colspan=\"2\">{{ayT 'WorkOrderItemUnit'}}</th>\n <th colspan=\"1\">{{ayT 'WorkOrderItemWorkOrderStatusID'}}</th>\n <th colspan=\"3\">{{ayT 'WorkOrderItemSummary'}}</th>\n </tr>\n </thead>\n <tbody>\n {{#each ayReportData}}\n <tr>\n <td colspan=\"10\">{{group}}</td>\n </tr>\n {{#each items}}\n {{#each Items}}\n {{#each Units}}\n <tr> \n <td colspan=\"2\">&nbsp;</td>\n <td colspan=\"1\" class=\"centerlean\">{{../../Serial}}</td> <!--note the two ../ to go up levels to get this data -->\n <td colspan=\"1\" class=\"centerlean\">{{ayDate ../../Requested}}</td><!--note the two ../ to go up levels to get this data -->\n <td colspan=\"2\" >{{UnitViz}} - {{UnitModelNameViz}}</td>\n <td colspan=\"1\" >{{../WorkOrderItemStatusNameViz}}</td><!--note the ../ to go up level to get this data -->\n <td colspan=\"3\" >{{../Notes}}</td><!--note the ../ to go up level to get this data --> \n </tr>\n {{/each}}\n {{/each}}\n {{/each}}\n <tr>\n <td colspan=\"10\">&nbsp;</td>\n </tr>\n\n <tr>\n <td colspan=\"10\">&nbsp;</td>\n </tr>\n {{/each}}\n </tbody>\n </table> \n </div>\n\n <!-- uncomment to see the raw data returned from the custom Prepare \n<div>\n <p>{{ayJSON ayReportData}} </p>\n</div> \n-->\n\n</body>\n</html>","Style":".minimum {\n font-size: 6pt;\n}\n\ntfoot {\n border-top: 2px solid #9e9e9e;\n font-size: 7pt;\n text-align: center;\n}\n\n.singlePage\n{\npage-break-after: always;\n}\n\nbody {\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \n}\n\n.reporttitle { \n margin-bottom: 20pt; \n font-weight: bold; \n font-size: 13pt; \n color: #9e9e9e;\n} \n\ntable { \n border-collapse: collapse;\n white-space: pre-wrap;\n width: 100%;\n table-layout: fixed; /* the # of columns set in the first row of the thead will be fixed and applied throughout table and rows */\n }\n\nth {\n height: 30px;\n font-size: 9pt; \n color: #9e9e9e;\n}\n\ntbody td {\n padding: 10px;\n word-wrap: break-word;\n font-size: 7pt;\n}\n\n\ntbody tr:nth-child(even) {\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\n}\n\n\n.rightlean {\n text-align: right;\n}\n.leftlean {\n text-align: left;\n}\n.centerlean {\n text-align: center;\n}\n\n\n.fontgreen {\n color: green;\n}\n.fontblue {\n color: blue;\n}\n.fontred {\n color:red;\n}\n\n","JsPrerender":"async function ayPrepareData(reportData){ \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\n\treportData.ayReportData = ayGroupByKey(reportData.ayReportData, 'CustomerViz')\n\t\n\tawait ayGetTranslations([\"Quote\", \"Customer\", \"QuoteQuoteRequestDate\", \"WorkOrderItemUnit\", \"WorkOrderItemUnitList\", \"WorkOrderItemWorkOrderStatusID\", \"WorkOrderItemSummary\", \"WorkOrderSummary\" ]);\n\n\n\n return reportData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\n//https://handlebarsjs.com/guide/#custom-helpers\nHandlebars.registerHelper('loud', function (aString) {\n return aString.toUpperCase()\n})","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"15mm","MarginOptionsRight":"15mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Reminders","Active":true,"Notes":"","Roles":50538,"AType":52,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'ReminderList'}} List</p>\n </div>\n\n <table>\n \n <thead>\n <tr>\n <th colspan=\"3\">{{ayT 'ReminderName'}}</th>\n <th colspan=\"2\">{{ayT 'ReminderStartDate'}}</th>\n <th colspan=\"2\">{{ayT 'ReminderStopDate'}}</th> \n <th colspan=\"2\">{{ayT 'Tags'}}</th>\n <th colspan=\"3\">{{ayT 'ReminderNotes'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n <tr>\n <td colspan=\"3\">{{Name}}</td>\n <td colspan=\"2\">{{ayDateTime StartDate}}</td>\n <td colspan=\"2\">{{ayDateTime StopDate}}</td>\n <td colspan=\"2\">{{Tags}}</td>\n <td colspan=\"3\">{{Notes}}</td>\n </tr>\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 10pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 8pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"Reminder\", \"ReminderName\", \"ReminderList\", \"Tags\", \"Reminder\", \"ReminderStartDate\", \"ReminderStopDate\", \"ReminderRecurrence\", \"ReminderNotes\", \"ReminderSourceType\", \"ReminderSourceID\", \"ReminderColor\" ]);\n\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":0,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Reviews grouped by user","Active":true,"Notes":"","Roles":50538,"AType":61,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <table>\n {{#each ayReportData}}\n <thead> \n </thead>\n\n <tbody>\n <tr>\n <th colspan=\"16\" class=\"leftlean reporttitle\">{{count}} {{ayT 'ReviewList'}} {{ayT 'ReviewUserId'}} {{group}}</th>\n </tr>\n <tr>\n <th colspan=\"16\">&nbsp;</th>\n </tr>\n\n {{#each items}}\n <tr>\n <th colspan=\"1\">&nbsp;</th>\n <th colspan=\"3\">{{ayT 'ReviewDate'}}:</th>\n <td colspan=\"4\">{{ReviewDate}}</td>\n <th colspan=\"3\">{{ayT 'ReviewAssignedByUserId'}}:</th>\n <td colspan=\"5\">{{AssignedByUserViz}}</td>\n </tr>\n <tr>\n <th colspan=\"1\">&nbsp;</th>\n <th colspan=\"3\">{{ayT 'ReviewName'}}:</th>\n <td colspan=\"12\">{{Name}}</td>\n </tr>\n <tr>\n <th colspan=\"1\">&nbsp;</th>\n <th colspan=\"3\">{{ayT 'ReviewNotes'}}:</th>\n <td colspan=\"12\">{{Notes}}</td>\n </tr>\n <tr>\n <th colspan=\"1\">&nbsp;</th>\n <th colspan=\"3\">{{ayT 'ReviewCompletedDate'}}:</th>\n <td colspan=\"12\">{{ayDateTime CompletedDate}}</td>\n </tr>\n <tr>\n <th colspan=\"1\">&nbsp;</th>\n <th colspan=\"3\">{{ayT 'ReviewCompletionNotes'}}:</th>\n <td colspan=\"12\">{{CompletionNotes}}</td>\n </tr>\n <tr>\n <th colspan=\"1\">&nbsp;</th>\n <th colspan=\"3\">{{ayT 'Tags'}}:</th>\n <td colspan=\"12\">{{Tags}}</td>\n </tr>\n <tr>\n <th colspan=\"1\">&nbsp;</th>\n <th colspan=\"3\">Wiki:</th>\n <td colspan=\"12\">{{ayWiki Wiki}}</td>\n </tr>\n <tr>\n <th colspan=\"16\">&nbsp;</th>\n </tr>\n <tr>\n <th colspan=\"16\">&nbsp;</th>\n </tr>\n {{/each}}\n\n </tbody>\n\n <tfoot>\n </tfoot>\n {{/each}}\n </table>\n\n <!-- <p> uncomment to see the raw data returned from the custom Prepare </p>\n <div>\n <p>{{ayJSON ayReportData}} </p>\n</div> -->\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 10pt; \r\n color: #9e9e9e;\r\n text-align: right;\r\n\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 8pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"ReviewList\", \"User\", \"ReviewUserId\", \"ReviewName\",\"ReviewDate\", \"ReviewNotes\", \"Tags\", \"ReviewAssignedByUserId\", \"ReviewCompletedDate\", \"ReviewCompletionNotes\" ]);\n\n ayData.ayReportData = ayGroupByKey(ayData.ayReportData, 'UserViz')\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":0,"Landscape":false,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Service Rates list","Active":true,"Notes":"","Roles":50554,"AType":62,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'ServiceRateList'}} list</p>\n </div>\n\n <table>\n <thead>\n <tr>\n <!-- to repeat column headers on every page, include in the thead -->\n <th colspan=\"3\">{{ayT 'ServiceRate'}}</th>\n <th colspan=\"3\">{{ayT 'Tags'}}</th>\n <th colspan=\"2\">{{ayT 'RateAccountNumber'}}</th>\n <th colspan=\"2\">{{ayT 'Cost'}}</th>\n <th colspan=\"2\">{{ayT 'RateCharge'}}</th>\n <th colspan=\"2\">{{ayT 'RateUnitChargeDescriptionID'}}</th>\n <th colspan=\"2\">{{ayT 'ContractRate'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n <tr>\n <td colspan=\"3\">{{Name}}</td>\n <td colspan=\"3\">{{Tags}}</td>\n <td colspan=\"2\">{{AccountNumber}}</td>\n <td colspan=\"2\">{{ayCurrency Cost}}</td>\n <td colspan=\"2\">{{ayCurrency Charge}}</td>\n <td colspan=\"2\">{{Unit}}</td>\n <!-- note that this if checks to see if ContractOnly is true - if true, shows checkmark, else shows not checked -->\n\t\t {{#if ContractOnly }}<td colspan=\"2\" class=\"centerlean\"><input type=\"checkbox\" id=\"manual1\" checked><label for=\"manual1\"> </label></td>{{else}}<td colspan=\"2\" class=\"centerlean\"><input type=\"checkbox\" id=\"manual1\" ><label for=\"manual1\"> </label></td>{{/if}}\n\t\t <!-- note that this if checks to see if ContractOnly is true - if true, shows checkmark, else shows not checked -->\n\n </tr>\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n border-bottom: solid 1pt #9e9e9e;\r\n height: 50px;\r\n font-size: 11pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 9pt;\r\n text-align: center;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}","JsPrerender":"async function ayPrepareData(ayData){ \n\n await ayGetTranslations([\"ServiceRateList\", \"ServiceRate\", \"Tags\", \"RateAccountNumber\", \"Cost\", \"RateCharge\", \"RateUnitChargeDescriptionID\", \"ContractRate\" ]);\n\n return ayData;\n}","JsHelpers":"","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":false,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Tax Codes List","Active":true,"Notes":"","Roles":124927,"AType":64,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'TaxCodeList'}} List</p>\n </div>\n\n <table>\n <thead>\n <tr>\n <!-- to repeat column headers on every page, include in the thead -->\n <th colspan=\"6\" class=\"leftlean\" >{{ayT 'TaxCodeName'}}</th>\n <th colspan=\"6\">{{ayT 'Tags'}}</th>\n <th colspan=\"2\">{{ayT 'TaxCodeTaxA'}}</th>\n <th colspan=\"2\">{{ayT 'TaxCodeTaxB'}}</th>\n <th colspan=\"2\">{{ayT 'TaxCodeTaxOnTax'}}</th>\n <th colspan=\"6\">{{ayT 'TaxCodeNotes'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n <tr>\n <td colspan=\"6\">{{Name}}</td>\n <td colspan=\"6\">{{Tags}}</td>\n <td colspan=\"2\">{{TaxAPct}} &#37;</td>\n <td colspan=\"2\">{{TaxBPct}} &#37;</td>\n <!-- note that this if checks to see if TaxOnTax is true - if true, shows checkmark, else shows not checked -->\n\t\t {{#if TaxOnTax }}<td colspan=\"2\" class=\"centerlean\"><input type=\"checkbox\" id=\"manual1\" checked><label for=\"manual1\"> </label></td>{{else}}<td colspan=\"2\" class=\"centerlean\"><input type=\"checkbox\" id=\"manual1\" ><label for=\"manual1\"> </label></td>{{/if}}\n\t\t <!-- note that this if checks to see if TaxOnTax is true - if true, shows checkmark, else shows not checked -->\n <td colspan=\"6\">{{Notes}}</td>\n </tr>\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed; /* the # of columns set in the first row of the thead will be fixed and applied throughout table and rows */\r\n }\r\n\r\nth {\r\n border-bottom: solid 1pt #9e9e9e;\r\n height: 50px;\r\n font-size: 11pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 9pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"TaxCodeList\", \"TaxCodeName\", \"Tags\", \"TaxCodeTaxA\", \"TaxCodeTaxB\", \"TaxCodeTaxOnTax\", \"TaxCodeNotes\" ]);\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":false,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Travel Rates list","Active":true,"Notes":"","Roles":50554,"AType":63,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'TravelRateList'}} list</p>\n </div>\n\n <table>\n <thead>\n <tr>\n <!-- to repeat column headers on every page, include in the thead -->\n <th colspan=\"3\">{{ayT 'TravelRate'}}</th>\n <th colspan=\"3\">{{ayT 'Tags'}}</th>\n <th colspan=\"2\">{{ayT 'RateAccountNumber'}}</th>\n <th colspan=\"2\">{{ayT 'Cost'}}</th>\n <th colspan=\"2\">{{ayT 'RateCharge'}}</th>\n <th colspan=\"2\">{{ayT 'RateUnitChargeDescriptionID'}}</th>\n <th colspan=\"2\">{{ayT 'ContractRate'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n <tr>\n <td colspan=\"3\">{{Name}}</td>\n <td colspan=\"3\">{{Tags}}</td>\n <td colspan=\"2\">{{AccountNumber}}</td>\n <td colspan=\"2\">{{ayCurrency Cost}}</td>\n <td colspan=\"2\">{{ayCurrency Charge}}</td>\n <td colspan=\"2\">{{Unit}}</td>\n <!-- note that this if checks to see if ContractOnly is true - if true, shows checkmark, else shows not checked -->\n\t\t {{#if ContractOnly }}<td colspan=\"2\" class=\"centerlean\"><input type=\"checkbox\" id=\"manual1\" checked><label for=\"manual1\"> </label></td>{{else}}<td colspan=\"2\" class=\"centerlean\"><input type=\"checkbox\" id=\"manual1\" ><label for=\"manual1\"> </label></td>{{/if}}\n\t\t <!-- note that this if checks to see if ContractOnly is true - if true, shows checkmark, else shows not checked -->\n\n </tr>\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n border-bottom: solid 1pt #9e9e9e;\r\n height: 50px;\r\n font-size: 11pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 9pt;\r\n text-align: center;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}","JsPrerender":"async function ayPrepareData(ayData){ \n\n await ayGetTranslations([\"TravelRateList\", \"TravelRate\", \"Tags\", \"RateAccountNumber\", \"Cost\", \"RateCharge\", \"RateUnitChargeDescriptionID\", \"ContractRate\" ]);\n\n return ayData;\n}","JsHelpers":"","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":false,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Users Grouped By User Type","Active":true,"Notes":"","Roles":124927,"AType":3,"IncludeWoItemDescendants":false,"Template":"<html>\n<body>\t\n\t<h2>{{ayT 'UserList'}} grouped by {{ayT 'UserType'}}</h2>\n\t<table>\n\t<thead>\n\t\t<tr>\n\t\t\t<th colspan=\"3\">&nbsp;</th>\n <th colspan=\"3\">{{ayT 'Name'}}</th>\n <th colspan=\"2\">{{ayT 'UserEmployeeNumber'}}</th>\n <th colspan=\"3\">{{ayT 'UserTypeService'}}</th>\n <th colspan=\"4\">{{ayT 'UserEmailAddress'}}</th>\n <th colspan=\"3\">{{ayT 'UserPhone1'}}</th>\n <th colspan=\"3\">{{ayT 'UserVendorID'}}</th>\n\t\t</tr>\n\t</thead>\n\n\t\n\t<tbody>\n {{#each ayReportData}}\n <tr>\n <td colspan=\"21\" class=\"leftlean\">{{count}} {{ayT 'UserList'}} assigned to {{ayT 'UserType'}} {{group}}</td> \n </tr>\n {{#each items}}\n <tr>\n <td colspan=\"3\">&nbsp;</td>\n <td colspan=\"3\">{{Name}}</td>\n <td colspan=\"2\">{{EmployeeNumber}}</td>\n {{#if IsTech}}<td colspan=\"3\"><input type=\"checkbox\" id=\"manual1\" checked><label for=\"manual1\"> </label></td>\n\t\t\t\t\t{{else}}<td colspan=\"3\"><input type=\"checkbox\" id=\"manual1\" ><label for=\"manual1\"> </label></td>{{/if}} \n <td colspan=\"4\">{{UserOptions.EmailAddress}}</td>\n <td colspan=\"3\">{{UserOptions.Phone1}}</td>\n <td colspan=\"3\">{{VendorViz}}</td>\n </tr>\t\n {{/each}}\n <tr>\n <td colspan=\"21\">&nbsp;</td>\n </tr>\n {{/each}}\n\t</tbody>\n\t\n <tfoot>\n </tfoot>\n\t</table>\n</body>\n</html>","Style":"h2 {\r\n color: #9e9e9e;\r\n}\r\n\r\ntfoot {\r\n border-top: 2px solid #9e9e9e;\r\n font-size: 7pt;\r\n text-align: center;\r\n}\r\n\r\n.singlePage\r\n{\r\npage-break-after: always;\r\n}\r\n\r\nbody {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed; \r\n }\r\n\r\nth {\r\n height: 30px;\r\n font-size: 9pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 7pt;\r\n text-align: center;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":"async function ayPrepareData(ayData){ \n\n await ayGetTranslations([ \"UserList\", \"Name\", \"UserType\", \"UserEmployeeNumber\", \"UserPhone1\", \"UserEmailAddress\", \"UserTypeService\", \"UserVendorID\" ]);\n\n ayData.ayReportData = ayGroupByKey(ayData.ayReportData, 'UserTypeViz')\n\n\n return ayData;\n}","JsHelpers":"","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"15mm","MarginOptionsRight":"15mm","MarginOptionsTop":"15mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Warehouses list","Active":true,"Notes":"","Roles":50554,"AType":66,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'PartWarehouseList'}} list</p>\n </div>\n\n <table>\n <thead>\n <tr>\n <!-- to repeat column headers on every page, include in the thead -->\n <th colspan=\"2\">{{ayT 'PartWarehouse'}}</th>\n <th colspan=\"2\">{{ayT 'Tags'}}</th>\n <th colspan=\"4\">{{ayT 'PartWarehouseNotes'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n <tr>\n <td colspan=\"2\">{{Name}}</td>\n <td colspan=\"2\">{{Tags}}</td>\n <td colspan=\"4\">{{Notes}}</td>\n </tr>\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n border-bottom: solid 1pt #9e9e9e;\r\n height: 50px;\r\n font-size: 11pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 9pt;\r\n text-align: center;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}","JsPrerender":"async function ayPrepareData(ayData){ \n\n await ayGetTranslations([\"PartWarehouseList\", \"PartWarehouse\", \"Tags\", \"PartWarehouseNotes\" ]);\n\n return ayData;\n}","JsHelpers":"","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":false,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Work Order Item Tasks","Active":true,"Notes":"","Roles":50538,"AType":42,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'WorkOrder'}} {{ayT 'WorkOrderItemList'}} {{ayT 'WorkOrderItemTasks'}} List</p>\n </div>\n\n <table>\n \n <thead>\n <tr>\n <th colspan=\"1\">{{ayT 'WorkOrder'}}</th>\n <th colspan=\"2\">{{ayT 'WorkOrderServiceDate'}}</th>\n <th colspan=\"4\">{{ayT 'WorkOrderItemSummary'}}</th> \n\n\n\t\t\t\t\t<th colspan=\"2\" class=\"centerlean\" >{{ayT 'WorkOrderItemTaskWorkOrderItemTaskCompletionType'}}</th> \n\t\t\t\t\t<th colspan=\"6\">{{ayT 'WorkOrderItemTasks'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n {{#each Items}}\n {{#each Tasks}}\n <tr>\n <td colspan=\"1\">{{../../Serial}}</td>\n <td colspan=\"2\">{{ayDateTime ../../ServiceDate}}</td>\n <td colspan=\"4\">{{../Notes}}</td>\n\n\t\t\t\t\t<!-- note that this if_eq is from a custom Helper --><!-- IF status equals Completed (value is 2) then displays with a checkmark -->\n\t\t\t\t\t{{#if_eq Status 2}}<td colspan=\"2\" class=\"centerlean\">{{StatusViz}} <input type=\"checkbox\" id=\"manual1\" checked><label for=\"manual1\"> </label></td>\n\t\t\t\t\t{{else}}<td colspan=\"2\" class=\"centerlean\">{{StatusViz}} <input type=\"checkbox\" id=\"manual1\" ><label for=\"manual1\"> </label></td>{{/if_eq}}\n\t\t\t\t\t<td colspan=\"6\">{{Task}}</td>\n \n </tr>\n {{/each}}\n {{/each}}\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 10pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 8pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"WorkOrderItemTasks\", \"WorkOrder\", \"WorkOrderItemList\", \"WorkOrderServiceDate\", \"WorkOrderItemSummary\", \"WorkOrderItemTaskWorkOrderItemTask\", \"WorkOrderItemTaskWorkOrderItemTaskCompletionType\" ]);\n\n\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers\r\n\r\n//custom helper so can do a direct comparison - i.e. if value equals xxxx, then show, else show yyyyy\r\n//note that this HAS to be added here in Helpers, is NOT built in\r\nHandlebars.registerHelper('if_eq', function(a, b, opts) {\r\n if(a == b) // Or === depending on your needs\r\n return opts.fn(this);\r\n else\r\n return opts.inverse(this);\r\n});","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":0,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Work Order Scheduled Users","Active":true,"Notes":"","Roles":50538,"AType":41,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n <p>{{ayT 'WorkOrderItemScheduledUserList'}} List</p>\n </div>\n\n <table>\n \n <thead>\n <tr>\n <th colspan=\"1\">{{ayT 'WorkOrder'}}</th>\n <th colspan=\"2\">{{ayT 'Customer'}}</th>\n <th colspan=\"2\">{{ayT 'WorkOrderItemWorkOrderStatusID'}}</th>\n <th colspan=\"4\">{{ayT 'WorkOrderItemSummary'}}</th> \n <th colspan=\"2\">{{ayT 'WorkOrderItemScheduledUsers'}}</th> \n <th colspan=\"2\">{{ayT 'WorkOrderItemScheduledUserStartDate'}}</th>\n <th colspan=\"1\">{{ayT 'WorkOrderItemScheduledUserEstimatedQuantity'}}</th>\n </tr>\n </thead>\n\n <tbody>\n {{#each ayReportData}}\n {{#each Items}}\n {{#each ScheduledUsers}}\n <tr>\n <td colspan=\"1\">{{../../Serial}}</td>\n <td colspan=\"2\">{{../../CustomerViz}}</td>\n <td colspan=\"2\">{{../WorkOrderItemStatusNameViz}}</td>\n <td colspan=\"4\">{{../Notes}}</td>\n <td colspan=\"2\">{{UserViz}}</td>\n <td colspan=\"2\">{{ayDateTime StartDate}}</td>\n <td colspan=\"1\">{{EstimatedQuantity}}</td>\n \n </tr>\n {{/each}}\n {{/each}}\n {{/each}}\n </tbody>\n\n <tfoot>\n </tfoot>\n\n </table>\n\n\n </div>\n</body>\n\n</html>","Style":"body {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n color: #9e9e9e;\r\n} \r\n\r\ntable { \r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n width: 100%;\r\n table-layout: fixed;\r\n }\r\n\r\nth {\r\n height: 20px;\r\n font-size: 10pt; \r\n color: #9e9e9e;\r\n}\r\n\r\ntbody td {\r\n padding: 10px;\r\n word-wrap: break-word;\r\n font-size: 8pt;\r\n}\r\n\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n font-size: 16pt;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n","JsPrerender":" \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\nasync function ayPrepareData(ayData) { \n\n await ayGetTranslations([ \"WorkOrderItemScheduledUsers\", \"WorkOrderItemScheduledUserList\", \"WorkOrder\", \"Customer\", \"WorkOrderItemWorkOrderStatusID\", \"WorkOrderItemSummary\", \"WorkOrderItemScheduledUserStartDate\", \"WorkOrderItemScheduledUserEstimatedQuantity\" ]);\n\n \n return ayData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\r\n//https://handlebarsjs.com/guide/#custom-helpers\r\n","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":0,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"Workorder Units grouped by Customer","Active":true,"Notes":"","Roles":50538,"AType":44,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n <div>\n <div class=\"reporttitle\">\n\t\t\t<p>{{ayT 'WorkOrder'}} {{ayT 'WorkOrderItemUnitList'}} grouped by {{ayT 'Customer'}}</p>\n\t\t</div>\n <table>\n <thead>\n <tr>\n <th colspan=\"2\" class=\"leftlean\" >{{ayT 'Customer'}}</th>\n <th colspan=\"1\">{{ayT 'WorkOrder'}}</th>\n <th colspan=\"1\">{{ayT 'WorkOrderServiceDate'}}</th>\n <th colspan=\"2\">{{ayT 'WorkOrderItemUnit'}}</th>\n <th colspan=\"1\">{{ayT 'WorkOrderItemWorkOrderStatusID'}}</th>\n <th colspan=\"3\">{{ayT 'WorkOrderItemSummary'}}</th>\n </tr>\n </thead>\n <tbody>\n {{#each ayReportData}}\n <tr>\n <td colspan=\"10\">{{group}}</td>\n </tr>\n {{#each items}}\n {{#each Items}}\n {{#each Units}}\n <tr> \n <td colspan=\"2\">&nbsp;</td>\n <td colspan=\"1\" class=\"centerlean\">{{../../Serial}}</td> <!--note the two ../ to go up levels to get this data -->\n <td colspan=\"1\" class=\"centerlean\">{{ayDate ../../ServiceDate}}</td><!--note the two ../ to go up levels to get this data -->\n <td colspan=\"2\" >{{UnitViz}} - {{UnitModelNameViz}}</td>\n <td colspan=\"1\" >{{../WorkOrderItemStatusNameViz}}</td><!--note the ../ to go up level to get this data -->\n <td colspan=\"3\" >{{../Notes}}</td><!--note the ../ to go up level to get this data --> \n </tr>\n {{/each}}\n {{/each}}\n {{/each}}\n <tr>\n <td colspan=\"10\">&nbsp;</td>\n </tr>\n\n <tr>\n <td colspan=\"10\">&nbsp;</td>\n </tr>\n {{/each}}\n </tbody>\n </table> \n </div>\n\n <!-- uncomment to see the raw data returned from the custom Prepare \n<div>\n <p>{{ayJSON ayReportData}} </p>\n</div> \n-->\n\n</body>\n</html>","Style":".minimum {\n font-size: 6pt;\n}\n\ntfoot {\n border-top: 2px solid #9e9e9e;\n font-size: 7pt;\n text-align: center;\n}\n\n.singlePage\n{\npage-break-after: always;\n}\n\nbody {\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \n}\n\n.reporttitle { \n margin-bottom: 20pt; \n font-weight: bold; \n font-size: 13pt; \n color: #9e9e9e;\n} \n\ntable { \n border-collapse: collapse;\n white-space: pre-wrap;\n width: 100%;\n table-layout: fixed; /* the # of columns set in the first row of the thead will be fixed and applied throughout table and rows */\n }\n\nth {\n height: 30px;\n font-size: 9pt; \n color: #9e9e9e;\n}\n\ntbody td {\n padding: 10px;\n word-wrap: break-word;\n font-size: 7pt;\n}\n\n\ntbody tr:nth-child(even) {\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\n}\n\n\n.rightlean {\n text-align: right;\n}\n.leftlean {\n text-align: left;\n}\n.centerlean {\n text-align: center;\n}\n\n\n.fontgreen {\n color: green;\n}\n.fontblue {\n color: blue;\n}\n.fontred {\n color:red;\n}\n\n","JsPrerender":"async function ayPrepareData(reportData){ \n //this function (if present) is called with the report data \n //before the report is rendered\n //modify data as required here and return it to change the data before the report renders\n //see the help documentation for details\n\n\treportData.ayReportData = ayGroupByKey(reportData.ayReportData, 'CustomerViz')\n\t\n\tawait ayGetTranslations([\"WorkOrder\", \"Customer\", \"WorkOrderServiceDate\", \"WorkOrderItemUnit\", \"WorkOrderItemUnitList\", \"WorkOrderStatus\", \"WorkOrderItemWorkOrderStatusID\", \"WorkOrderItemSummary\", \"WorkOrderSummary\" ]);\n\n\n\n return reportData;\n}","JsHelpers":"//Register custom Handlebars helpers here to use in your report script\n//https://handlebarsjs.com/guide/#custom-helpers\nHandlebars.registerHelper('loud', function (aString) {\n return aString.toUpperCase()\n})","RenderType":0,"HeaderTemplate":"<span>&nbsp; </span>","FooterTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"15mm","MarginOptionsRight":"15mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -0,0 +1 @@
{"Name":"z_replace carriage return with space","Active":true,"Notes":"Example custom Prepare to replace carriage return with space for a specific key of this object ","Roles":124927,"AType":8,"IncludeWoItemDescendants":false,"Template":"<html>\n\n<body>\n\t<div>\n\t\t<div class=\"reporttitle\">\n\t\t\t<p>Custom Prepare to remove carriage returns in {{ayT 'CustomerNotes'}}</p>\n\t\t</div>\n\t\t<table>\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th colspan=\"7\" class=\"leftlean\">{{ayT 'Customer'}}</th>\n\t\t\t\t\t<th colspan=\"1\">&nbsp;</th>\n\t\t\t\t\t<th colspan=\"7\">{{ayT 'CustomerNotes'}}</th>\n\t\t\t\t\t<th colspan=\"1\">&nbsp;</th>\n\t\t\t\t\t<th colspan=\"8\">Carriage returns removed in {{ayT 'CustomerNotes'}}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\n\t\t\t<tbody>\n\t\t\t\t{{#each ayReportData}}\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan=\"7\">{{Name}}</td>\n\t\t\t\t\t<td colspan=\"1\">&nbsp;</td>\n\t\t\t\t\t<td colspan=\"7\">{{Notes}}</td>\n\t\t\t\t\t<td colspan=\"1\">&nbsp;</td>\n\t\t\t\t\t<td colspan=\"8\">{{NotesNoCarriage}}</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan=\"24\">&nbsp;</td>\n\t\t\t\t</tr>\n\t\t\t\t{{/each}}\n\t\t\t</tbody>\n\t\t</table>\n\n\t\t<table>\n {{#each ayReportData}}\n <tbody>\n\t\t\t \t<tr>\n\t\t\t\t\t<td colspan=\"24\">&nbsp;</td>\n\t\t\t\t</tr>\n <tr>\n <td colspan=\"24\">This is a printout of the data returned from the Custom Prepare that this report now uses, each \"group\" is an object. Compare against the data that shows in the \"Sample Data\" when editing this report template.</td>\n </tr>\n <tr>\n\t\t\t <td colspan=\"24\">{{ayJSON this}}</td>\n </tr>\n </tbody>\n {{/each}}\n </table>\n\t</div>\n</body>\n</html>","Style":"\r\n.singlePage\r\n{\r\npage-break-after: always;\r\n}\r\n\r\nbody {\r\n font-family: 'Helvetica', 'Helvetica Neue', Arial, sans-serif; \r\n}\r\n\r\n.reporttitle { \r\n margin-bottom: 20pt; \r\n font-weight: bold; \r\n font-size: 13pt; \r\n text-align: center;\r\n color: #9e9e9e;\r\n} \r\n\r\n\r\ntable { \r\n table-layout: fixed; //setting this to fixed causes columns to be evenly spaced for the entire table regardless of cell content, and then colspan then \"works\" as expected\r\n font-family: 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif;\r\n border-collapse: collapse;\r\n white-space: pre-wrap;\r\n font-size: 8pt;\r\n width: 100%;\r\n }\r\n\r\n\r\nth {\r\n height: 30px;\r\n text-align: left;\r\n color: #9e9e9e;\r\n}\r\n\r\n\r\ntbody tr {\r\n height: 10px;\r\n word-wrap: break-word;\r\n}\r\n\r\ntbody tr:nth-child(even) {\r\n background-color: #f8f8f8; /* MUST checkmark Print background in PDF Options for this to show */\r\n}\r\n\r\n\r\n.fontgreen {\r\n color: green;\r\n}\r\n.fontblue {\r\n color: blue;\r\n}\r\n.fontred {\r\n color:red;\r\n}\r\n\r\n\r\n.rightlean {\r\n text-align: right;\r\n}\r\n.leftlean {\r\n text-align: left;\r\n}\r\n.centerlean {\r\n text-align: center;\r\n}","JsPrerender":"async function ayPrepareData(ayData){ \n\n await ayGetTranslations([ \"Customer\", \"CustomerNotes\" ]);\n\n //for each Customer, if the General Notes field is NOT null, creates a new key NotesNoCarriage and puts into it the text from Notes replacing ANY carriage returns with a space, so all text is on same line(s)\n for (EachCU of ayData.ayReportData) {\n if (EachCU.Notes != null) {\n n = EachCU.Notes;\n EachCU.NotesNoCarriage = n.replace(/[\\n\\r]+/g, ' ');\n }\n }\n\n return ayData;\n}","JsHelpers":"","RenderType":0,"HeaderTemplate":"<span style=\"font-size:6pt; width: 96%;text-align:left; \">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; Printed date: PDFDate</span>\n<span style=\"font-size:6pt;width: 96%; text-align: right; \">Page <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span>","FooterTemplate":"<span>&nbsp; </span>","DisplayHeaderFooter":true,"PaperFormat":10,"Landscape":false,"MarginOptionsBottom":"20mm","MarginOptionsLeft":"15mm","MarginOptionsRight":"15mm","MarginOptionsTop":"15mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}