Тип кода штрих кода 1с
Внешний компонент “1C:Печать штрихкодов” (Native) для платформы «1С: Предприятие 8.3»
Внешний компонент "1С:Печать штрихкодов" для платформы "1С:Предприятие 8.3" поставляется в составе «1С:Библиотеки подключаемого оборудования» (далее БПО) и «1С:Библиотеки стандартных подсистем» (далее БСП) . Компонент предназначен для формирования изображений штрихкодов в формате PNG на основе передаваемых в компонент данных и параметров построения изображения. Компонент может использоваться только совместно с программными продуктами системы "1С:Предприятие 8" на рабочих местах, обеспеченных Лицензией на использование системы программ "1С:Предприятие 8".
- Основные возможности
- Алгоритм генерации изображений ШК
- Невозможность генерации изображения
- Свойства
- Методы
- Особенности работы с GS1 кодами
- Пример генерации изображений штрихкода с помощью библиотек БПО и БСП
Основные возможности
Внешний компонент "1С:Печать штрихкодов" позволяет формировать изображения штрихкодов следующих типов: EAN8, EAN13, EAN13 AddOn 2, EAN13 AddOn 5, ITF14, RSS14, EAN128, Code39, Code39 Full ASCII, Code93, Code128, Code16k Industrial 2 of 5, Interleaved 2 of 5, CodaBar, PDF417, QR, GS1 databar extended stacked, DataMatrix ASCII, DataMatrix Base256, DataMatrix Text, DataMatrix C40, DataMatrix X12, DataMatrix Edifact, GS1 Datamatrix. Компонент позволяет автоматически определять тип штрихкода исходя из передаваемых параметров (см. раздел «Свойства компонента»).
Алгоритм генерации изображений ШК
Внешний компонент "1С:Печать штрихкодов" реализует следующий алгоритм генерации изображений ШК:
-
5. Генерация изображения ШК с учетом заданного угла поворота и других параметров визуализации. Графически это можно представить следующим образом:
В случае успешной генерации изображения ШК свойство Результат будет содержать значение 0.
Невозможность генерации изображения
В случае, когда генерация изображения ШК невозможна, например из за несоответствия ЗначенияКода переданному ТипуКода или когда запрошены Ширина или Высота меньшие чем МинимальнаяШирина или МинимальнаяВысота кода, изображение будет сгенерировано в любом случае, однако вместо изображения ШК, оно будет содержать текст ошибки («invalid barcode» или «size too small») и значение свойства Результат будет содержать значение > 0.
Свойства
* Устаревшие свойства не используются в актуальных версиях компонента и будут удалены (станут недоступны) начиная с версии 10.1.1.1.
Методы
Особенности работы с GS1 кодами
К GS1 типам кодов относятся – EAN128, GS1 Datamatrix и GS1 Databar extended stacked. При задании ЗначенияКода GS1 кодов допускается две формы ввода:
- В виде Строки. В этом случае ЗначениеКода должно содержать код GS1 в HRI (Human Readable Inеrpretation) виде, в котором коды групп применения заключены в круглые скобки, например, (01)04600822901507(11)161109(30)2434. В этом случае компонент интерпретирует строку как код GS1, раскрывает скобки, добавляет символ GS в конце каждой группы переменной длины и генерирует изображение, добавив графический символ начала кода FNC1.
- В виде Строки Base64. В этом случае внешняя система передает в компонент двоичные данные, содержащие в соответствии со стандартом GS1 группы применения и символ GS завершения группы переменной длины. Компонент генерирует изображение полученных данных, добавляя в штрихкод лидирующий графический символ FMC1. Проверка данных на соответствие стандарту GS1 не производиться. Пример входного значения - MDEwMDg1MTc2ODAwMzAyMDIxPktvbzNLUkx0Z0YicB05M2RHVno=
Пример генерации изображений штрихкода с помощью библиотек БПО и БСП
В состав БПО и БСП включены и необходимые методы по инициализации компоненты “1C:Печать штрихкодов” (Native) и генерации изображений штрихкодов в прикладных решениях 1С.
Для генерации картинки штрикода необходимо использовать метод «ИзображениеШтрихкода()» общего модуля «ГенерацияШтрихкода»
Внешняя компонента будет загружена и инициализирована автоматически при первом вызове этого метода.
Подробное описание возможных значений входящих параметров даны в описании функции конструктора для заполнения структуры входящих параметров «ПараметрыГенерацииШтрихкода()» общего модуля «ГенерацияШтрихкода» .
Пример использования компоненты в составе БПО или БСП может быть представлен следующим листингом
Самые распространенные типы штрих-кода — EAN13, EAN8, CODE39.
Как получить тип штрих-кода в 1С 8.3, зная только сам штрих-код, я расскажу ниже.
Данные функции содержатся в общем модуле РаботаСТорговымОборудованием управления торговлей версии 10.3.
Определение типа штрих-кода EAN8
Функция ТипШтрихкодаEAN8ТО(Штрихкод) Экспорт
Результат = Ложь;
Сумма = 0;
Коэффициент = 3;Если СтрДлина(Штрихкод) = 8 Тогда
Индекс = Неопределено;
Для Индекс = 1 По 7 Цикл
КодСимв = КодСимвола(Штрихкод, Индекс);
Если КодСимв < 48 Или КодСимв >57 Тогда
Возврат Результат;
КонецЕсли;
Сумма = Сумма + Коэффициент * (КодСимв — 48);
Коэффициент = 4 — Коэффициент;
КонецЦикла;
Сумма = (10 — Сумма % 10) % 10;
Результат = (КодСимвола(Штрихкод, 8) = Сумма + 48);
КонецЕсли;Возврат Результат;
КонецФункции // ТипШтрихкодаEAN8ТО()
Функция для получения контрольного числа в 1С EUN13:
Функция КонтрольныйСимволEAN13ТО(Штрихкод) Экспорт
Результат = «»;
Сумма = 0;
Коэффициент = 1;Индекс = Неопределено;
Для Индекс = 1 По 12 Цикл
КодСимв = КодСимвола(Штрихкод, Индекс);
Сумма = Сумма + Коэффициент * (КодСимв — 48);
Коэффициент = 4 — Коэффициент;
КонецЦикла;
Сумма = (10 — Сумма % 10) % 10;
Результат = Символ(Сумма + 48);Возврат Результат;
КонецФункции // КонтрольныйСимволEAN13ТО()
Определение типа штрих-кода EAN13
Функция ТипШтрихкодаEAN13ТО(Штрихкод) Экспорт
Результат = (СтрДлина(Штрихкод) = 13
И КонтрольныйСимволEAN13ТО(Штрихкод) = Прав(Штрихкод, 1));Возврат Результат;
КонецФункции // ТипШтрихкодаEAN13ТО()
Определение типа штрих-кода CODE39
Функция ТипШтрихкодаCODE39ТО(Штрихкод) Экспорт
Результат = Ложь;
Длина = СтрДлина(Штрихкод);
Индекс = Неопределено;Если Длина > 0 Тогда
Результат = Истина;
Для Индекс = 1 По Длина Цикл
КодСимв = КодСимвола(Штрихкод, Индекс);
Если (КодСимв <> 32)
И (КодСимв < 36 Или КодСимв >37)
И (КодСимв <> 43)
И (КодСимв < 45 Или КодСимв >57)
И (КодСимв < 65 Или КодСимв >90) ТогдаРезультат = Ложь;
Прервать;КонецЕсли;
КонецЦикла;
КонецЕсли;Возврат Результат;
КонецФункции // ТипШтрихкодаCODE39ТО()
Порою в рамках штрихкодирования документов или этикеток на печатную форму 1С 8.2 (8.3) необходимо вывести произвольный штрих-код.
Как это сделать, рассмотрим ниже.
Первым делом нужно создать шаблон будущей печатной формы. Если у Вас возникли трудности с созданием будущего шаблона, прочтите статью создание печатных форм в 1С.
Для вывода штрих-кода обязательно (кроме конфигураций на базе БСП 2 и выше) необходима установка компонента 1С Печать штрих-кода. Найти его можно на диске ИТС или на пользовательском портале 1С.
Вставка штрих-кода на печатную форму 1С
Первый шаг — необходимо создать новый объект — рисунок. Для этого в макете необходимо нажать Таблица — Рисунки — Вставить объект… Система предложит выбрать тип объекта:
Нужно выбрать Элемент управления — 1С.V8.Печать штрих-кодов. Допустим, назовём рисунок-объект «Штрихкод». Для программного вывода на печатную форму можно воспользоваться следующим кодом:
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
В вышеприведенном примере мы вначале получаем тип штрих-кода, потом назначаем рисунку тип штрих-кода и сам штрих-код.
Вот и всё! Установка штрих-кода на печатной форме завершена.
Наш видеоурок по созданию внешних печатных форм и подключению их на примере конфигурации 1С Бухгалтерии:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
Элемент управления 1С:Печать штрихкодов для платформы "1С:Предприятие 8.1"
Элемент управления предназначен для формирования штрихкода. Элемент управления может использоваться только совместно с программными продуктами системы "1С:Предприятие 8" на рабочих местах, обеспеченных Лицензией на использование системы программ "1С:Предприятие 8". Текущая версия элемента управления - 8.0.14.2 .
- Основные возможности
- Возможности оформления
- Свойства
- Методы
- Пример работы с элементом управления
- Установка элемента управления
Основные возможности
Элемент управления позволяет формировать штрихкоды следующих форматов: EAN8, EAN13, EAN13 AddOn 2, EAN13 AddOn 5, ITF14, RSS14, EAN128, Code39, Code39 Full ASCII, Code93, Code128, Code16k Industrial 2 of 5, Interleaved 2 of 5, CodaBar, PDF417. Поддерживается автоопределение формата штрихкода. Элементу управления можно передавать символьное значение штрихкода как с контрольным символом, так и без него. Есть возможность отключения показа контрольного символа штрихкода на результирующем изображении штрихкода. Для контроля полного вхождения полос штрихкода в область печати имеются свойства "минимальная ширина" и "минимальная высота", содержащие в себе минимально возможную ширину и высоту печатной области, в которой штрихкод может отображаться полностью.
Возможности оформления
Текст, отображаемый на поверхности штрихкода, можно задавать программно вне зависимости от содержания самого штрихкода. Можно изменять шрифт, положение текста (вверху или внизу штрихкода), признак отображения текста. Доступны для изменения цвет текста, цвет фона и цвет полос штрихкода. Фон штрихкода может быть прозрачным. Также изменяется угол поворота (дискретно по 90 градусов) штрихкода вместе с текстом, горизонтальное и вертикальное смещение штрихкода и размер поля вокруг печатаемого штрихкода.
Свойства
Методы
Пример работы с элементом управления
Установка элемента управления
Вы можете прямо сейчас установить элемент управления на жесткий диск Вашего компьютера
Привет всем! В данной статье предлагаю небольшой обзор возможностей актуальной библиотеки стандартных подсистем (БСП) на предмет формирования большинства существующих штрихкодов. На момент написания статьи точка актуальности - это БСП версии 3.1.4.104.
Для чего это нужно и чем может быть полезная эта статья? Поскольку, у нас в России сейчас активно наращивает обороты маркировка продукции (сигареты, обуви, текстиля и т.п), функционал формирования штрихкодов был включен в основу всех типовых конфигураций - БСП. Думаю, что изучение данных типовых методов стандартных подсистем, значительно сократит время разработки ваших программ и не заставит вас ничего придумывать самостоятельно.
Основные возможности БСП инструментов разработчика "Генерация штрихкодов"
Базовой "входящей" серверной функцией-структурой для вывода штрих-кода является функция ПараметрыГенерацииШтрихкода() Экспорт
Выглядит она вот так:
Здесь, я хочу обратить ваше внимание на параметр структуры "ТипКода". Поддерживаются следующие типы кодов:
Далее, все достаточно просто - мы отправляем структуру параметров в серверную функцию ПодготовитьИзображениеШтрихкода(ВнешняяКомпонента, ПараметрыШтрихкода) через экспортную функцию ИзображениеШтрихкода(ПараметрыШтрихкода) Экспорт
выглядит это так:
Данная функция возвращает структуру РезультатОперации следующего содержания
Так же, обратите внимание, что Внешняя компонента - основной объект для формирования "картинки" штрихкода, встроенный в ОбщийМакет.КомпонентаПечатиШтрихкодов конфигурации БСП. Получить его можно вот так:
Собственно, на этом базовых знаний достаточно, чтобы перейти от теории к практике - в следующем разделе привожу рабочий пример использования данного функционала.
Рабочий пример использования функционала БСП для формирования штрихкода
Здесь я привожу набор процедур и функций для формирования штрихкода:
Этого достаточно, чтобы получить сгенерированную картинку на основе входящей строки штрихкода.
Заключение и выводы
В данной статье мы рассмотрели основную выжимку настройки и применения методов генерации штрихкодов с системе БСП. Данные методы вы можете использовать в любой стандартной конфигурации 1с, основой которой является библиотека стандартных подсистем.
Данный материал не претендует на какие-то "сверхсложные знания" - скорее всего, в текущих реалиях жизни - это методичка "в тренде" специально для вас - готовый инструмент для работы со штрихкодами. Как говориться - взял и применил сразу.
Для написания этой статьи я использовал Платформу 1с - 8.3.18.1208 и конфигурацию БСП 3.1.4.104.
Спасибо, что прочитали данную статью.
Другие мои материалы по БСП
Так же прошу ознакомиться с другими моими статьями по функционалу библиотеки стандартных подсистем и типовым конфигурациям:
Читайте также: