
系统开发中,越来越多的场景会使用到扫码信息处理的场景,比如出入库扫码、设备巡检扫码、固定资产登记扫码、库存盘点扫码等等,而扫码信息的处理又有多种方式,比如扫码查看、自动填报、或是只需要纯文本处理,下面分享一种纯文本处理扫码出入库的处理方式。
本文目录
隐藏
应用场景
场景:A工厂每天产出的产品经过过磅系统,产品二维码标签由该系统打印,不需要在workfine中处理,二维码标签为纯文本信息,包含了出入库所需要的关键信息—>’20230606131,阴极铜,29,2594’,开始一串固定长度数字为批号,中文为不定长的产品名称,29为该批号产品的组成块数,2594为该批号产品的净重。
需求:通过扫码得到的文本进行自动拆分出入库信息进行填报工作
标签样式如下:

实现过程
1、在数据库中编写一个拆分字符串的函数,函数代码如下:
ALTER function [dbo].[fn_find](@find varchar(8000), @str varchar(8000), @n smallint)
returns int
as
begin
if @n < 1 return (0)
declare @start smallint, @count smallint, @index smallint, @len smallint
set @index = charindex(@find, @str)
if @index = 0 return (0)
else select @count = 1, @len = len(@find)
while @index > 0 and @count < @n
begin
set @start = @index + @len
select @index = charindex(@find, @str, @start), @count = @count + 1
end
if @count < @n set @index = 0
return (@index)
end
GO
这个函数的功能为查找指定字符在目标字符串中第几次出现的位置,比如
select dbo.fn_find(',','aa,bbb,cccc,dd',2)
结果为:7
通过这个函数,我们既可以对文本进行对应的拆分,并填入对应的列中
入库单举例

编写两个提取公式
1、

2、

数据管理器里把接收二维码的字段设置为移动端扫码
这只是扫码处理的其中一种方式,采用何种方式和硬件环境、业务需求有关,希望可以给到大家一些帮助。
#扫码#PDA