集装箱标签布局和打印

集装箱标签提供有关集装箱的信息以及相关的装运数据。 可能涉及此类标签的典型场景是工作人员使用 Warehouse Management 移动应用创建集装箱和装箱。 工作人员可以打印包含集装箱 ID 条码的集装箱标签,并将其粘贴到实际集装箱上。

对于牌照标签,Zebra 编程语言 (ZPL) 用于创建集装箱标签的标签布局。

打开或关闭集装箱标签打印功能

要使用此功能,必须为您的系统打开它。 从 Supply Chain Management 版本 10.0.36 开始,此功能默认开启。 管理员可以通过在功能管理工作区搜索使用 Warehouse Management 移动应用将物料装入集装箱功能来打开或关闭此功能。

有关详细信息,另请参阅使用 Warehouse Management 移动应用将物料装入集装箱

示例场景:使用 Warehouse Management 移动应用创建集装箱时打印集装箱标签

此示例场景展示如何设置系统,以在工作人员使用 Web 客户端和/或 Warehouse Management 移动应用创建集装箱时打印集装箱标签。 Warehouse Management 移动应用场景基于使用 Warehouse Management 移动应用将物料装入集装箱中提供的信息。 该文章提供有关使用 Warehouse Management 移动应用进行集装箱装箱的完整过程的更多详细信息。

提供示例数据

若要使用此处指定的示例记录和值完成此场景,使用的系统中必须已安装标准演示数据。 此外,开始前,还必须选择 USMF 法人。

您还可以将此方案用作在生产系统上使用此功能的指导。 但是,如果是这样,您必须替换这里介绍的每个设置中的自己的值。

创建集装箱标签布局

标签布局控制在标签上打印什么信息以及如何布置信息。在这里,您输入发送到打印机的 ZPL 代码。 通常,您将从标签设计器程序中复制此代码。

当系统生成标签时,它可以将标签布局中使用的字段和方法名称替换为实际值。 您可以通过在代码中查找美元符号 ($) 来轻松查找要替换的文本。

创建基本标签布局

按照以下步骤创建集装箱标签布局。

  1. 转到仓库管理 > 设置 > 文档路线选择 > 标签布局

  2. 在列表窗格顶部,将标签布局类型字段设置为集装箱标签

  3. 在操作窗格上,选择新建以创建标签。

  4. 为新标签设置以下值:

    • 标签布局 ID – 输入 Container

    • 说明 – 输入集装箱 ID 条码

    • 定义类型 - 选择用于定义标签布局的方法:

      • ZPL - 使用 ZPL 定义标签布局。

      • 变量 - 定义可与外部服务一起使用的标签布局。 (有关详细信息,请参阅使用外部服务打印标签。)如果选择此选项,打印机文本布局快速选项卡将提供可供您定义系统变量和数据变量的网格。 在系统变量下,将 LabelFile 字段设置为外部系统中标签设计的路径,然后将数量字段设置为要打印的标签数量。 在数据变量下,定义从 Supply Chain Management 发送的值,方法是将这些值从外部系统映射到标签设计中的相应占位符。

      • 变量(脚本) - 使用脚本格式定义可与外部服务一起使用的标签布局。 (有关详细信息,请参阅使用外部服务打印标签。)在打印机文本布局快速选项卡上,定义标签文件、数量和要发送的值。 下面是一个示例。

        "filePath": "/Instant Print/GS1-128.nlbl", 
        "quantity": "1",
        "dataSources": [
        {
            "GTIN of Contained Trade Items": "06183928726611",
            "Product_name": "D365FO: $ItemName$"
        }
        ]
        
    • 标签布局数据源 ID - 如果您仅使用集装箱数据,请将此字段保留为空。 如果必须包含其他表中的数据,请选择具有所需联接的标签布局数据源。 有关如何设置和使用标签布局数据源的详细信息,请参阅本文中的下一节。

    • 启用标签模板支持 - 现在将此选项设置为。 (当它设置为时,您可以向布局添加页眉、行和页脚元素,如本文后面所述。)

    • 日期、时间和数字格式 – 选择要在设置标签布局中显示的日期、时间和数字值格式时使用的语言。

    • 打印机存货类型 - 选择打印机存货类型。 打印机存货类型通常描述特定打印机使用的纸张类型。 它还用于指定应打印特定标签布局的纸张类型。 有关如何设置打印机存货类型的信息,请参阅设置打印机存货类型

  5. 打印机文本布局快速选项卡上,以适合所选定义类型的方式输入标签代码。 以下示例显示了您可以复制并粘贴以进行测试的代码(如果定义类型字段设置为 ZPL)。

    CT~~CD,~CC^~CT~
    ^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR8,8~SD15^JUS^LRN^CI0^XZ
    ^XA
    ^MMT
    ^PW812
    ^LL0609
    ^LS0
    ^BY3,3,262^FT658,186^BAI,,Y,N
    ^FD$WHSContainerTable.ContainerId$^FS
    ^FT660,457^A0I,39,38^FH\^FDContainer ID^FS
    ^FT660,515^A0I,39,38^FH\^FDShipment: $WHSContainerTable.ShipmentId$^FS
    ^PQ1,0,1,Y^XZ
    

    纸币

    当您在打印机文本布局快速选项卡上自定义标签代码时,可以按照以下步骤添加有效的字段和方法名称:

    1. 列表中,选择表。
    2. 根据您要添加的物料类型,选择字段选项卡或方法选项卡,然后选择要添加的字段或方法的名称。
    3. 如果定义类型字段设置为 ZPL变量(脚本),请选择在文本结尾处插入以将字段或方法添加到代码结尾处。 根据需要,将新字段或方法移动到代码中要使用它的位置。
    4. 如果定义类型字段设置为变量,请在数据变量表中选择一行,然后选择插入字段引用以将字段或方法添加为字段值。
  6. 在操作窗格上,选择保存

设置和使用标签布局数据源

在上例的标签布局中,仅使用了集装箱 ID ($WHSContainerTable.ContainerId$),并且该值直接在集装箱表中提供。 如果您想要包含相关信息(例如与装运相关的交货名称),并且所需的布局标签数据源尚不存在,请按照以下步骤创建它,然后在标签布局中选择它。

  1. 转到仓库管理 > 设置 > 文档路线选择 > 标签布局数据源

  2. 在操作窗格上,选择新建

  3. 为新标签布局数据源设置以下值:

    • 标签布局数据源 ID - 为数据源输入名称。
    • 描述 – 输入简短的数据源描述。
    • 标签布局类型 - 选择集装箱标签
  4. 在操作窗格上,选择保存

  5. 在操作窗格上,选择编辑查询

  6. 将显示标准查询编辑器对话框。 在联接选项卡上,将联接添加到所需的表。 (例如,如果您希望标签显示与装运相关的交货名称,可以联接装运表。)

  7. 转到仓库管理 > 设置 > 文档路线选择 > 标签布局

  8. 创建或选择标签布局,然后在标签布局数据源 ID 字段中,选择您刚刚创建的记录。

  9. 现在,您可以将新字段值添加到打印布局代码。 请务必在 ZPL 代码中引用正确的 table.field-names 值。 附加表将包含一个数字作为后缀 (_#)。

警告

标签布局数据源页面上,从现有记录的查询中删除表时要小心。 您可以删除现有标签布局中已使用的字段和/或方法名称。

启用标签模板支持

标签模板允许您设计具有更高级布局的标签,其中可以包括页眉、行和页脚元素。 按照以下步骤设置包含标签模板元素的标签格式。

  1. 转到仓库管理 > 设置 > 文档路线选择 > 标签布局

  2. 在列表窗格顶部,将标签布局类型字段设置为集装箱标签

  3. 按以下步骤之一:

    • 若要创建新布局,请在操作窗格上选择新建
    • 若要编辑现有布局,请在列表窗格上选择布局,然后在操作窗格上选择编辑
  4. 标签布局数据源 ID 字段中,选择数据源。 (需要数据源才能启用标签模板支持。但是,如果您只需要集装箱表数据,则可以选择一个非常简单的数据源,其中未定义联接。)

  5. 启用标签模板支持选项设置为

  6. 在代码中使用 {{Header ... }}{{Row ... }}{{Footer ... }} 元素。 以下示例显示了包含所有这些元素的标签。 因为它打印有关使用集装箱包装的物料的数据,您必须使用使用联接到集装箱行(集装箱详细信息)的查询的标签布局数据源 ID 值。 如果您有很多集装箱行,可以将数据拆分为多个页面,以确保打印所有数据。 在此示例中,集装箱 ID 条码和六个集装箱行将打印在第一页上。 每页将打印十行。 每行将包含有关物料、数量和单位的信息。 此设置由 RowsPerLabelFirst=6RowsPerLabel=10 属性控制。

    {{LabelStart
    ^FX ... ZPL commands to start the label ...
    
    ^XA
    ~TA000
    ~JSN
    ^LT0
    ^MNW
    ^MTT
    ^PON
    ^PMN
    ^LH0,0
    ^JMA
    ^PR6,6
    ~SD15
    ^JUS
    ^LRN
    ^CI27
    ^PA0,1,1,0
    ^XZ
    ^XA
    ^MMT
    ^PW800
    ^LL900
    ^LS0
    }}
    
    {{HeaderFirst
    ^FX ... Header on the first label only ...
    
    ^BY3,3,220
    ^FO150,120^BC
    ^FD$WHSContainerTable.ContainerId$^FS
    ^FT80,420^A0N,33,33^FH\^CI28^FDItem^FS^CI27
    ^FT579,420^A0N,33,33^FH\^CI28^FDQuantity^FS^CI27
    ^FT720,420^A0N,33,33^FH\^CI28^FDUnit^FS^CI27
    ^FT80,100^A0N,58,58^FH\^CI28
    ^FDShipment: $WHSContainerTable.ShipmentId$^FS^CI27
    }}
    
    {{Header
    ^FX ... Header on every label after the first ...
    
    ^FT80,100^A0N,58,58^FH\^CI28
    ^FDShipment: $WHSContainerTable.ShipmentId$^FS^CI27
    ^FT80,150^A0N,40,40^FH\^CI28
    ^FDContainer: $WHSContainerTable.ContainerId$^FS^CI27
    ^FT80,220^A0N,33,33^FH\^CI28^FDItem^FS^CI27
    ^FT579,220^A0N,33,33^FH\^CI28^FDQuantity^FS^CI27
    ^FT720,220^A0N,33,33^FH\^CI28^FDUnit^FS^CI27
    }}
    
    {{Row Table=WHSContainerLine_1 RowsPerLabelFirst=6 RowsPerLabel=10 StartYFirst=500 StartY=300 IncY=50
    ^FX... ZPL commands to format the row using *$position.YPos$* to position the location of the text fields ...
    
    ^FT80,$position.YPos$^A0N,30,30^TBN,480,30^FH\^CI28^FD$WHSContainerLine_1.ItemId$^FS^CI27
    ^FT579,$position.YPos$^A0N,30,30^TBN,120,30^FH\^CI28^FD$WHSContainerLine_1.Qty$^FS^CI27
    ^FT720,$position.YPos$^A0N,30,30^TBN,100,30^FH\^CI28^FD$WHSContainerLine_1.UnitId$^FS^CI27
    }}
    
    {{FooterFirst
    ^FX ... Footer on the first label only ...
    
    ^FT550,800^A0N,58,58^FH\^CI28^FDLabel: $position.labelNumber$/$position.labelCount$^FS^CI27
    ^PQ1,0,1,Y
    }}
    
    {{Footer
    ^FX ... Footer on every label after the first...
    
    ^FT550,800^A0N,58,58^FH\^CI28^FDLabel: $position.labelNumber$/$position.labelCount$^FS^CI27
    ^PQ1,0,1,Y
    }}
    
    {{LabelEnd
    ^FX ... ZPL commands to end the label ...
    
    ^XZ
    }}
    

    纸币

    由于 RowsPerLabel=10 属性,此设置将循环集装箱行,并为每组 10 个集装箱行拆分一个标签。 如果您将属性更改为 RowsPerLabel=1,将为每一行生成一个标签。

    此设置将打印每个标签的一个副本。 如果需要更多副本(例如,集装箱每一面一个副本),将页脚中 \^PQn 部分的 n 值设置为所需的副本数。 例如,若要打印每个标签的两个副本,请指定 \^PQ2

设置集装箱标签路线选择

要指定所使用的集装箱标签布局及其打印位置,您必须定义集装箱标签路线选择记录,如以下过程中所述。

  1. 转到 Warehouse management > 设置 > 文档路线选择 > 集装箱标签路线选择

  2. 在操作窗格上,选择新建以创建路线选择记录。

  3. 在新路线选择记录的标题上,设置以下字段:

    • 编号规则 - 输入一个整数来定义评估路线选择记录的顺序。 每个路线选择必须具有唯一的编号规则。 系统按升序编号规则的顺序评估路线选择,并使用满足条件的第一个路线选择。 如果您使用的是演示数据,输入 1
    • 名称 - 输入路线选择记录的名称。 例如,输入集装箱装箱
  4. 概述快速选项卡上,使用以下字段定义用于选择标签路线选择的条件:

    • 仓库 - 指定应使用路线选择的仓库。 如果您使用的是演示数据,输入 62
    • 位置 - 指定应使用路线选择的位置。 如果您使用演示数据,根据目标打印机实际放置在装箱位置的假设选择装箱
    • 工作人员 - 指定应为其使用路线选择的工作人员。 若要为任何工作人员使用路线选择,请将此字段保留为空。
    • 移动设备用户 ID - 指定应为其使用路线选择的用户 ID。 若要为任何工作人员使用路线选择,请将此字段保留为空。
    • 集装箱类型 - 指定应为其使用路线选择的集装箱类型。
    • 集装箱状态 - 指定应使用路线的集装箱状态(打开关闭)。
    • 帐号 - 指定应为其使用路线选择的客户帐户。 若要为任何客户使用路线选择,请将此字段保留为空。
    • 承运人 - 指定应为其使用路线选择的装运承运人。 若要为任何承运人使用路线选择,请将此字段保留为空。
    • 运行查询 - 若要向路线选择记录添加自定义选择条件,请将此选项设置为,然后在操作窗格上选择编辑查询。 将显示标准查询编辑器对话框,您可以在其中添加更多选择条件。

    纸币

    当您从 Warehouse Management 移动应用打印集装箱标签时,当前用户的仓库、位置、工作人员 ID 和用户 ID 将作为可能的筛选器值传递,用于选择打印机和布局。 其他值会根据所选装运找到。

    注释

    当工人从 关闭 容器 对话框中打印容器标签时,其工人 ID、包装站仓库和位置将作为可能的过滤值传递,以用于选择打印机和布局。 其他价值将根据所选的货件来确定。

  5. 集装箱标签路线选择打印机快速选项卡上,分配满足路线选择记录的条件时应使用的打印机和标签布局。 在工具栏上选择新建以向网格添加一行。 然后,针对新行设置以下字段:

    • 名称 - 选择适当的 ZPL 打印机。 有关详细信息,请参阅安装 Document Routing Agent 以启用网络打印。 如果要使用 动态打印机选择,请将此字段留空,或在 使用指定的打印机 字段中使用 选择 作为后备打印机
    • 使用指定的打印机 – 如果您想使用动态打印机选择,并在动态打印机选择找不到更具体的打印机时使用配置的打印机作为后备,请将此字段设置为 作为后备打印机。 如果此字段设置为 始终 并且配置了打印机,则动态打印机选择将被禁用。
    • 标签布局 ID - 选择要使用的标签布局。 此场景前面建议的示例标签布局 ID 值为 Container

    注释

    为了减少标签路由的数量,请考虑对与包装站位置、移动设备用户或移动设备相关联的打印机使用动态打印机选择。 在这些情况下,标签路线仅根据容器的属性指定要打印的标签布局,并且在添加新的包装站和打印机时无需重复设置。

将集装箱标签设置为在创建新集装箱时自动打印

如果希望每次创建新集装箱时自动打印集装箱标签,按照以下过程配置每个装箱配置文件。

  1. 转到仓库管理 > 设置 > 装箱 > 装箱模板
  2. 在操作窗格上,选择编辑
  3. 选择应自动打印集装箱标签的模板。 如果您使用的是示例数据,选择装箱模板 ID 字段设置为 WHS62 的行。
  4. 选择所选行的创建集装箱时打印集装箱标签复选框。
  5. 关闭该页面。

纸币

装箱模板 WH62集装箱 ID 模式字段设置为自动。因此,为集装箱 ID 引用定义的编号规则将用作集装箱创建过程的一部分。

设置容器关闭时自动打印容器标签

如果希望每次关闭集装箱时自动打印集装箱标签,请按照以下步骤配置集装箱装箱策略。

  1. 转到仓库管理 > 设置 > 集装箱 > 集装箱装箱策略
  2. 在操作窗格上,选择编辑
  3. 选择 应自动打印容器标签的策略。 如果您正在使用示例数据,请选择 将 包装配置文件 ID 字段设置为 WHS62Close的行。
  4. 在容器 关闭 上打印容器标签 设置为 始终
  5. 关闭该页面。

创建用于打印集装箱标签的新移动设备菜单项

要让工作人员能够手动打印集装箱标签,您必须为 Warehouse Management 移动应用创建新的移动设备菜单项。

  1. 转到仓库管理 > 设置 > 移动设备 > 移动设备菜单项

  2. 在“操作窗格”上,选择新建以添加移动设备菜单项。

  3. 对于新菜单项,设置以下字段:

    • 菜单项名称 - 输入新菜单项的内部名称。 例如,输入打印集装箱标签
    • 标题 - 输入应在 Warehouse Management 移动应用中显示的物料名称。 例如,输入打印集装箱标签
    • 模式 - 选择间接
    • 活动代码 – 选择打印集装箱标签
  4. 关闭该页面。

将新移动设备菜单项添加到菜单中

现在您已经创建了移动设备菜单项,您可以将其添加到移动设备菜单中。 在此示例中,您将其添加到现有的出站移动设备菜单。

  1. 转到仓库管理 > 设置 > 移动设备 > 移动设备菜单
  2. 在操作窗格上,选择编辑
  3. 在列表窗格中,选择出站菜单。
  4. 可用的菜单和菜单项列中,选择刚才创建的移动设备菜单项(例如,打印集装箱标签)。
  5. 选择添加按钮(向右箭头)将菜单项移入菜单结构列中。
  6. 关闭该页面。

运行一个场景来打印集装箱标签

有关说明如何在集装箱创建过程中自动打印条码的示例,请参阅使用 Warehouse Management 移动应用将物料装入集装箱。 按照那里的说明操作,并确认当使用装箱模板时,如果选中了创建集装箱时打印集装箱标签复选框,也支持本文所述的场景。

要手动打印集装箱标签,请执行以下步骤之一。

  • 在 Web 客户端中,转到 Warehouse management > 装箱和集装化 > 集装箱,在操作窗格上选择打印 > 集装箱标签
  • 在 Warehouse Management 移动应用中,使用打印集装箱标签移动设备菜单项。

以下是一些可自定义和微调此场景的建议,以帮助减少工作人员打印集装箱标签时必须执行的步骤数:

  • 使用 Warehouse Management 移动应用绕过设置移动设备菜单项来查询数据。 这样,菜单项可以查找集装箱 ID,而不是提示工作人员手动输入。
  • 当工作人员在出站菜单上选择打印集装箱标签移动设备菜单项时,应用会自动提交当前用户 ID仓库值。 如果工作人员想要指定位置值,他们可以在应用中执行此操作。
  • 如果希望在工作人员从将库存装入集装箱菜单项选择打印集装箱标签时自动分配位置值,设置绕过

其他资源