Как создать штрихкод в 1с
Перейти к содержимому

Как создать штрихкод в 1с

  • автор:

Штрихкоды в 1С, как создать и напечатать?

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

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

Как создать и напечатать штрихкоды в 1С?

Для того, чтобы работал механизм печати, должен быть установлена компонента печати “1С:Печать штрихкодов (ActiveX)”. Скачать ее можно с сайта с обновлениями 1С.

Штрихкоды в 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.

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

Штрихкоды в 1С, как создать и напечатать?

В табличной части выберем шаблон ценника и этикетки. Обратите внимание, что в шаблоне должно содержаться поле со штрихкодом, а также для выбранной номенклатуры должен быть определен сам штрихкод.

Штрихкоды в 1С, как создать и напечатать?

После этого при выводе на печать у нас будут сформированы ценники и этикетки в том количестве экземпляров, которое было указано в поле “Кол. Ценников (шт)” и “Кол. этикетов(шт)” соответственно.

Генерация штрихкодов с помощью стандартных подсистем 1с для программистов

Привет всем! В данной статье предлагаю небольшой обзор возможностей актуальной библиотеки стандартных подсистем (БСП) на предмет формирования большинства существующих штрихкодов.

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

Основные возможности БСП инструментов разработчика «Генерация штрихкодов»

Базовой «входящей» серверной функцией-структурой для вывода штрих-кода является функция ПараметрыГенерацииШтрихкода() Экспорт

Выглядит она вот так:

Обратите внимание на параметр структуры «ТипКода». Поддерживаются следующие типы кодов:

Далее, все достаточно просто — мы отправляем структуру параметров в серверную функцию ПодготовитьИзображениеШтрихкода(ВнешняяКомпонента, ПараметрыШтрихкода) через экспортную функцию ИзображениеШтрихкода(ПараметрыШтрихкода) Экспорт

выглядит это так:

Данная функция возвращает структуру РезультатОперации следующего содержания:

Так же, обратите внимание, что Внешняя компонента — основной объект для формирования «картинки» штрихкода, встроенный в ОбщийМакет.КомпонентаПечатиШтрихкодов конфигурации БСП. Получить его можно вот так:

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

Рабочий пример использования функционала БСП для формирования штрихкода

Здесь я привожу набор процедур и функций для формирования штрихкода:

Заключение и выводы

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

1С 8.3 : Простое штрихкодирование документов

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

Конфигурация “Торговля и склад”. Хотелось сделать как можно проще и быстрее, и в тоже время надежно. На решение задачи ушло 1,5 часа. И так приступим….

У нас будет использоваться штрихкод EAN13. Создаем общий реквизит документов:
title

Общий реквизит документов "EAN13"
Тип – “Строка”, длина – 13, отбор по реквизиту

Добавляем в глобальный модуль процедуру
Код 1C v 7.x

После этого в документы, которым будут присваиваться штрихкоды добавляем вызов
вышеописанного в процедуру "ПриЗаписи()"
Код 1C v 7.x

В результате при первой записи документа ему будет присвоен штрихкод состоящий
из следующих блоков:
1. год документа (2 символа);
2. семь цифр справа от номера документа;
3. код вида документа (3 символа);
4. контрольный символ;

Осталось только вставить в печатную форму объект ActiveBarcode и настроить
необходимые свойства у него.

А вот и результат
title

1С 8 — Печать штрихкода

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

Пожалуйста, обратите внимание — пример рассчитан на работу с ПО StrokeScribe версии 4.0.4 или старше.

Подготовка макета для вывода штрихкода

1. Создайте новый отчет в конструкторе 1С:Предприятия 8.2 и дайте ему имя ОтчетШтрихкод(это имя будет использовано в модуле ниже).

2. Для отчета ОтчетШтрихкод создайте макет табличного документа под именем МакетШтрихкод.

3. В макете создайте область произвольного размера с именем ОбластьШтрихкод.

4. Поместите в область картинку (меню Таблица->Рисунки->Картинка) с размерами будущего штрихкода. В свойствах картинки укажите имя — РисунокШтрихкод.

В результате всех действий должен получиться макет отчета, похожий на показанный на рисунке:

Модуль отчета

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

Результат работы данного модуля — таблица с внедренной картинкой QR Code. Для выбора формата штрихкода, укажите другую константу в свойстве Alphabet. Для наиболее распространенных форматов штрихкодов ниже приведены специализированные примеры.

Замечания по модулю отчета:

Для успешного выполнения вызова ПолучитьCOMОбъект() не забудьте установить ПО StrokeScribe. При работе в режиме клиент-сервер, ПО StrokeScribe должно быть установлено на сервере. На клиентских ПК установка StrokeScribe не требуется.

Вызов ПолучитьИмяВременногоФайла() требуется для получения произвольного имени промежуточного файла, в котором будет сохранено изображение штрихкода перед передачей его в табличный документ. Файл должен существовать до вызова ТабДок.Вывести(Область). После этого временный файл может быть удален. Если планируется создание нескольких штрихкодов в одной области, то для каждого штрихкода должен быть создан свой временный файл. Так как SavePictureсохраняет штрихкод в формате WMF, то создаваемому файлу присваивается соответствующее расширение.

При желании, может быть использовано и фиксированное имя файла, например: ИмяФайла=»c:\temp\barcode.wmf». Разумеется, что папка «c:\temp» должна существовать и быть доступной для создания файлов.

Присваивание barcode.Alphabet= задает формат штрихкода. Константы типов штрихкодов доступны в документации. Примеры создания наиболее распространенных штрихкодов приведены ниже.

Данные, присваиваемые barcode.Text, зависят от формата штрихкода. Например, EAN-13 не может отображать буквы и имеет фиксированную длину, а CODE 128 не работает с кириллицей. Если StrokeScribe не может обработать строку, то в свойство Error будет записано ненулевое значение. В модуле используется упрощенная проверка ошибок — результат всех операций вместе помещается в переменную код: код=barcode.SavePicture().

Вызов SavePicture() сохраняет изображение штрихкода во временном файле. Указание 7 во втором параметре вызова SavePicture() создаст векторное масштабируемое изображение в формате WMF. В коммерческой версии StrokeScribe доступны также форматы JPG, PNG, GIF, BMP24 и EMF. Создание растровых изображений штрихкода не рекомендуется из-за большого объема данных и плохой приспособленности к масштабированию, но может применяться в случае, если тонкий клиент не поддерживает WMF.

В конструкции Если код<>0 проверяется результат сохранения картинки штрихкода в файле. Код будет ненулевым и в том случае, если указан несуществующий тип штрихкода или в свойство Textпосланы данные, не отображаемые штрихкодом выбранного типа. Текстовое пояснение к коду ошибки доступно в свойстве ErrorDescription. Результат каждой операции с объектом штрихкода можно дополнительно контролировать проверкой значения свойства Error.

Для вывода множества штрихкодов достаточно организовать циклическое присваивание Text=, Alphabet= (опционально) и обращение к методу SavePicture. Каждое обращение к SavePicture должно происходить с отдельным именем файла для каждого штрихкода внутри одной области до вызова ТабДок.Вывести(). После вывода области файлы могут быть удалены.

Примеры создания штрихкодов в отчете 1С 8.2

Ниже даны примеры создания некоторых распространенных форматов штрихкодов. Так как некоторые из форматов имеют дополнительные настройки, рекомендуем обратиться к страницам, ориентированным на определенный формат штрихкода (см. меню сайта слева) и к документации по свойствам StrokeScribe.

Пожалуйста, обратите внимание — версия 1С:Предприятия 8.2.12.96, на которой производилось тестирование, некорректно центрирует изображения WMF, сдвигая их вправо. Поэтому не рекомендуется уменьшать чистые зоны штрихкодов (свойства HBorderSize и QuietZone2D) во избежание потери части линий штрихкода.

EAN-13

Для вывода EAN-13, установите свойство Alphabet=3. В свойство Text запишите цифровой 12-значный код товара (или 13-значный, если известна контрольная сумма). Вычисление и проверка контрольной суммы выполняется автоматически. При передаче 13-значного кода с неверной контрольной суммой, соответствующий код ошибки будет выставлен в свойстве Error.

Смодифицируйте исходный текст модуля, как показано ниже:

CODE 128

Штрихкод CODE 128 формируется при установке свойства Alphabet=5. В свойство Text можно записать любые символы ASCII, в том числе и управляющие коды. Обратите внимание — CODE 128 не поддерживает кириллицу. При записи недопустимых символов в свойство Text, в свойстве Error будет выставлен соответствующий код ошибки.

Смодифицируйте исходный текст модуля, как показано ниже:

Символ(9) — функция языка 1C — кодирует символ табуляции (ASCII TAB). Все нечитаемые символы отображаются, как * в подписи под штрихкодом. CODE 128 позволяет задать произвольный текст подписи, который будет выведен под штрихкодом вместо стандартного отображения закодированных данных:

ITF-14

Формат штрихкода ITF-14 задается установкой свойства Alphabet=7. В свойство Text запишите цифровой 13-значный цифровой код (или 14-значный, если известна контрольная сумма). Вычисление и проверка контрольной суммы выполняется автоматически. При передаче 14-значного кода с неверной контрольной суммой, соответствующий код ошибки будет выставлен в свойстве Error.

Смодифицируйте исходный текст модуля, как показано ниже:

Свойство ITF14BearerBox выводит ITF-14 с прямоугольной рамкой, обычно присутствующей на штампах для гофрированной тары. Для вывода штрихкода только с горизонтальными защитными линиями, укажите ITF14BearerBox = 0.

GS1-128 (ранее EAN-128)

Для печати штрихкода GS1-128, установите свойство Alphabet=17. В свойство Text запишите последовательность данных и идентификаторов AI. Пример: идентификатор партии = 1234; масса брутто = 12345.6Кг; годность до 17/05/2001. Результирующая строка: «10» + «1234» + GS + «3301» + «123456» + «17» + «010517». Для ограничения параметров переменной длины используется ASCII GS (десятичный код 29).

Смодифицируйте исходный текст модуля, как показано ниже:

Большие объемы данных в формате GS1 можно хранить в двумерных штрихкодах GS1 DATAMATRIX.

Data Matrix

Формат штрихкода Data Matrix задается установкой свойства Alphabet=8. Data Matrix позволяет кодировать любые данные, включая двоичные. Передача кириллицы в кодовой странице CP1251 не разрешается стандартом, но фактически используется в штрихкодах Почты России и некоторых банков. Создание Data Matrix, содержащих ECI=22 допустимо, если достоверно известно, что сканирующее оборудование и считывающее ПО поддерживают ECI. Для распознавания Data Matrix с кириллицей на мобильных телефонах, требуется кодирование в UTF-8.

Смодифицируйте исходный текст модуля, как показано ниже:

Aztec

Штрихкод Aztec задается установкой свойства Alphabet=33. Aztec позволяет кодировать любые данные, включая двоичные. Кириллица в кодовой странице CP1251, по установившейся практике, передается в режиме кодирования двоичных данных. Стандарт требует указания идентификатора ECI=22 перед использованием кириллицы, но тем не менее, не все современное оборудование и ПО поддерживают ECI. Распознавание Aztec не поддерживается почти всеми мобильными телефонами, за исключением специализированных моделей для складского применения.

Для печати кода Aztec, смодифицируйте исходный текст модуля, как показано ниже:

QR Code

QR Code генерируется при установке свойства Alphabet=25. Данный формат позволяет кодировать текстовые и двоичные данные. Кодирование кириллицы для распознавания на мобильных телефонах должно осуществляться в кодировке UTF-8. Применение идентификаторов ECI должно осуществляться только при уверенности, что считывающее оборудование и ПО поддерживают индикацию ECI. Для изменения уровня коррекции ошибок используйте свойство QrECL.

Приведенный здесь пример предназначен для создания QR-кода для мобильных приложений. Большинство складских и офисных применений в России (при распознавании специализированными сканерами) требуют прямой передачи текста в кодовой странице CP1251. Для этого установите UTF8=0. Установка QrECL приведена здесь в качестве примера и не является обязательной.

ТОП ПРОДАЖ 1С:Предприятие

Добавить комментарий

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