自己的模板
默认订单模板
STOLL随STOLL PPS一起提供的订单模板(见订单模板管理,默认订单模板及其参数)可帮助您快速掌握模板的使用方法。
模板用来创建一个XML工票。
您可以根据具体应用情况调整模板,可通过如下方式:
- 移除参数
- 添加参数
- 预设参数
- 锁定模板的预设,以防止不正确的输入。
- 在模板XML里TEMPLATE_TAGS下的所有内容是用来在工票里创建编辑框的。
- 包含在 CDATA 段的所有内容都通过 Velocity 机制,借助输入的数据和 AddTag 宏,写入*.XML工票文件。
- Velocity 机制对模板中的每个条目行进行处理,不管之前处理的行,在XML模板中搜索指定的引用,用输入的内容来替代,并在工票中写入行。如果引用被整合到一个宏里,那么可以调用这个宏来创建 XML 文件中的输出。
默认订单模板的参数
默认订单模板的参数有几种不同的输入格式,具有以下共同点:
- 参数的编辑框通常包含一个注释,位于括号[]内。当工票是由 Velocity 宏 AddTag 创建时,这个注释会被移除。
- 参数编辑框可用于记录多个参数元素。
- 在这种情况下,参数元素之间由分号(;)分隔。可以在注释字段描述希望哪些单个元素。
- 对于那些不使用的可选参数,应该保留分号,以保持参数的排列顺序。在示例中,第三个参数被省略。大多数参数不是可选填的,只要一个参数被填写就必须指定这些参数。
- 如果没有输入,标签将不会包括在XML订单里。例外:
- 您可以使用 Velocity AddTAG 宏来预设默认值。
如果有用来输入这个参数的编辑框,且未输入任何内容,这些默认值包含在结果 XML 工票里。(例如:IMAGE、LOGO或OP_AUTHENTICATION_NEEDED)
示例:#AddTAG("<LOGO>$ParamList[0]</LOGO>" $LOGO "Templates/Logo.png")
- 如果编辑框 LOGO 为空白,在工票中 LOGO 选项卡将会取 Templates/Logo.png。
- 如果ORDER_VELOCITY和CUSTOM_VELOCITY区块中的一行没有对编辑框的引用设置,则该行将自动输入到工票XML中。
示例:<STOLL:MACHINE_INFO>
<STOLL:TC_LOAD_DATE/>
<STOLL:TC_DONE_DATE/>
<STOLL:DONE_EXECUTIONS/>
<STOLL:TC_STATE/>
<STOLL:PATTERN_NAME/>
<STOLL:CURRENT_SHIFT/>
<STOLL:USER_NAME/>
</STOLL:MACHINE_INFO> - 模板中提到的 Velocity AddTAG- 宏可以在一行中输入几个参数和注释。
- 每个 ORDER_VELOCITY 和 CUSTOM_VELOCITY 区块都有各自的AddTAG-宏,但目前这些宏是不相同的。
- 注意,条目不能包括任何 XML 控制符,如<>,。如果确实需要使用这类控制符,可以用{},替代,或者转换字符(XML 中的特殊字符)
- 如果应用了宏,输入数据中不能包含任何;或[符号,因为这些字符会被AddTAG宏认为是分隔符。
如果必要,可以在模板里修改宏,或者添加另一个使用其他分隔符的宏。 - 下表是默认Auto Production模板的三个示例参数 TITLE、LOGO和DIMENSION。
- 所有参数都有一个注释。
- LOGO 参数是一个到图像文件的路径。这个参数可以是绝对或相对地指向template目录。
- DIMENSION参数包含四个元素,分别为尺码、长度、宽度、重量。
模板名称 | 扩展参数 |
Auto Production | TITLE; [Title for ticket] LOGO; [String; FilePath to Logo] : DIMENSION;;;; [Size;Length;Width;Weight]: |
如何创建个人模板:
- 576
- 使用 Stoll 模板文件作为基础。
(见D:\PPS\SampleTickets\PpsTicketTemplate下的XML文件) - 577
- 给模板起个唯一名,将其输入到ORDER_TEMPLATE标签的name属性里。
- 578
- 借助TEMPLATE_DESCRIPTION,可以给您的模板添加一个描述性的文本。
- 579
- 在标题栏 ORDER_VELOCITY 和 CUSTOM_VELOCITY 区段之外,可以放置那些要包含在生成的工票里的标签,但不需要做任何输入,不是默认区域,而且不可见。
参考如何在提供的模板里 TEMPLATE_DESCRIPTION 之下包含 PRODUCTION_INFO 块。 - 580
- 需要在订单模板里可见的编辑框必须在TEMPLATE_TAGS区段里提及。
订单和工票之间有区别:
CUSTOM_TAG
这里定义所有属于USER_TAG的标签。
示例:<CUSTOM_TAG label="LOAD_PAT_CONTAINER_COMP" editable="true">;;; [SIN;JAC;SET; Each [1||0], 0 prevents loading pattern component. Consider need of ERASE_ALL=false.]</CUSTOM_TAG>
- label属性指定名称,这个名称将显示在工票模板里。
- 如果是 StollTicket.xsd 的标签,那么名称也是 ORDER_VELOCITY \ CDATA 区块中应用的一个引用($LOAD_PAT_CONTAINER_COMP)。
- 借助在 CustomTicket.xsd 里指定名称的标签,引用被列于 CUSTOM_VELOCITY \ CDATA 区块之下。
- 有了这个引用,到编辑框的关系就创建出来了。Velocity 机制搜索引用并将输入分配给找到的行。
- editable属性指定了输入区是否可以更改。
如果要将一个值指定为不可更改,有必要使用锁。 - CUSTOM_TAG值包含一个要分配给标签的值。
- 如果使用CDATA下的AddTag宏,您可以使用带有几个参数的标签,这几个参数之间用分号隔开。
- AddTag宏将注释分开,从参数(;)的第一个括号([)开始,并将(;)参数拆分成ParamList[]数组。
- 在 AddTag 提供的标签上,您可以在属性和主值之间分配 $ParamList[n]。
n代表在输入处的参数位置,从0开始。 - 示例:
#AddTAG("<STOLL:LOAD_PAT_CONTAINER_COMP SIN='$ParamList[0]' JAC='$ParamList[1]' SET='$ParamList[2]' />" $LOAD_PAT_CONTAINER_COMP)
- 可选属性
- 为控制可选属性,需要告知宏,哪个属性是可选属性。通过在一个属性前加一个Opt[n]:前缀来设置。n必须对应输入处的参数位置,因为对于ParamList 即是如此。
- 示例:
#AddTAG("<STOLL:LOAD_PAT_CONTAINER_COMP Opt[0]:SIN='$ParamList[0]' Opt[1]:JAC='$ParamList[1]' Opt[2]:SET='$ParamList[2]' />" $LOAD_PAT_CONTAINER_COMP)
USER_TAG
在这里定义标签,这些标签将作为用户反馈出现在机器上,作为用户数据列表显示在 (4) 中。
窗口 示例:<USER_TAG label="Faulty pieces" editable="true">30%</USER_TAG>
- label 属性指定名称,这个名称将显示在 列表里。
可以指定一个输入值作为默认值(此处30%)。
对于可能正确值这样的操作是有意义的,可用于定位或作为信息。 - 与CUSTOM_TAG相反,USER_TAG不受Velocity机制限制,通过 PPS 软件隐式创建一个在 XML 工票中的条目。
- 581
- 在将模板文件加载到PPS之前,根据 StollOrderTemplates.xsd 验证您自己的模板。
合适工具:
Notepad++ 和 XML Tools Addin
(见安装文件的 PpsInstallation\Tools\Notepad++ 文件夹) - 582
- 将模板文件保存起来,名称以...,,,OrderTemplate.xml结尾。
- 583
- 然后将您的新模板导入到PPS:
给个人模板分配自己的文件名和模板名。
- 如果对一个默认模板或一个 Stoll 默认模板模型文件(D:\PPS\SampleTickets\PpsTicketTemplate)进行了编辑,更新 PPS 软件时,所做的模板更改都将丢失。
- 现有STOLL 模板文件是通过在 D:\PPS\PpsJBossServer\PpsServerInstallScripts\PpsLast\ PpsSwUsedTillSetup_... 下的更新而得到保护。
- 当导入更新的模板时,您在PPS里直接进行的针对 STOLL 默认模板的更改将全部丢失。
- 您只能通过将数据库恢复到模板被替换之前的日期,找回所做更改。
- 如果要进行更新,请仔细阅读支持文档(特别是 有哪些更新)并将重要更新应用到您自己的模板上。
- Stoll 模板的技术更改不会自动应用到您的模板上。