Генерация и печать SSCC кода в 1С 8.2 УПП


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

GLN — номер плательщика, 9цифр

0,1,2 — идентификатор упаковки, короб, паллета

Номер паллета — от 1 до 7 цифр

18 цифра — контрольное число 

Алгоритм определения контрольного числа некоторого набора цифр для системы GS1 состоит из следующих шагов:

Алгоритм расчета контрольного числа:

Шаг 1:      Начиная с крайнего справа разряда, сложить значения четных разрядов

Шаг 2:      Результат шага 1 умножить на цифру 3

Шаг 3:      Суммировать значения оставшихся разрядов, исключая контрольный разряд

Шаг 4:     Суммировать результаты шагов 2 и 3

Шаг 5:     Значение контрольного разряда является наименьшим числом, которое в сумме с полученным значением в шаге 4 дает число, кратное 10-ти 

14 Comments

  1. CherAl

    УПП 1.3.96.1, платформа 8.3.10.2580. Ошибка — ниже. В чем может быть проблема?

    {ВнешняяОбработка.ГенерацияИПечатьSSCCКодов.Форма.Форма.Форма(9)}: Поле объекта не обнаружено (ТипКода)

    РисунокШтрихкод.Объект.ТипКода = УправлениеРозничнойТорговлей.ПолучитьЗначениеТипаШтрихкодаДляЭУ(ПланыВидовХарактеристик.ТипыШтрихкодов.Code128);

    {ВнешняяОбработка.ГенерацияИПечатьSSCCКодов.Форма.Форма.Форма(9)}: Поле объекта не обнаружено (ТипКода)

    Reply
  2. CherAl

    Разобрался. Компонента 1С:Печать штрихкодов. Она на моем ПК отсутствовала. Установил. Печать пошла.

    Reply
  3. rudsergo

    Добрый день! Тандер выставил требования по генерации ШК данного типа. Скачали Вашу обработку сгенерировали ШК, но впереди у Тандера идет еще (00) как это сделать в обработке? Спасибо

    Reply
  4. AnnaKalacheva

    (3) Здравствуйте!

    В процедуре печати измените

     РисунокШтрихкод.Объект.Сообщение = ШтрихКод;

    на

    РисунокШтрихкод.Объект.Сообщение = «(00)»+ШтрихКод;
    Reply
  5. celtic

    (4) Коллеги, нельзя так делать!

    т.к. скобки не должны шифроваться в ШК.

    Мы у себя сделали так:

    РисунокШтрихкод.Объект.Сообщение = «00»+ШтрихКод;

    Надпись у ШК скрыл, а сам SSCC типа (00)123456789012345678 вывожу ниже ШК.

    Но не уверен что это верно, т.к.в этой компоненте нет типа шк GS1-128 или RSS Expanded,

    а надо использовать именно его. Сети пока считывают у себя как Code128, он это до поры, при переключении сканера в режим считывании RSS Expanded ШК так же должен быть сформирован соответствующего типа, тогда он считается с ИП (AI).

    Сейчас по факту у вас будет считываться обычная строка вида (00)123456789012345678,

    а должна считываться таже строка но в скобках будет (AI) — идентификатор применения.

    Reply
  6. celtic

    Читайте рекомендации стандарта GS1

    http://www.gs1ru.org/wp-content/uploads/2017/02/СТО-30_V_1_открыт.pdf

    Reply
  7. oldfornit

    (5) сети считывают у себя как EAN128. Из известных мне сетей только Ашан когда-то считал SSCC штрихкодом Code-128, но потом исправился.

    В общем — формируйте ШК как EAN-128 и на вход компоненте передавайте строку со скобками. При условии у вас достаточно свежая компонента конечно же.

    Кстати, заранее предупреждаю — если у вас в ШК будут AI переменной длины, то X5 (если Вы с ним конечно работаете) может не согласовать ШК, распечатанный текущей компонентой от 1С — компонента на текущий момент не работает со спецсимволом 39. Обещают что в общий доступ достаточно скоро выложат.

    Reply
  8. celtic

    (7)

    1С — компонента на текущий момент не работает со спецсимволом 39. Обещают что в общий доступ достаточно скоро выложат

    да, все ждем и ждем, а до 1 июля осталось совсем ничего… а до 1 мая еще меньше

    (7)

    формируйте ШК как EAN-128 и на вход компоненте передавайте строку со скобками

    да, попробовал сейчас в 1С исправить на EAN-128 и передавать текст со скобками, все отлично печатается. спасибо

    Reply
  9. СимволКристоффеля

    (8)

    Скобок не достаточно. В конце полей переменной длины нужно вставлять Символ(29). Обратите внимание! Не 39. А 29!

    Так же можете посмотреть на реализацию в УТ 11.4.3

    Reply
  10. oldfornit

    (9) да, я прошу прощения, я ошибся.

    Reply
  11. celtic

    (9) Согласен, но я говорил только про SSCC, в нем нет переменных полей, так что сойдет пока что и EAN-128

    вот если печатать GS1-128, то да, без спец.символа нельзя.

    Reply
  12. Азверин

    Так что, данная обработка удовлетворяет требованиям из pdf-файла в (3) ?

    Reply
  13. stilet

    Подскажите — где можно взять исходный код процедуры УправлениеРозничнойТорговлей.ПолучитьЗначениеТипаШтрихкодаДляЭУ(ПланыВидовХарактеристик.ТипыШтрихкодов.Code128); ?

    А то УПП нет в наличии

    Reply
  14. Азверин

    (13) какая-то у вас неправильная УПП. В моей есть (1.3.67.1).

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *