本文作者陈捌华,感谢捌老师倾情奉献。
概述
Process builder是Delmia Apriso中主要的业务流程管理工具,也是DELMIA更广泛的Apriso制造运营管理解决方案的核心应用程序,Process Builder允许使用屏幕流管理设计方法和实体(如项目、屏幕、布局、视图和操作(函数))创作用户界面和业务逻辑。该应用程序能够快速方便地管理和修改开发的设计,使您能够根据需要随时更改业务流程。由于增强了对可重用性的支持,以前开发的逻辑可以在新的设计中快速重用。
本文介绍几个在常规培训学习中容易被忽略,但又能有效提升开发效率的Process builder Html相关内容。
控件标签
控件标签主要分为:
Screen Interface函数
Screen Interface函数不能手动创建,当使用HTML布局编辑器功能时,它会自动显示。
Screen Interface函数有以下限制:
Apriso内置自定义属性
Apriso提供了在HTML布局编辑器和HTML编辑器的HTML选项卡中使用的特殊的客制化属性,详情请参考:http://[ServerName]/Apriso/Help/en-us/ProcessBuilder/index.htm#Custom_Attribute_Overview.htm?TocPath=Managing%2520Processes%2520and%2520Operations%257CManaging%2520HTML%2520Layout%2520Editor%257CScreen%2520Interface%257CAttributes%257C_____0
$Context上下文对象
$Context是一个特殊变量,它为HTML Layout Editor(Screen Interface函数)提供了多种功能。此变量只能在Process Builder中的HTML中使用。
AJAX调用
▶第一步,新建step
▶第二步,链接需要异步调用的Operation到step
选中step并在属性视图中选择Advanced标签页,在Invoke Operations/AJAX中点击“+”链接到需要调用的Operation,可以指定项目和版本
▶第三步,拖拽 AJAX Operation to the HTML Layout Editor (HTML tab).
完成拖拽后,Process builder自动添加一个按钮html代码,并生成全功能JavaScript代码,可以根据实际需要进行修改
▶第四步,根据需要修改输出的处理
在调用时传递Function函数(在successCallback上,在errorCallback上)参数。
function call_AJAX_Operation_1_0(context, Input1, successCallback,errorCallback){
var inputs = {};
inputs.Input1 = Input1;
context.callOperation('AJAX Operation','1.0', inputs,
function(outputs){
//Operation outputs: Output1
if (typeof successCallback == "function")
successCallback(outputs);
else {
var message = 'Result:';
for(var name in outputs)
message = message + '\r\n ' + name + ': ' + outputs[name];
alert(message);
}
},
function(message) {
if (typeof errorCallback == "function")
errorCallback(outputs);
else
alert(message);
});
}
async function call_AJAXOperation(context, input1){
var inputs = {};
inputs.input1 = input1;
try {
var result = await context.callOperation
('AJAXOperation', 'REV.001.000', inputs);
var message = 'Result:';
for(var name in result) {
message = message + '\r\n ' + name + ': ' + result[name];
}
alert(message);
} catch (ex) {
console.log(ex);
}
}
注意:当响应消息来自词条时,其ID可从message.literalId(用于errorCallback)和ex.literalId(用于catch)访问。
占位符
以下占位符可用于HTML布局编辑器的CSS、JavaScript和HTML选项卡:
[Apriso] – 对应"<drive>\Program Files\Dassault Systemes\DELMIA Apriso 2023\WebSite\Portal" 目录
[AprisoStyles] – 对应 <drive>\Program Files\Dassault Systemes\DELMIA Apriso 2023\WebSite\Portal\Styles\Default" 目录
[AprisoScripts] – 对应 "<drive>\Program Files\Dassault Systemes\DELMIA Apriso 2023\WebSite\Portal\Scripts"目录
最佳实践
1. 保持代码缩进
2. 标签名称和属性使用小写
3. 标签名称和属性不要添加多余的空格
4. 多个属性之间只用一个空格
5. 不要忽略标签封闭
6. 使用双引号,不要双引号和单引号混用
7. 布尔boolean型属性不要使用value值,只要填写属性命即可
8. &,<,>,"和'符号需要进行转义,如<h1>The "&" character</h1>
9. 注释中间使用空格符号,如<!-- This section is non-normative -->
10. List项一行写一项
11. 使用<br>进行换行
12. 使用Alt属性显示图像无法显示时的替代文本,如<img alt="HTML Best Practices" src="/img/logo.png">
13. Submit类型input添加Value属性,如:<input type="submit" value="Search">
14. Label标签,不要使用placeholder属性,正确写法:<label>Email: <input name="email" placeholder="john.doe@example.com" type="text"></label>
15. 编写Table是每个单元格使用一行
16. Option元素每行填写一个选项
17. Progress元素中使用max属性,如:<progress max="100" value="50">50%</progress>
18. Meter原始使用min、max属性,如:<meter min="0" max="1024" value="10">10/1024GB used</meter>