本文作者陈捌华,感谢捌老师倾情奉献。
概述
Process builder是Delmia Apriso中主要的业务流程管理工具,也是DELMIA更广泛的Apriso制造运营管理解决方案的核心应用程序,Process Builder允许使用屏幕流管理设计方法和实体(如项目、屏幕、布局、视图和操作(函数))创作用户界面和业务逻辑。该应用程序能够快速方便地管理和修改开发的设计,使您能够根据需要随时更改业务流程。由于增强了对可重用性的支持,以前开发的逻辑可以在新的设计中快速重用。
本文介绍几个在常规培训学习中容易被忽略,但又能有效提升开发效率的Process builder调试技巧。
页面执行流程
在开始代码调试前,每个开发者首先需要了解和熟悉Process builder页面处理流程:
Action链(Next Action):
当需要多步骤的后台验证或处理时,请确保将验证和处理操作划分为专用的(更细粒度的)标准操作。接下来必须使用Next Action特性来确定如何以及何时执行每个验证或处理操作。
使用Next Action特性将确保您的业务逻辑中使用的标准操作具有更好的可重用性。
Action优先级:
Process builder中有多个不同的Action源,在选择要执行的Action之前(按顺序)对所有这些源进行分析。提交Screen后,按照以下顺序确定下一步处理:
调试视图介绍
Process builder中提供了server mode和client mode两种页面运行模式,两种模式页面渲染模式不同,同样调试视图、debug tree等也存在差异(详细差异可能在其他文档中进行介绍)。
会话变量Tab页:
会话变量选项卡包含一个Grid清单,其中列出了正在执行的步骤或屏幕使用的所有会话变量。它包含例如,列-名称和值。变量颜色的含义:
如果输入的任何值是不可接受的,则单击“更新会话变量值”按钮时将显示错误消息。更新的会话变量保存为用户个性化。每个用户、操作和步骤的个性化设置是不同的。
在Client mode下,还允许进行变量的导出、导出和新增、删除。
搜索框:
可以通过选择适当的复选框按名称和/或值进行搜索。选中复选框后,搜索算法将遍历所有树节点,只标记与输入值匹配的节点。第一个匹配节点的父节点会自动展开,节点本身也会被标记。
右/左箭头按钮可用于导航到下一个/上一个匹配节点。导航到下一个匹配节点总是影响所有父节点的展开(然后只标记匹配节点)。使用这个搜索功能,可以方便地跟踪会话变量在整个运行周期中的输入输出和值变化。
调试树:
而在client mode运行时:
调试树显示在屏幕流(屏幕、视图和操作)期间计算的所有实体的屏幕。客户端模式下可以出现的条目:
User fomula函数快速设置输入参数
1、在调试树中选中对应函数节点,右键点击“Copy Input values”即可以获取当前函数在运行时的输入参数值;
2、打开Function编辑框后,选中“从剪贴板粘贴”即可完成输入参数的赋值
AJAX调试
▶第一步,通过浏览器调试工具,定位到Ajax调用的请求
▶第二步,选中inputs参数,右键选中“复制object”
▶第三步,Process builder中打开Operation,并选择“高级测试运行”运行,点击“从剪贴板粘贴测试值”,点击“可以”进行测试运行
获取GRID/SQL Query函数运行时SQL语句
在调试树中选中Grid或者SQL Query函数节点,右键点击“复制SQL”即可以获取当前Grid中使用的SQL语句:
Ctrl+V复制结果,复制结果可以粘贴到相应的SQL开发工具中进一步进行调试和问题排查。
Developer Tools视图
Process builder中内置了Developer Tools视图视图,在测试运行模式下,可以通过菜单视图—>“HTML 源”来打开,这个和Chrome浏览器的开发者工具是一样的,可以用于页面调试。
Javascript调试
一般浏览器都内置了调试工具,内置的调试工具可以开始或关闭,严重的错误信息会发送给用户。我们就可以设置断点 (代码停止执行的位置), 且可以在代码执行时检测变量。
浏览器启用调试工具一般是按下 F12 键,并在调试菜单中选择 "Console" 。主要的几个调试方法有:
1、浏览器控制台console调试
console.log ('普通信息'),可以输出文本、指定id的DOM对象、指定对象
console.info ('提示性信息')
console.warn ('警示信息')
console.error ('错误信息')
(selector)是对ocument.querySelectorAll() 的封装。返回的是所有满足选择条件的元素的一个集合。
2、设置断点:
在调试窗口中,你可以设置 JavaScript 代码的断点。在每个断点上,都会停止执行 JavaScript 代码,以便于我们检查 JavaScript 变量的值。在检查完毕后,可以重新执行代码(如播放按钮)。
3、debugger 关键字
debugger 关键字用于停止执行 JavaScript,并调用调试函数。这个关键字与在调试工具中设置断点的效果是一样的。可以在需要断点的语句前加入debugger关键字设置断点,如果没有调试没有打开,debugger 语句就不会起效。
远程调试
远程调试只有在Client 模式下可以使用,此功能允许在Process Builder之外运行屏幕时进行调试,即在浏览器中(通过在DELMIA Apriso Portal中启动的FlexPart)或在移动设备上(通过在DELMIA Apriso移动应用程序中启动的FlexPart)。使用方法如下:
1、开始一个屏幕的测试运行。
2、登录Portal或移动设备,并运行同一个Screen的实例。
3、选中“启用远程调试”框。
4、从下拉菜单中选择要显示结果的远程会话(由员工姓名(时间)、主机名、用户平台、浏览器版本标识,例如System Administrator(10:57:42)、hostname.com、Windows 10、Chrome 76.0)。
调试树将实时显示远程会话的结果,其他信息和错误显示在Debug Results选项卡的Properties部分中。