Печать этикеток с дополнительной информацией о товаре
Вводные данные
Номенклатура: запчасти автомобилей.
Тип адресного хранения: справочное размещение по ячейкам.
Серии товаров: нет.
Единица хранения: шт.
Упаковки: нет.
Учетная система: «1С:Управление нашей фирмой» (1С:УНФ).
Конфигурация мобильного приложения: Simple.Учет+.
Задача
Заказчик: магазин со справочным адресным складом.
Приемка поступлений предполагает бизнес-процесс маркировки товаров этикетками с номерами ячеек хранения МЦ (материальных ценностей) - номенклатурных единиц. Работа ведется на справочном адресном складе с динамическим хранением:
товар не привязывается к конкретной ячейке и сведения о ней могут меняться;
в мобильном приложении в табличной части «Товары» сведения о ячейке, в которую помещается МЦ, не хранятся.
Решение: печать этикеток в онлайн-режиме. Любые сведения для макета лейбла подтягиваются из 1С:УНФ.
Алгоритм решения
Итак, мы автоматизировали печать этикеток. Рассмотрим этот процесс пошагово.
I. Мы создали ZPL-шаблон этикетки и добавили его в соответствующий справочник расширения Simple. Воспользуемся им:
Рис. 1
Пример кода ZPL-шаблона этикетки:
^XA
^CI28
^CF0,33
^FO1,25,2^FB300,2,,L,1^A0,26,22^FD[Артикул]^FS
^FO1,240^FB400,2,,L,1^A0,24,19^FD[ТекущийПользователь] [ТекущееВремя]^FS
^CF0,20
^FO1,270^A0,20,20^FDООО "КАМАЗ Центр" тел.(8172)770099 ^FS
^CF0,25
^FO1,55^FB400,2,,L,1^FD[НоменклатураНаименованиеПолное]^FS
^CF0,30
^FO1,190^FB145,2,,L,1^FD[Ячейка]^FS
^CF0,30
^FO160,190^FB160,2,,L,1^A0,25,21^FD[Штрихкод]^FS
^FO2,100^BY2,3,60^B3N,N,85,N,N^FD[Штрихкод]^FS
^XZ
Правила составления шаблона этикетки:
Константы шаблона указываются как текст.
Переменные шаблона указываются в квадратных скобках. Вот так: [нужная переменная].
Штрихкод всегда указывается так: [штрихкод]. Его тип указывается на языке ZPL. Например, для печати, штрихкод формата EAN-13 указывается так: «B3N,N,85,N,N^FD[соответствующий штрихкод формата EAN-13]».
Примечание. ZPL-шаблоны используются, если за один раз необходимо напечатать несколько этикеток. В отличие от шаблонов 1С, на стороне мобильного приложения Simple не требуется конвертация данных в понятный для принтера вид. Работать с принтером можно напрямую.
II. Решили, что информацию для шаблона этикетки будем получать из базы 1С:УНФ. В настройках подсистемы заполняем запрос для получения нужных сведений:
ВЫБРАТЬ РАЗЛИЧНЫЕ
спрНоменклатура.Ссылка КАК Номенклатура,
ЕСТЬNULL(ХарактеристикиНоменклатуры.Ссылка, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) КАК Характеристика,
ЕСТЬNULL(ШтрихкодыНоменклатуры.Штрихкод, "") КАК Штрихкод
ПОМЕСТИТЬ втДанные
ИЗ
Справочник.Номенклатура КАК спрНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
ПО (спрНоменклатура.ВидНоменклатуры = ХарактеристикиНоменклатуры.Владелец
ИЛИ спрНоменклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец)
И (ХарактеристикиНоменклатуры.Ссылка В (&Характеристика))
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
ПО (спрНоменклатура.Ссылка = ШтрихкодыНоменклатуры.Номенклатура)
И (ЕСТЬNULL(ХарактеристикиНоменклатуры.Ссылка, ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) = ШтрихкодыНоменклатуры.Характеристика)
ГДЕ
спрНоменклатура.Ссылка В(&Номенклатура)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
втДанные.Номенклатура.Артикул КАК Артикул,
втДанные.Штрихкод КАК Штрихкод,
&ДатаЗапроса КАК Дата,
РазмещениеНоменклатурыПоСкладскимЯчейкам.Ячейка.Наименование КАК Ячейка,
втДанные.Номенклатура.НаименованиеПолное КАК НоменклатураНаименованиеПолное,
&ДатаЗапроса КАК ТекущееВремя,
SUI_МобильныеУстройства.МобильныйКлиент.Пользователь.Наименование КАК ТекущийПользователь
ИЗ
втДанные КАК втДанные
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РазмещениеНоменклатурыПоСкладскимЯчейкам КАК РазмещениеНоменклатурыПоСкладскимЯчейкам
ПО (РазмещениеНоменклатурыПоСкладскимЯчейкам.Номенклатура = втДанные.Номенклатура),
ПланОбмена.SUI_МобильныеУстройства КАК SUI_МобильныеУстройства
ГДЕ
SUI_МобильныеУстройства.Ссылка = &МобильноеУстройство
;
////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ втДанные
Примечание. Представление сведений в запросе должно соответствовать их наименованиям в шаблоне этикетки.
III. Подключаем Bluetooth-принтер1 к ТСД (терминалу сбору данных). Проверяем совместную работу устройств: убеждаемся, что печать выполняется корректно. Первичные настройки вносятся в разделе «Параметры» → «Печать».
Рис. 2
IV. Печать этикеток доступна в бизнес-процессах «Документы» - как для конкретного товара, так и для всего списка, и «Печать этикеток» - моментальное изготовление лейбла для любой позиции из базы учетной системы.
Небольшой совет в завершение
Комбинацию ZPL-шаблонов и запросов в 1С:УНФ можно использовать для печати сложных параметрических этикеток. Например, если те или иные элементы в шаблонах отображаются только при определенных условиях.
Заменяем блок полностью, только если новая цена совпадает со старой.
Рис. 3
Как печатать этикетки в офлайн-режиме и использовать 1С-шаблоны, читайте в следующих статьях.
1 Мы решили печатать этикетки на Bluetooth-принтере — из-за простого сопряжения с мобильными устройствами, в том числе и ТСД.