This commit is contained in:
2022-02-16 20:20:09 +00:00
parent a3267c4e17
commit f01bce79b8
14 changed files with 11 additions and 335 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1 +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\", \"WorkOrderItemTaskWorkOrderItemTaskCompletionType\" ]);\n\n\n \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\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}
{"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 'PM'}} {{ayT 'WorkOrderItemList'}} {{ayT 'WorkOrderItemTasks'}} List</p>\n </div>\n\n <table>\n \n <thead>\n <tr>\n <th colspan=\"1\">{{ayT 'PM'}}</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\", \"PM\", \"WorkOrderItemList\", \"PMNextServiceDate\", \"WorkOrderItemSummary\", \"WorkOrderItemTaskWorkOrderItemTaskCompletionType\" ]);\n\n\n \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\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}

File diff suppressed because one or more lines are too long

View File

@@ -1 +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 'PM'}}</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([ \"PM\", \"PreventiveMaintenance\", \"WorkOrderItemScheduledUsers\", \"WorkOrderItemScheduledUserList\", \"WorkOrder\", \"Customer\", \"WorkOrderItemWorkOrderStatusID\", \"WorkOrderItemSummary\", \"WorkOrderItemScheduledUserStartDate\", \"WorkOrderItemScheduledUserEstimatedQuantity\" ]);\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":0,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}
{"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 'PM'}} {{ayT 'WorkOrderItemScheduledUserList'}} List</p>\n </div>\n\n <table>\n \n <thead>\n <tr>\n <th colspan=\"1\">{{ayT 'PM'}}</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([ \"PM\", \"PM\", \"WorkOrderItemScheduledUsers\", \"WorkOrderItemScheduledUserList\", \"WorkOrder\", \"Customer\", \"WorkOrderItemWorkOrderStatusID\", \"WorkOrderItemSummary\", \"WorkOrderItemScheduledUserStartDate\", \"WorkOrderItemScheduledUserEstimatedQuantity\" ]);\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":0,"Landscape":true,"MarginOptionsBottom":"15mm","MarginOptionsLeft":"20mm","MarginOptionsRight":"20mm","MarginOptionsTop":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}

View File

@@ -1 +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; \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":"","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}
{"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 'PM'}}</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; \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([\"PM\", \"PMList\", \"Customer\", \"PMNextServiceDate\", \"WorkOrderItemUnit\", \"WorkOrderItemUnitList\", \"WorkOrderStatus\", \"WorkOrderItemWorkOrderStatusID\", \"WorkOrderItemSummary\", \"WorkOrderSummary\" ]);\n\n\n\n return reportData;\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":"10mm","PageRanges":null,"PreferCSSPageSize":false,"PrintBackground":true,"Scale":1.00000}