你遇到的问题是:在宜搭流程中使用“获取签到记录”连接器获取了数据,虽然在表单详情页能看到数据,但这些数据没有真正保存到子表单的数据库字段中,导致在后续流程、数据联动或导出时无法使用。
这个问题的核心在于:连接器获取的数据需要通过“赋值”操作,明确地写入到表单的字段里,才能完成持久化保存。
仅仅调用连接器获取数据,但不进行赋值,数据只存在于运行时上下文中,不会自动保存到数据库。
✅ 解决方案:使用“赋值”操作将连接器数据写入子表单
你需要通过 “业务规则” 或 “流程节点前/后事件” 来完成数据的赋值操作。
以下是详细步骤:
步骤一:确保子表单字段已创建
进入你的宜搭应用设计。
找到主表单中的子表单组件。
确认子表单内已经创建了用于接收签到记录的字段,例如:
签到人签到时间签到地点经纬度等记下这些字段的字段标识(Field ID),后面赋值时需要用到。
步骤二:配置连接器并赋值(推荐在“业务规则”中操作)
进入 “流程设计” 或 “数据管理” 页面。
找到触发获取签到记录的时机(例如:表单提交前、某个按钮点击后、流程节点开始时)。
添加一个 “业务规则” 或在 “自定义按钮” / “流程节点” 的事件中 添加逻辑。
示例:在“业务规则”中配置
点击添加“业务规则”。
触发条件:选择合适的触发时机,例如“表单提交前”或“某个字段变更时”。
执行动作:
第一步:执行连接器 → 选择“获取签到记录”连接器,配置好参数(如用户ID、时间范围等)。
第二步:赋值 → 这是关键!
添加“赋值”动作:
在动作列表中选择 “赋值”。
目标字段:选择你的子表单中的某个字段(如“签到时间”)。
赋值来源:选择“连接器返回结果”。
在弹出的结构中,找到你连接器返回的签到记录数组,选择对应的字段(如
data[0].checkin_time)。点击确定。
重复赋值:为子表单中的每一个需要填充的字段都添加一条“赋值”动作。
处理多条记录:
如果签到记录有多条,而子表单需要显示多行,你需要使用 “循环” 动作。
在“业务规则”中添加“循环”,遍历连接器返回的签到记录数组。
在循环体内,使用“新增子表单行”动作,然后为新行的各个字段进行赋值。
步骤三:提交表单
完成上述配置后,当你触发该逻辑时:
连接器获取签到数据。
通过“赋值”动作,数据被写入到子表单的字段中(可能新增了行)。
表单提交时,这些已被赋值的子表单数据就会被真正保存到数据库。
📌 关键点总结
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 详情页能看到数据 | 连接器成功执行,数据在运行时显示 | ✅ 正常 |
| 数据未保存到子表单 | 缺少“赋值”操作,数据未写入字段 | ❌ 必须添加“赋值”动作 |
| 导出/联动用不了数据 | 数据未持久化 | ✅ 赋值后提交即可 |
💡 建议
调试技巧:可以在赋值后,使用“日志打印”动作输出字段值,确认是否赋值成功。
查看字段标识:进入表单设计,点击字段,在右侧属性面板查看“字段标识”(通常是
field1,field2或自定义ID)。参考官方文档:搜索“宜搭 业务规则 赋值”或“宜搭 连接器 数据写入”查看最新操作指引。
按照以上步骤操作,即可将连接器获取的签到数据真正保存到子表单中,而不仅仅停留在“详情预览”层面。