各位大佬 如何通过一张表单来达到修改另一张工单的目的?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在宜搭中,可以通过以下步骤来使用一张表单来修改另一张工单:
可以考虑用表单业务关联规则来实现,业务规则 主要是用于处理表单与表单之间的关系,这种一张表单数据发生变化要同步影响另一张表单数据(增加、更新或者删除)。
比如需要计算物品的出库、入库和最终库存时,物品入库了,那么库存表相应的商品库存量就需要增加;当物品领用或者是入库表单被删除了,那么库存表里相应商品的库存量就应该减少。
在这三个事件(表单提交、表单删除、表单编辑)上都可以触发业务关联规则的执行; 业务关联规则需要使用下面四个高级函数,来完成对应用内其他表单的增删改查操作;
2.1.1 INSERT 格式:INSERT(form, form.field1, value1, form.field2, value2,......) ;
主要用于把当前录入表的数据插入到目标表中,为目标表单插入新实例。当前表单操作成功时,在目标表单(form)中插入新的实例,新实例中目标字段(field1,field2,......)依次为目标值(value1,value2,......),其余字段默认为空。
2.2.2 UPDATE 格式:UPDATE(form, rule, rule2, form.field1, value1, form.field2, value2,......)
主要用于更新目标表中符合条件的数据。当前表单操作成功时,若目标表单(form)存在满足过滤条件(rule,rule2)的实例,则依次更新实例的目标字段(field1,field2,......)为目标值(value1,value2,......)。
2.2.3 UPSERT 格式:UPSERT(form, rule, rule2, form.field1, value1, form.field2, value2,......)
主要用于往目标表单中插入或者更新数据。当前表单操作成功时,若目标表单(form)存在满足过滤条件(rule,rule2)的实例,则更新实例同 UPDATE,若不存在,则插入新实例同 INSERT。
2.2.4 DELETE 格式:DELETE(form, rule, rule2)
主要用于删除目标表的数据。当前表单操作成功时,若目标表单(form)存在满足过滤条件(rule,rule2)的实例,则删除此实例。
评论
全部评论 (0)
在宜搭中,您可以通过创建关联表单来实现通过一张表单来修改另一张工单的目的。以下是一些步骤:
创建主表单:首先,您需要创建一个主表单,其中包含您希望收集的数据。您可以在宜搭的设计器中创建表单,并添加所需的所有字段和控件。
创建关联表单:接下来,您需要创建与主表单相关联的子表单。子表单应该包含与主表单中的数据相关的详细信息或其他信息。同样,您可以在宜搭的设计器中创建子表单,并添加所需的字段和控件。
配置关联关系:在宜搭中,您可以通过配置关联关系来将主表单和子表单关联起来。这通常涉及将主表单中的某些字段设置为子表单的“关联字段”。这些关联字段将为主表单和子表单之间建立连接。
添加自动化任务:一旦您已经创建了主表单和子表单,并配置了它们之间的关联关系,您可以通过添加自动化任务来实现当主表单审批同意后动态修改子表单的目的。在宜搭的设计器中,您可以为主表单的审批节点添加一个脚本自动化任务。
编写脚本:在脚本自动化任务中,您可以编写 JavaScript 脚本来实现动态修改子表单的目的。通过使用 API 调用,您可以获取并更新子表单的关联字段的值。例如,在 JavaScript 脚本中,您可以使用以下代码来获取子表单控件,并更新关联字段的值:// 获取子表单控件
const subform = data.get('subform');
// 子表单控件名
const subformData = data.get(subform);
// 子表单数据
const subformRow = subformData[0];
// 更新关联字段的值
subformRow.relationField.columnType = 'approval';
// 保存更新后的子表单数据
data.set(subform, subformData);
这样,当主表单的审批节点被同意后,将触发脚本自动化任务,自动更新子表单的关联字段的值。
评论
全部评论 (0)
你好,我是AI助理
可以解答问题、推荐解决方案等
评论
全部评论 (0)