Маркировка: как не надо печатать этикетки SSCC

22.03.21

Задачи пользователя - Этикетки, ценники

Маркировка: штрихкод упаковки SSCC из типовых конфигураций 1С может не читаться на приемке у ваших покупателей. Во всем виноваты скобки в идентификаторе применения.

Скачать файлы

Наименование Файл Версия Размер
Патч, исправляющий печать SSCC (штрихкод на печать выводится без скобок)
.cfe 6,09Kb
6
.cfe 1 6,09Kb 6 Скачать

Если вы, как и я, в декабре и январе занимались маркировкой остатков текстиля, подпадающего под «Честный Знак», исползуя для этого любую типовую конфиругацию 1с, проверьте один важный момент. Наверняка вы печатали не только марки на единицу изделия, но и штрихкод логистической упаковки, так называемый КИТУ (Коды Идентификации Транспортной Упаковки), в терминах GS1 (бывшей EAN) они называются SSCC (Serial Shipping Container Code - серийный номер транспортного контейнера). Просканируйте любую из них, и посмотрите, какие символы вернет сканер. Видите что-то вроде (00)146012345600123453 (со скобками) — поздравляю, у вас проблема.                   

Что в типовом?                                      

Пользователям 1с, как я считал, очень повезло — эксперимент уже несколько лет идет полным ходом, сотни компаний уже обкатали это до нас, нам достаточно просто обновить конфигурацию. С первым клиентом мы провели тест — отправили УПД, они проверили марки, все хорошо, УПД отклонили. С чистой совестью мы физически отправили первую партию товара.

Логика работы в типовых конфигурациях 1с, поддерживающих маркировку следующая:

1. эмиссия марок (получаем от ЧЗ или сами генерируем серийные номера каждой единицы товара)

2. виртуальная агрегация (генерируются коды SSCC коробов, сохраняются, определяется состав каждого конкретного короба, распечатываются этикетки на штучки и короба, но данные в ЧЗ пока не передаются — они остаются в 1с)

3. марки вводятся в оборот (поштучно, не упаковками)

4. введенные в оборот марки агрегируются, согласно п.2, т. е. данные виртуальной агрегации передаются в ЧЗ.

5. при отгрузке формируются паллеты, под каждый паллет генерируется еще один упаковочный код (SSCC-паллета, включающий в себя перечень SSCC-коробов), проводится агрегация

6. выполняется отгрузка, клиенту передается электронный документ (УПД через ЭДО, либо непосредственно через ЧЗ), содержащий перечень передаваемых SSCC.

7. покупатель сканирует коды SSCC (паллет или коробок), и подтверждает, что именно эти коды он и получил.

Разумеется, это не единственный возможный вариант цепочки. Можно вообще не использовать агрегацию, и в УПД передавать весь перечень марок. Можно агрегировать заранее, и в оборот вводить уже упаковки (мы так и делаем, но для этого пришлось дорабатывать конфигурацию, из коробки она так не умеет). Но давайте вернемся к нашему кейсу. Как оказалось, в п.2 компания 1с подложила нам свинью. Выяснили мы это только на п.7.

Проблема                   

Беда пришла откуда не ждали. Клиент получил УПД, проверил переданные КИТУ, выгрузил их на ТСД, с помощью которого должна пройти приемка. Однако, сканируя непосредственно ШК, он не находил такого кода в списке ожидаемых.

Чтобы понять, как это получилось, давайте обратимся к инструкции GS1 по формированию SSCC. Сам формат описан, например здесь. Обратите внимание на идентификатор применения — он помещается в скобочки. Вот только если просканировать сам штрихкод, то никаких скобочек в нем нет (хотя словарь code-128 на основе которого реализован GS1-128 стандарт для SSCC позволяет зашивать в ШК символы скобок).

Возьмем методичку непосредственно от GS1ru, там есть пример самого баркода, как может выглядеть SSCC. Попробуем сгенероировать точно такой же с помощью типовой актуальной КА 2.4.13.103.

Для примера, возьмем штрихкод из методички: (00)146012345600123453                          

 

 

Для проверки, сгенерируем штрихкод сами, с помощью онлайн-сервисов, например вот этого.

Создадим макет логистической этикетки. Тип штрихкода GS1-128, отдельного типа для SSCC при создании макета не предлагается:

Сравним с тем, что выдает на печать 1с и то, что показано в методичке:

 

Как видно, 1с формирует совершенно другой узор.                 

 

Первая причина элементарна: 1с выводит ШК как есть, вместе со скобками. Это можно проверить, считав ШК любым сканером, хоть приложением с мобильного телефона.           

Это неверно. В методических рекомендациях GS1 прямо сказано:

7.4 Представление скобок в символе штрихового кода GS1-128

Скобки, содержащие идентификатор применения, не подлежат представлению в символах штрихового кода символики GS1-128. Их используют только в тексте представления для визуального чтения под символом штрихового кода для различения отдельных элементов данных. Программное обеспечение символики GS1-128 распознает различную информацию на основе типового формата идентификатора применения.

Наши партнеры, не пользующиеся продуктами 1с, сами реализовавшие механизмы работы с маркировкой, в том числе работы SSCC, не ожидают от нас штрихкода с зашитыми скобками, и не могут сопоставить его с КИТУ, пришедшими им в электронной УПД.

Я экспериментировал с выводом на печать различных вариантов идентификатора применения, но так и не добился точного сходства штрихкода с эталонным. Тем не менее, для себя, я пока переделал печать ШК таким образом, чтобы идентификатор применения зашивался в штрихкод без скобок. Вы можете скачать расширение, с помощью которого я этого добился. При чтении этикетки SSCC любым сканером, вы получите 20-ти символьную строку, которую можно сопоставить с корректным КИТУ, однако это будет не совсем SSCC-код.

Вторая причина в том, что SSCC штрихкод формируется немного иначе. Идентификатор применения 1с просто вставляет как часть штрихкода, но по стандарту это не так. Идентификатор применения помещается в специальный раздел FNC1:

Начальная комбинация двух знаков (знак СТАРТ + FNC1) во всем мире зарезервирована для прикладного применения системы GS1. Она позволяет отличить символы штрихового кода GS1-128 от иных не соответствующих этой символике символов штрихового кода.

Если поковыряться в коде 1с, то под «gs1-128» на самом деле имеется в виду EAN-128. Тип данных «2» в компоненте печати ШК. Вероятно, переименовывать, или делать отдельно gs1-128 или SSCC просто не стали. Очевидно, что алгоритм формирования узора штрихкода несколько иной, чем в генераторах, поддерживающих «настояший SSCC». Возможно мое конкретное предположение об использовании FNC1 и не корректно, возможно компонента по-умолчанию сама добавляет этот символ — но тогда не понятно, как заставить ее сгенерировать эталонный узор штрихкода. Пока для меня эта задача не решаема, а значит, либо «под капотом» что-то не то, либо обертка в БСП работает не совсем корректно.

                                

Что делать?

1. С каждым клиентом, проводите предварительный тест. Одним из пунктов чек-листа должно быть сканирование образца этикетки КИТУ. Вполне может быть, что они уже подстроились, и умеют читать такие «нестандартные» варианты формирования картинки штрихкода.

2. Если штрихкод не читается, пробуйте решить проблему на стороне приемки. Если есть возможность выгрузить на ТСД несколько возможных вариантов написания КИТУ — лучше сделать так, и больше не вспоминать об этой проблеме.

3. Уточнить, готовы ли клиенты получить КИТУ в формате EAN-128, с идентификаторами применения зашитыми прямо в сам штрихкод, но без скобок. Если так — можно накатить приложенный патч (сделан в виде расширения). Это чуть менее неправильно, и для некоторых клиентов может решить проблему.

При отгрузке формируйте паллеты, агреггируйте короба в паллеты и передавайте в УПД КИТУ паллет. Напечатать новые упаковочные коды на паллеты несколько проще чем заново печатать SSCC коробов, и попытаться не перепутать, на какую именно коробку их наклеить.

Есть пара сложностей:

а. для этого нужно генерировать новые упаковки / паллеты, и фиксировать их состав. В типовой 1с это более-менее нормально работает только на этапе эмиссии марок, когда генерируется вся структура упаковок. Нормального интерфейса, как генерировать паллетные упаковки, я не нашел.

Фактически, для этого нужно создать элемент справочника «Штрихкоды упаковок», и заполнить его табличную часть «вложенные штрихкоды». Туда нужно положить упаковки. При этом, не забудьте, что после изменения состава упаковки, нужно пересчитать ее хэш.

б. выполнить агрегацию в Честном Знаке. В типовой 1с мне так же не удалось найти вменяемых механизмов, как можно одну КИТУ вложить в другую уже после выполнения ввода в оборот. 1С не хранит статус упаковок — выгружалась она в Честный Знак или нет. Потому, ваша сложная иерархия при попытке агрегации, будет выгружаться полностью, в том числе и КИТУ коробок. Естественно, честному знаку не понравится, что вы повторно агрегируете что-то, и он не пропустит такую операцию.

Выход — формировать csv, и загружать его на портале Честного Знака руками. Благо формат не сложный.

в. Нужно подобрать вновь созданные штрихкоды в реализацию, и отправить их в Честный Знак. Печать этикеток в этом случае не должна вызвать больших сложностей. Перечень штрихкодов для этих целей хранится в табличной части накладной "ШтрихкодыУпаковок"

Disclamer. Если покупатель будет вскрывать паллеты, и пытаться продавать кому-то далее коробами — он поимеет ту же проблему что и вы. Единственный приемлемый вариант, когда так можно сделать — если вы продаете эти короба в сеть, которая будет продавать товар только в розницу (причем от одного юрлица). В общем, проговаривайте с партнерами ситуацию.

4. И если совсем уже ничего не помогает — перепечатывать и переклеивать упаковочные коды. Тут есть две опции:

4.1 оставить КИТУ неизменными. Нужно будет обновить наклейки, но главное не перепутать. Технически, можно попробовать сварганить обработку, которая будет взаимодействовать со сканером/ТСД: считал код — сгенерировал корректный код (без скобок) - распечатал новый — наклеил туда же где считал.

4.2 проводить агрегацию «с нуля»: сгенерировал упаковочный код - просканировал N штучек, - просканировал КИТУ, зафиксировав этим самым состав этой коробки.

 

p.s.

Я курю тему маркировки всего месяц. В виду крайне сжатых сроков, многое постигал методом "научного тыка", и мог пропустить какие-то важные регламенты, инструкции и прочие мануалы. Буду признателен сообществу, если меня в них ткнут носом. Может быть я вообще что-то неправильно понимаю, и никакой проблемы и нет вовсе?

маркировка Честный Знак SSCC КИТУ скобки служебные символы fnc1 GS1-128

См. также

Ценники и этикетки со штрих-кодом для 1С 8.х любой конфигурации

Этикетки, ценники Платформа 1С v8.3 Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Беларусь Украина Россия Управленческий учет Платные (руб)

Простая в использовании обработка для формирования и печати ценников и этикеток со штрих-кодом, с дополнительной ценой, для 1С8.х любой конфигурации. Большое разнообразие шаблонов печатных форм. Управляемая форма (Такси) + Обычный режим.

3588 руб.

11.11.2020    47544    53    44    

64

Печать ценников. (Розница 2.3, УНФ 1.6, две цены + серийные номера) + УНФ 3.0

Этикетки, ценники Платформа 1С v8.3 Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 Платные (руб)

Встроенная в конфигурации Розница 2.3 и УНФ 1.6 подсистема печати ценников по мне слишком неповоротлива и с усилиями поддается тонкой настройке, решил с нуля написать свою универсальную печать ценников для этих конфигураций.

2000 руб.

04.11.2019    28136    113    87    

52

Печать из Андроид

Этикетки, ценники Мобильная платформа Бесплатно (free)

Печать этикеток на принтер WiFi без драйвера.

20.01.2023    1808    aldar    0    

7

Ценники (этикетки) для термопринтера

Этикетки, ценники Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Абонемент ($m)

Внешняя печатная форма для принтера этикеток. В отличие от базовой обработки для печати этикеток эта может выводить на печать дополнительные свойства справочника Номенклатура, а также в ней несложный программный код, что позволяет легко дорабатывать обработку под свои нужды.

2 стартмани

03.01.2023    2993    19    AndreyPonom    7    

9

Набор готовых макетов этикеток (ценников) для Розницы 2.3

Этикетки, ценники Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Абонемент ($m)

Архив с экспортными шаблонами этикеток (ценников) формата 58х40. Для тех, кто не хочет сам рисовать их.

2 стартмани

04.05.2022    11861    44    aximo    3    

11

Шаблон этикетки для УНФ (1С:Фреш)

Этикетки, ценники Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Описан механизм создания этикетки для термопринтера ТSC TDP-225 в подробностях. Приложен XML-файл с самим шаблоном.

1 стартмани

01.05.2022    11144    6    zemskov    7    

5

Вывод изображений штрихкодов на СКД

СКД Этикетки, ценники Система компоновки данных 8.3.14 Конфигурации 1cv8 Россия Абонемент ($m)

Расширение и отчет для вывода изображений штрихкодов номенклатуры в СКД. Может быть использована как заготовка для создания собственного отчета.

1 стартмани

27.04.2022    4603    21    SergeyPZU    13    

18
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. aspiid 8 20.02.21 21:12 Сейчас в теме
1с ответили, что данная ошибка исправлена в патче EF_00_00344385.cfe для библиотеки подключаемого оборудования. Пока не получилось проверить, надеюсь на неделе выяснить, работает ли исправление корректно.
user1607409; +1 Ответить
2. Kom-off 16.03.21 17:21 Сейчас в теме
(1) Походу, действительно, исправили. Выкачал патч, подсоединил компоненту, по сформированному SSCC элементу штрихкодов упаковок сформировал этикетку, прочитал - без скобок.
Да, и спасибо за статью, зело помогла разобраться в теме.
Оставьте свое сообщение