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