此函数的目的是操作分配给标签对象的数据。函数处理现有的数据源值,并将结果存储在函数生成的数据源中。

每个函数可以直接连接到一个对象,并用作另一个函数的一部分。

提示

动态数据浏览器动态数据管理器中列出了所有标签或解决方案函数。

要向标签或解决方案文件中添加一个新函数,请单击添加新函数,并从列表中选择适用的函数。添加一个新函数后,便会显示一个配置对话框,通过此对话框,您可以根据需要编辑函数。有关每种函数类型的配置选项会在专门的章节中进行介绍。

UUID-f0074216-815f-0a71-0d86-e1118612e4a1.png

Desktop Designer 包括以下函数类型:

子集

子集函数按照用户指定的规则提取数据的特定部分。

关于组标识了此函数。

输入数据来源设定现有或新添加的输入数据源(变量、函数或数据库记录)。最终的(输出)值是从选定的输入数据源的值中提取。

定义组提供两种方法用于从输入的数据源提取数据。

固定长度从输入的数据源中提取固定的字符个数。

  • 偏移:从值的开头跳过的字符数。

  • 长度:提取值的长度。

例 34. 示例:

输入值:ABCDE

偏移:0

长度:3

子集值:ABC


例 35. 示例:

输入值:ABCDE

偏移:2

长度:3

子集值:CDE


分隔符在提取用用户指定的分隔符分隔的数据时使用。

  • 分隔符:分隔输入值字段的字符(默认为逗号)。

  • 文本识别符:将值包含在字段内的字符(默认为引号)。

提示

如果使用文本识别符,则文本识别符内的分隔符也属于数据值。文本识别符可以留空。

  • 字段号码:从输入数据源中提取的字段编号。

例 36. 示例:

输入值:"A", "B", "C", "D"

分隔符:,

文本识别符: "

字段号码:3

子集值:C


连接

连接函数将两个或多个数据源值合并为一个单值。

关于组标识了此函数。

输入数据来源组设定现有或新添加的输入数据源(变量、函数或数据库记录)或函数中要使用的固定文本。

输出选项组定义输出值格式。

分隔符是连接值之间插入的字符。分隔符可以手动输入或从其他选项中选择:

  • 新行 (CR/LF):新行字符。

  • 插入特殊字符:输入特殊字符

    注意

    分隔符是一个可选值。如果未定义分隔符,则连接值会直接合并而没有分隔空格或字符。

  • 忽略空值:将忽略空的数据源值。这些值在串联时予以排除。

    提示

    如果要避免在出现空值时出现重复的分隔符,则这个选项非常有用。

例 37. 示例:

数据源值 1:A, B, C, D

数据源值 2:<empty>

数据源值 3:E, F, G

分隔符:,

连接值中忽略空值与不忽略空值对比:A, B, C, D, E, F, G vs.A, B, C, D, E, F, G


注意

忽略空值选项只有在执行打印命令后才有效。存储/调用打印模式下存储标签,或当导出标签时,空值不被忽略。分隔符看起来是重复的。

日期偏移

日期偏移函数设定在某个指定日期(可以是当前日期或任何过去或未来日期)基础上增加或减少的天数、月数和/或年数。

关于组标识了此函数。

输入数据来源设定了用于此函数的输入数据来源。

偏移是在输入日期来源上增加或减少的天数、月数或年数。

示例:

当前日期:2016 年 3 月 8 日

偏移:偏移:天 +1; 月 +1; 年 +1

结果:2017 年 4 月 7 日

输出格式设置组定义了该函数的输出。

  • 输出格式:设定要在连接对象中使用的的日期格式。

  • 示例:所选输出格式中的当前日期。

线性

线性函数讲输入的数据源值乘以或除以一个设定的乘数。也可添加一个可选值()。

关于组标识了此函数。

输入数据来源设定了用于此函数的输入数据来源。

线性函数参数是:

  • 模式:线性函数类型。

  • a:函数乘数。

  • b:函数加法。

输出格式组定义了函数的输出格式。

输出格式是修改值的格式。更多...打开附加格式化选项:

  • 小数点分隔符:十进制数字的整数和小数部分之间的分隔字符。

  • 小数位数:小数点分隔符后面的位数。

  • 使用千位分隔符:千位是否用分隔符分隔。

  • 分隔符:将千位与其他位数分开的字符。

  • 示例:格式化输出值预览。

例 38. 示例:

输入值:123

a:2

b:20

输出值:2 * 123 + 20 = 266


VBScript

VBScript函数可以读取、写入和操作属于任何已连接的数据源的数据。

关于组标识了此函数。

  • 函数类型:显示选择哪种类型的脚本。

VBScript组用来定义脚本。

  • 插入数据源:将现有的或新创建的数据源插入到脚本中。

  • 验证:用于验证输入的脚本语法。

  • 脚本编辑器:打开编辑器,让您更轻松高效地编写脚本。

注意

脚本结果必须保存到“结果”中。“结果”的值将插入到的函数名称。此函数可以作为动态数据来源提供。

例 39. 示例:

变量 NAME 提供一个人的名和姓。VBScript 函数应分开名和姓,仅使用名作为函数的结果。

NAME 变量初始值:John Doe

Dim Spc
Spc = InStr(NAME, " ")
if NAME <> "" then
    Result = Mid(NAME, 1, Spc-1)
end if

VBScript 结果:John


注意

要验证日期变量是否为空,使用语法:

Datevariable.Value == None

VBScript 表达式

VBScript 表达式VBScript 函数的简化在线版。此 Desktop Designer 函数可用来:

  • 操作现有变量

  • 提取子字符串

  • 执行快速计算

VBScript 表达式减少了编写专用 VBScript 的需要。不需要编写完整脚本,只需在编辑字段中插入一个单行表达式,在打印时予以验证。

提示

与 VBScript 命令相比,VBScript 表达式命令不需要将最终值存储在结果中。

关于

VBScript 表达式

  • 插入数据源:将现有的或新创建的数据源插入到表达式中。

  • 验证:验证输入的脚本语法。

  • 编辑器:脚本编写和编辑的字段。

脚本编辑器

NiceLabel 10 提供了一个脚本编辑器,让您更轻松、更准确且更高效地编写 Python 或 VBScript 脚本。

UUID-71775a07-f174-df14-34c8-13e31eef6953.png

应该在脚本编辑器中使用的脚本语言选择在 NiceLabel Designer ProAutomation Builder 中不同:

  • Desktop Designer 中,双击表单设计表面以打开表单属性 > 附加设置 > 表单脚本语言

  • Automation Builder中,转至配置项目 > 单击编辑以打开触发器属性 > 设置> 其他 > 脚本

提示

NiceLabel 10 使用 Python 的 .NET 变量(名为 IronPython)。它用作 Python 脚本语言的完全兼容实施,并且还支持 .NET 方法。

编辑器功能区包含分布在多个功能组上的常用命令。

  • 剪贴板组提供剪切复制粘贴删除命令。

  • 撤消重做组用来撤消或重复脚本编辑操作。

  • 文件组用来加载脚本并将其保存在文件中。

    • 从文件加载:从之前保存的外部文本文件加载脚本。

    • 保存到文件:将当前编辑的脚本存储在文本文件中。

  • 编辑组用来查找和替换脚本中的字符串。

    • 查找:在脚本中定位输入的字符串。

    • 替换:替换脚本中的字符串。

  • 插入组:数据源命令将现有的或新定义的数据源插入到脚本中。

  • 脚本组:验证脚本命令验证所输入脚本的语法。

可用的脚本元素包含在构建脚本时可用的所有脚本项。双击元素或单击插入按钮可将光标位置处的元素插入到脚本中。

元素说明提供关于插入的脚本元素的基本信息。

错误列表包括在运行验证脚本命令后报告的错误。

Python脚本

Python 脚本函数支持在标签或表单上进行甚至最复杂的数据操作。

提示

与 VBScript 相比,它被证明更合适 64 位系统。其脚本速度也要快得多。

关于组标识了此函数。

  • 函数类型:显示选择哪种类型的脚本。

Python脚本

  • 插入数据源:将现有的或新创建的数据源插入到脚本中。

  • 验证:用于验证输入的脚本语法。

  • 脚本编辑器:打开编辑器,让您更轻松高效地编写脚本。

例 40. 示例:

变量 NAME 提供一个人的名和姓。Python 脚本函数应分开名和姓,仅使用名作为函数的结果。

NAME 变量初始值:John Doe

name = NAME.Value
Spc = name.find(' ')
if name != '' and Spc != -1:
    Result.Value = name[0:Spc]
else:
    Result.Value = name

Python 脚本结果:John


HIBC

HIBC是专用于健康行业的条码标准,受 HIBCC 组织指导。该标准支持复合条码,并支持在单个条码中使用多个项目,如物料代码、数量和批号。

提示

访问 HIBCC 网站了解关于此标准的更多信息。

关于组标识了此函数。

结构组选择标准版本和三个可用 HIBC 条码类型的其中一个类型:

  • 版本:HIBC 版本选择器。将使用版本 2.5 打开包含 HIBC 旧数据编码的标签。如果创建新标签,则编码的作用取决于选定的 HIBC 版本 – 2.5 或 2.6。

  • 类型:数据结构类型选择器。

    • 主要:强制性固定数据结构,用来标识项目及其供应商。

    • 次要:可选的数据结构,用分隔符“/”表示。它可能有一个变量(已预定义)结构,用于包含序列号或批号、数量和到期日期。

      • 主要定义:定义次要数据结构时的强制性元素。HIBC 函数的三个主要数据字段必须添加到次要数据结构。主要定义选择适当的现有 HIBC 函数。

    • 连接:将前两种结构类型合并成一个数据结构。

定义组定义 HIBC 条码字段的内容:

主要数据结构字段:

  • 标签 ID 代码 (LIC):由 HIBCC 字段分配和维护的字段。此字段的第一个字符始终是字母字符。LIC 可标识贴标者到单独的子公司和一个组织的部门。

  • 产品或目录...:压缩的产品或目录编码。

  • 度量单位...:包装级别的数字表示(0 到 9),0 是最低级别或“使用单位”。

例 41. 示例:

公司可能会把使用单位物品装在一个盒中,盒装入纸箱,纸箱装入一个大箱。其中一种标签方式可以是,使用单位 = 0;盒 = 1;纸箱 = 3;大箱 = 5。


次要数据结构字段:

  • 数量:两位或五位数字段,描述了该条码标签标识的包装中包含的使用单位数量。

  • 日期格式:HIBC 标签上使用的首选日期格式。如果标签上不包含日期,选择一个包含“无日期”的格式。

  • 日期:显示当前日期。

  • 分配/批次:该字段可以是字母数字,长度可以不同且最多为 18 个字符。如果不需要该字段,则应留空。

  • 序列号:该字段可以是字母数字,长度可以不同且最多为 18 个字符。如果不需要该字段,则应留空。

  • 生产日期:数据标识符的格式为 YYYYMMDD。

GS1-128

GS1-128函数使用 GS1-128 标准来给条码数据编码。该标准支持文本数据、数字、函数和全部 128 个 ASCII 字符的编码。

GS1-128 编码数据,并通过定义一个应用程序标识符(AI)列表来定义其意思。这些标识符定义其包含的数据的内容和长度。

AI 包括一个包含固定或变量字符数的数据字段。

提示

有关 GS 128 标准和编码原则的详细信息,请访问 GS1 网站

此处列出了可用的 AI 列表。

关于

应用程序标识符字段显示选定的 AI。

编辑函数定义按钮打开一个对话,用于编辑标识符。函数定义对话用来添加删除移动和编辑选定的标识符。其中四列有标识符属性:

  • 标识符:包含标识符 AI 编号和描述的列。

  • 值:包含手动设定值或由所选数据来源给出的动态定义的值。

    提示

    列可确保值符合 GS1-128 标准。值将自动根据 AI 格式和长度重新格式化。

    UUID-23567ce5-8cbd-e4da-9c49-cc2f2409c624.png
  • 选项:列包含其他标识符选项(如可用)。

分隔符组设定了 AI 之间的分隔字符。

一个条码可能包括多个 AI。这些字段使用左右分隔符分开。默认情况下,使用 AI 的前两个数字。可通过插入字母数字字符,自定义分隔符。

附加函数输出组设定了从属函数。

  • 创建无格式内容的输出函数创建一个从属的函数,使用由父 GS1-128 函数编码的未格式化数据。

  • 函数名称:新创建的从属函数的名称。

ANSI MH10.8.2 (ASC)

ANSI MH10.8.2 (ASC)函数使用 ANSI Mh10.8.2-2006 标准对条码数据进行编码。此标准提供了一系列的 MH 10/SC 8 数据标识符和 GS1 应用程序标识符。利用它可分配新数据标识符,并设定数据标识符与应用程序标识符的关联性或映射关系。

提示

有关 ANSI MH10.8.2 (ASC) 标准的详细信息,请访问官方网站。ANSI MH10.8.2 属于 ISO/IEC 15418 标准,可以访问这里了解详情。

关于组标识了此函数。

应用程序标识符启用跨行业标准化使用数据标识符。可在任何字母数字数据载体上使用。

编辑函数定义按钮可打开函数定义对话。可用来添加删除移动和编辑选定的标识符。

其中三列有标识符属性:

  • 标识符:标识符 ID 列。

  • 值:包含手动插入值或由所选数据来源给出的自动定义的值。

注意

每个列允许输入的字符数有限。具体限制(格式)由标准定义,并且因选定的标识符而异。

为高容量 ADC 介质转换数据语法

此功能支持国际 ISO/IEC FDIS 15434 标准“信息技术 - 自动识别和数据采集技术 - 高容量 ADC 介质语法”。

该标准设定了从供应商的信息系统传输数据到高容量自动数据采集 (ADC) 介质,以及数据传输到接收者的信息系统的方式。

该标准使用高容量技术(如二维符号)来对多个数据字段进行编码。这些字段通常由接收者的信息系统进行分析,并映射到接收者信息系统的特定数据字段。

此功能可用来对标签对象中的数据进行编码。您可以将多条信息组合为一条信息。每个部分有开头,然后是消息。每个数据字段可有一个固定的手动输入值,也可以连接到一个变量。

注意

请确保该变量的数据格式与该数据标识符所需的数据格式相同。数据标识符通常依照该标准严格设定格式。

关于组标识了此函数。

  • 应用程序标识符跨行业标准化数据标识符集。

提示

标识符的目的是提供一个独特的项目标识。如要管理标识符,请单击编辑函数定义

函数定义对话用来添加删除和编辑选定的标识符。

  • 格式信封:列设定数据项的起始和结束位置符合给定的格式。每个格式信封包含格式头、数据和格式尾。

例 42. 示例:

  • 格式信封 02 表示完整的 EDI 消息/事务数据。

  • 格式信封 06 表示使用 ASC MH 101 数据标识符进行编码的数据。


  • 数据元素:列设定了标识符内容。插入手动编码的数据或设定数据源。

  • 标头数据格式:设定了两个强制性格式标头元素。

    • 版本:控制数据结构的组织。

      注意

      每个标识符都允许添加多个元素。

    • 发行版本:ADC 介质标准的发行版本号。

从文件读取

从文件读取:从指定的文件中读取内容。该文件可以本地访问,也可以通过网络连接远程访问。

关于组标识了此函数。

从文件读取参数组设置文件连接的详细信息。

文件名设置文件连接。

编码:指定发送的数据的编码类型。

  • 自动:自动定义编码。

    提示

    必要时,从下拉列表中选择首选的编码类型。

NDEF 消息

NDEF 消息函数允许定义通过近场通信 (NFC) 链接交换数据信息的消息封装格式。这种联系由两个 NFC 设备之间或 NFC 设备和标记之间建立。

提示

NFC 是一套通信协议,两个设备可通过此协议在距离 4 厘米(2 英寸)内时建立此联系。

NDEF 消息包含一条或多条应用程序定义的记录,该记录刻以各种类型和大小出现。这些记录合并为一个消息。

注意

此函数的输出采用 HEX 格式。

关于组标识了此函数。

NDEF 消息结构组显示消息中包含的 NDEF 记录。

单击编辑函数定义来打开NDEF 消息对话。此对话用来添加删除移动和编辑选定的 NDEF 记。其中两列有记录属性:

  • NDEF 记录类型:标识记录类型。列出的标准记录类型在 Desktop Designer 中可用:

    • URI:包含一个字符串,用于标识 Web 资源。

    • 文本:包含文本内容,其中包括有关文本编码和语言代码的信息。

    • 智能海报:包括多个子记录 - URI、标题、推荐的操作、图标、大小和类型。

      注意

      智能海报内容用单条记录内容表示,但在一条记录内的多个(子)记录按内部结构排列。

    • 蓝牙切换选择:一组记录,包括各种项目 - 切换版本、设备地址字符串、完整本地字符串、设备类别和服务类别。

    • 自定义:记录类型,用于对非原生 NFC 数据编码。

      提示

      将记录拖放到“NDEF 消息”对话框中,以快速更改其位置。

      提示

      NDEF 记录类型的详细描述可在 NFC 论坛技术规格上找到。

  • 记录定义:按 NDEF 标准所规定的设置。根据选定的记录类型,提供不同的选项。

包括功能容器将功能容器添加到编码数据。功能容器用于将管理 NFC 数据的控制数据存储到标记或设备中。它告诉 NFC 设备所接收到的数据是 NFC 消息。如果需要将 NFC 内容编码到标准的高频 (HF) RFID 标签,则需启用包括功能容器选项。这给读取设备发出信号 NFC 内容存储在标记中。某些符合 NFC 要求的标记已经包括功能容器,这意味着无需将之包括作为生成的内容的一部分。