在使用钉钉宜搭时,开启“图片智能读取信息”(OCR)功能后,无法自动将识别出的信息填充到对应的子表单中,这是一个常见且令人困扰的问题。这通常是因为数据映射配置不正确或子表单字段的关联逻辑未设置。
以下是详细的排查和解决方案:
一、 核心原因分析
字段映射错误:OCR 识别出的字段(如“姓名”、“身份证号”)没有正确映射到子表单中的目标字段。
子表单是动态的:子表单可以添加多行,系统不知道应该将数据填充到哪一行(通常是第一行或新建行)。
数据类型不匹配:OCR 识别出的是文本,但目标子表单字段是数字、日期等类型。
触发时机问题:OCR 识别完成后的“自动填充”动作未正确触发或配置。
权限或版本问题:当前宜搭版本不支持将 OCR 数据直接填充到子表单,或账号权限不足。
二、 解决方案与操作步骤
方案1:检查并正确配置 OCR 字段映射(最常见)
这是最可能出错的环节。
进入表单设计:
打开你的宜搭应用,进入表单设计页面。
找到图片上传控件:
选中你启用了“图片智能读取信息”的图片上传控件。
配置智能识别字段:
在控件设置面板中,找到“智能识别”或“OCR”设置。
系统会列出识别出的字段(如“姓名”、“号码”、“有效期”等)。
关键步骤:为每一个识别出的字段,手动选择它应该填充到的目标字段。
问题所在:默认情况下,这些字段可能只映射到了主表单的字段,而没有映射到子表单。
映射到子表单字段:
OCR 识别出的“姓名” → 映射到
子表单.客户姓名OCR 识别出的“身份证号” → 映射到
子表单.证件号码在“字段映射”下拉菜单中,展开“子表单”节点。
选择子表单中对应的字段。例如:
✅ 重要提示:确保子表单中的目标字段已创建,并且名称清晰可辨。
方案2:确保子表单有数据行(解决“填充到哪一行”问题)
OCR 无法向一个“空”的子表单填充数据,必须先有一行数据。
方法A:预设一行空数据
在表单设计时,进入子表单设置。
找到“默认行数”或“初始化行数”选项。
设置为
1,这样表单打开时子表单就有一行空白数据。OCR 识别后,数据就会填充到这一行。
方法B:通过关联规则自动添加一行
当
图片上传控件有值时执行
向子表单添加一行在“流程设计”或“关联规则”中,设置一个规则:
这样,一旦上传图片,系统会自动创建一行,然后 OCR 数据就可以填充进去了。
方案3:使用“关联规则”或“计算字段”作为中转
如果直接映射不生效,可以采用“间接填充”策略。
创建主表单中转字段:
在主表单中创建几个临时字段,如
OCR_姓名、OCR_身份证号。配置 OCR 映射到中转字段:
将 OCR 识别结果先映射到这些主表单的中转字段。
设置关联规则填充子表单:
条件:
OCR_姓名不为空执行动作:
设置子表单.客户姓名等于OCR_姓名进入“关联规则”设置。
添加规则:
为其他字段(身份证号、有效期等)添加类似规则。
这种方法更灵活,适合复杂逻辑。
方案4:检查数据类型和格式
确保 OCR 识别出的文本格式与子表单目标字段的类型兼容。
例如,如果目标字段是“日期”,而 OCR 识别出的是“2025年10月29日”,需要确保格式匹配,或使用“计算字段”进行格式转换。
在字段设置中检查“数据类型”是否一致。
方案5:检查宜搭版本与权限
确认功能支持:联系钉钉客服或查阅宜搭最新文档,确认当前版本是否支持“OCR数据填充到子表单”。某些高级功能可能仅限专业版或专属版。
账号权限:确保你的账号有“编辑表单”和“配置智能识别”的权限。
三、 验证与测试
保存并发布:完成所有配置后,保存并发布表单。
新建数据测试:
OCR 是否成功识别出信息?
识别出的信息是否自动出现在子表单的对应字段中?
打开表单,上传一张包含信息的图片(如身份证)。
观察:
检查日志:如果仍不成功,查看宜搭的“操作日志”或“流程日志”,看是否有错误提示。
四、 替代方案(如果上述方法均无效)
如果宜搭当前版本确实不支持直接填充到子表单,可以考虑:
先填充主表单,再手动复制:将OCR数据填充到主表单,用户再手动复制到子表单(体验较差,不推荐)。
使用宜搭“连接器”或API:
通过宜搭的“连接器”调用自定义API。
自己写一个后端服务,接收OCR结果,然后通过宜搭开放API (
/v1.0/instance) 更新子表单数据。这需要一定的开发能力,但灵活性最高。
总结
“图片智能读取信息无法填充到子表单”的问题,90%的原因是字段映射配置错误或子表单无数据行。
请按以下顺序检查:
✅ 确认 OCR 字段已映射到“子表单.目标字段”(不是主表单)。
✅ 确保子表单有至少一行数据(通过“默认行数”或“关联规则”添加)。
✅ 检查数据类型是否匹配。
✅ 尝试使用“关联规则”进行间接填充。
✅ 确认宜搭版本支持此功能。
通过以上步骤,通常可以解决该问题。