Меркурий+GS1. Обработка формирования штрихкодов GS1 и вывод их на печать






Данная обработка ‘собирает’ из различных данных по номенклатуре (штрихкод EAN 13, масса нетто, серия, дата производства, срок годности, серийный номер), штрихкод формата GS1. Данный штрихкод используется для нанесения на логистические единицы (короба) для ветеринарных групп товаров. Подойдет тем, у кого ВЕДЕТСЯ УЧЕТ ПО СЕРИЯМ.

Хало всем. Сегодня я хотел бы немного рассказать и совсем чуть-чуть показать. Совсем недавно, возникла необходимость написать небольшую обработку, которая бы формировала из определенных данных номенклатуры  (штрихкод EAN 13, масса нетто, серия, дата производства, срок годности, серийный номер) — штрихкод формата GS1.
Проблема еще и в том, что стандартными средствами 1С сформировать такой штрихкод невозможно (на данный момент). Поэтому на просторах инфостарта, была найдена соответствующая библиотека с расширением (*.dll), в которой находились все необходимые процедуры и функции, позволяющие сделать невозможное. 
Если очень кратко, то суть задачи состояла в следующем — из этого [01]02420000106065[11]170118[17]170218[10]12345[21]12 получить вот это

Используя имеющуюся dll-библиотеку и функционал 1С. Как это сделать? Вам понадобится :

1. Платформа версии 8.3.10.2699 или выше (х86 это важно).
2. Конфигурация Бухгалтерия 2.0 версии 2.0.16.2 (можно другие пробовать, но я тестировал только на указанной).
3. Архив, который Вы можете купить за стартмани. В нем будет dll-библиотека, файл обработки, сопутствующая документация, в которой описаны требования к формированию штрихкодов GS1.
4. И наверное, время чтобы дочитать эту статью до конца, дабы потом не было недоразумений вроде: "А шо она не работает?".

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

1. Штрихкод номенклатуры находится в справочнике Номенклатура и имеет формат EAN-13. Штрихкод содержит только цифры, также допускается содержание спец.символа в виде знака вопроса "?". 
2. Масса нетто находится в справочнике номенклатуры и имеет формат ХХХ.ХХХ , что соответствует формату 3103 в документации. 
3. В базе ведется учет по сериям
4. Серия является также датой производства.
5. Серия доступна в ТЧ документа Реализация товаров и услуг и заполнена.
6. Срок хранения товара содержится в регистре сведений СоставУсловияХраненияНоменклатуры.
7. Вроде все основные моменты описал. Если что — остальное допишу позже. В любом случае, если есть несоответствия по пунктам, думаю труда не составит поправить (например пункт 7, формат массы). В архиве, есть инструкция, где описаны все требования и стандарты, если Вы разработчик 1С — то без труда допишите пару строк под Ваш формат массы. В обработке каждая строка прокомментирована, чтобы было сподручнее тем, кто надумает что-то там изменять. Ну а если что-то кардинально разнится с Вашей конфигурацией — можно просто взять эту обработку за основу, для разработки своего варианта, т.к большая часть функционала уже в ней есть. 

Важно понимать! Эта обработка не панацея, и подойти может не всем. Убедительная просьба, внимательно прочитать эту статью! Это я говорю тем, кто любит скачивать, нажимать одну кнопочку и "что бы оно само все делалось".

Ниже представлена выдержка из документа, который будет в архиве. Собственно по нему и создавалась логика работы обработки.
Здесь описаны основные (обязательные) идентификаторы, из которых формируется штрихкод GS1.

Вот еще одна табличка, с описанием этих же идентификаторов, но в более упрощенной форме.

Проведу соответствие по идентификаторам в моей обработке:

01 — штрихкод EAN-13 
3102 или 3103 — масса нетто. 3102 (ХХХХ.ХХ), 3103 (ХХХ.ХХХ). У меня использовался последний.
11,17,10 — формировались из серии. До этого момента, я и не знал, что возможен вариант и/или с идентификаторами 11, 17. У меня используется и дата изготовления, и дата окончания срока годности. Но т.к дата окончания срока годности формируется из даты производства, а дата производства — это серия, то Вам необходимо лишь, чтобы велся учет по сериям и серия представляла собой подобие даты. Обработка берет серию, не из карточки номенклатуры, а из документа реализации.
21 — серийный номер короба в производственной партии. У меня этот идентификатор не используется в обработке.

Теперь небольшой гид по работе с обработкой. Открывается обработка через меню ФайлОткрыть. Зарегистрировать обработку в базе, не получилось. Ругается на отсутствие метода печати, хотя все методы есть.
Открыли, увидели окно, изображенное на картинке ниже.

Теперь пробежимся по полям:

Высота картинки — каждый сформированный штрихкод будет выводиться в виде картинки. Этот параметр задает высоту каждого изображения.
Ширина картинки — ширина изображения штрихкода соответственно.
Отображать текст  включает/выключает показ составляющих штрихкода (цифр и индентификаторов). Т.е показ к примеру такого кода под картинкой [01]02420000106065[11]170118[17]170218[10]12345[21]12.
Количество штрихкодов в строке
— определяет количество колонок с картинками на странице.
Путь к внешней компоненте — указываете папку, в которой лежит библиотека GAP1CBarcode.dll идущая в архиве с обработкой. Путь представляет собой обычную строку, которая не должна заканчиваться на .
Документ РТиУ — указываете документ реализации по позициям которого необходимо сформировать штрихкоды.
Показывать дополнительные области макета — включает/выключает отображение области на макете с параметрами, введенными на форме.
Часть полей деактивирована, чтобы избежать возникновения ошибок.

Ввели данные, нажали кнопку выполнить. Получаем макет с картинками штрихкодов и названием к ним.

На этом, думаю, можно закончить. Если у Вас есть вопросы — оставляйте здесь в комментариях.

5 Comments

  1. Misha_J

    А реально двумерный штрихкод формирует? Например ШК GS1 DataBar Expanded Stacked, на примере не видно. И как с управляемыми формами, будет работать?

    Reply
  2. Misha_J

    Чем от этой публикации отличается? https://infostart.ru/public/824109/

    Reply
  3. user594264_e.sitnik

    (2) Разрабатывалась обработка на тойже компоненте, что и по ссылке.

    Reply
  4. user594264_e.sitnik

    (2)Но только по ссылке — обработка выводит один штрихкод, по УЖЕ СФОРМИРОВАННОМУ коду, который Вы должны ввести в соответствующее поле. Моя обработка формирует штрихкоды без ввода дополнительной информации, для позиций из табличной части документа реализации. Вы лишь указываете документ реализации, и вам выводится список штрихкодов для каждой позиции.

    Reply
  5. sergey-201

    Здравствуйте, а контрольный символ формируется?

    Reply

Leave a Comment

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