大家好,还记得我们在12月11日教大家“如何在子表单中自动填充数值”吗?这是工作流程自动化中的一个小技巧。实际上,这个小技巧还有一层延伸,这一次我们一起来看,在Creator中,如何动态自动填充子表单中的行。
我们继续使用上一次的应用程序表单,我们的目的是,在主表单中有产品名称字段,并且需要根据主表单中选择的选项在子表单中的字段里自动显示对应产品的价格。
如下图,主表单“鞋类与价格”中有“鞋类品牌”字段,对应Puma和Nike两个品牌,当选择其中一个品牌时,我们希望能在下方的“价格”子表单中自动填充价格,而不再需要点击“新建”按钮。
为此,我们需要在用户选择对应选项的期间编写一套Deluge脚本,如以下步骤所示:
转到应用程序右上角,点击“编辑应用”,单击左上角“+”号创建一个在“使用表单时”的新工作流,如下图所示,选择运行该工作流所需要的表单(在本例中使用“鞋类与价格”),选择“已创建”选项,命名工作流之后,单击创建工作流。
单击“添加新的操作”,选择“Deluge脚本”,在“当子表单中添加行时”中选择子表单。
在为工作流程编写脚本之前,需要做几件事情来确保工作流程的完美运行。
· 在主表单中确定相应子表单的行变量
· 使用行变量将值分配给子表单字段
· 确定一个集合变量
· 将行变量插入集合变量
· 将集合插入子窗体
现在,让我们插入脚本:
让我们详细了解一下我们在这里所做的事情:
1. if(input.Shoes ==“ Puma”)// if语句可帮助您验证输入
2. {
3. row1 = Mainform.SubForm(); //声明一个行变量,该变量属于主表单中的相应子表单
4. row1.Currency = 100.00; //将值分配给子表单字段
5. row= Collection(); //声明一个集合变量来保存行
6. rows.insert(row1); //将行变量插入集合变量
7. input.SubForm.insert(rows); //将集合插入子表单
8. }
9. else,if(input.Shoes ==“ Nike”)
10. {
11. row1 = Mainform.SubForm(); //声明一个行变量,该变量属于主表单中的相应子表单
12. row1.Currency = 200.00; //为子窗体字段分配一个值
13. row= Collection(); //声明一个集合变量来保存行
14. rows.insert(row1); //将行变量插入集合变量
15. input.SubForm.insert(rows); //将集合插入子表单
16. }
随后,不要忘记保存工作流。
接下来就看看最终的效果吧~
选择Nike后,子表单中会自动使用其对应的值填充行。
希望这个技巧可以帮助到您!如果有问题,请随时与我们联系!