PowerApps/Flow二维码扫描数据不一致致库存追踪异常求助
问题概述
我们基于PowerApps搭建了库存追踪应用,QR码对应物品英文名称(即Item的Title字段)。出入库扫描时,交易记录写入SharePoint「Transactions」列表,触发Flow更新「Quantities」列表——通过匹配Title字段更新库存,无匹配则新建条目。
系统整体运行正常,但存在随机异常:同一QR码用同一PowerApp扫描时,返回的Title偶尔会额外包含\r\n或\r字符(例如"USB-C to Lightning Cable \r\n6 ft"),导致无法匹配「Quantities」中的标准Title,库存追踪不准确。该问题无法稳定复现,但可在Flow执行历史中观测到异常数据。
解决方案
1. PowerApps扫描环节预处理字符串
在QR码扫描完成后,立即对返回的Title进行清洗,移除所有换行和回车字符,确保存入「Transactions」的是标准格式:
// 假设扫描控件返回内容存在ScanResult变量中 Set(CleanedTitle, Substitute(Substitute(TrimEnds(ScanResult.Value), "\r\n", ""), "\r", "")); // 后续用CleanedTitle写入Transactions列表的Title字段
2. Flow中添加二次数据清洗
如果PowerApps端处理仍有遗漏,在Flow触发后、匹配「Quantities」列表前,对Title字段做二次清洗:
- 添加「Compose」动作,输入以下表达式:
replace(replace(trim(triggerBody()?['Title']), decodeUriComponent('%0D%0A'), ''), decodeUriComponent('%0D'), '')
- 后续匹配「Quantities」列表时,使用这个Compose输出的清洗后Title,而非原始触发数据。
3. 排查QR码生成源
检查QR码的生成工具或原始数据源,确认标准Title是否被意外添加了换行/回车隐藏字符——部分生成工具可能在字符串末尾或换行位置保留此类字符,导致扫描解析时带出多余内容。
补充说明
以上两种清洗方式可组合使用,形成双重保障,彻底避免特殊字符导致的匹配失败问题。
内容的提问来源于stack exchange,提问作者JO_Kins_29
相关产品推荐
相关产品推荐

