我们正处于Oracle ERP实施阶段,我的任务是重新设计我们的标签以使用新系统。我们的产品标签需要包含以[TAB]字符分隔的项目和批号编码的QR码。 Oracle将向打印机发送包含可变数据的XML文件,以便与打印机上存储的格式一起使用。
硬编码工作正常,我得到一个用'FOO [TAB] BAR'编码的QR:
^XA
^FO50,50
^BQN,2,10^FH^FDQA,FOO_09BAR^FS
^PQ1,0,1,Y
^XZ
当我在打印机上创建存储格式时会发生奇怪的事情:
^XA
^DFE:QR_TEST.ZPL
^MCY
^FO50,50
^BQN,2,10^FN1^FH^FDQA,$$QR_CODE$$^FS
^FO50,350
^AON,30,30^FN1^FD$$QR_CODE$$^FS
^XZ
并发送以下XML文件:
<?xml version="1.0" standalone="no" ?>
<!DOCTYPE labels SYSTEM "label.dtd">
<labels _FORMAT="QR_TEST.ZPL" _QUANTITY="1" _PRINTERNAME="" _JOBNAME="TEST">
<label>
<variable name="$$QR_CODE$$">FOO_09BAR</variable>
</label>
</labels>
有趣的是,没有文本字段定义,标签不会打印。添加文本字段后,标签会打印,但生成的QR代码会丢弃'FOO'并且只扫描'_09BAR'而文本字段会打印'FOO_09BAR'。
令人困惑的是,如果我将'_09'从$$ QR_CODE $$变量定义中删除,则文本字段按预期打印'FOOBAR'但QR码扫描为'BAR',因此无论出于何种原因QR正在删除数据的前三个字符。
我一直在追逐我的尾巴一天没有进展,所以我想知道是否有任何人在这里有更多的经验而不是我可以解决这个问题。
我的两个问题是:
答案 0 :(得分:1)
为了其他任何试图解决同样问题的人的利益,这是我到达的解决方案。不幸的是,Zebra的支持没有任何帮助,因为他们所能做的只是继续从我已经拥有的手册中发送页面。他们无法向我发送一个有效的例子。
解决方案涉及两件事:
打印机上存储的格式如下所示:
itterations
将以下XML文件发送到打印机:
^XA
^DFE:QR_TEST.ZPL
^MCY
^FO50,50
^BQN,2,10^FN1^FH^FD$$QR_CODE$$^FS
^XZ
变量$$ QR_CODE $$分解为:
提供变量值的SQL必须提供上述所有内容,但这非常简单。到目前为止,这已经完成了我迄今为止测试的项目和批号组合的完美工作,长度从10到25个字符不等。如果我遇到任何困难或学习任何新内容,我会更新这篇文章。