Генерация штрихкода и QR, разбор настроек и примеры

15.09.23

Разработка - БСП (Библиотека стандартных подсистем)

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

Начать, наверное, надо со ссылок:

  1. Разработчики компоненты: ImageMagick Studio LLC
  2. Документация по компоненте на сайте ИТС: Внешний компонент “1C:Печать штрихкодов” (Native) для платформы "1С: Предприятие 8.3"
  3. Типы штрихкодов, описанные на ИТС: Штрихкодирование

Для начала подключим компоненту. В БСП есть методы правильного подключения компоненты со всеми проверками, но для примера можно сделать просто:

РезультатПодключения = ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодов", "BarcodeSymbolicName", , ТипПодключенияВнешнейКомпоненты.Изолированно);
Генератор = Новый("AddIn.BarcodeSymbolicName.Barcode");    

Теперь можно приступать к работе. Есть основные настройки компоненты и индивидуальные для некоторых типов ШК. 

Основные:

Генератор.ТипКода = 0; // значение от 0 до 24
Генератор.АвтоТип = Ложь; // если Истина, то ТипКода можно не указывать
Генератор.ЗначениеКода = ""; // Строка или Base64Строка
Генератор.ОтображатьТекст = Истина;
Генератор.Шрифт = Генератор.ШрифтПоИндексу(3); 
Генератор.РазмерШрифта = 12; 
Генератор.ПоложениеТекста = 0; // 0 - снизу, 1 - сверху
Генератор.ПрозрачныйФон = Истина; 
Генератор.УголПоворота = 0; // Значение в градусах: 0, 90, 180, 270
Генератор.ВертикальноеВыравниваниеКода = 3; // 1 - верх, 2 - центр, 3 - низ
Генератор.ТипВходныхДанных = 0; // 0 - строка, 1 - base64Строка
Генератор.УбратьЛишнийФон = Ложь; 
Генератор.Ширина = 250;
Генератор.Высота = 100;

За основу возьмем эти настройки, ниже я буду показывать какие настройки я буду менять или добавлять для различных типов ШК

Так же у компоненты есть поля, доступные только для чтения:

КоличествоШрифтов = Генератор.КоличествоШрифтов; // Число, показывает какое количество установленных шрифтов может использовать компонента         
Результат = Генератор.Результат; // Число, результат генерации, где 0 - успешно, 1 - ошибка
ТекстКода = Генератор.ТекстКода; // Возвращает ЗначениеКода с типом Строка

А так же есть 3 функции:

Штрихкод = Генератор.ПолучитьШтрихкод(); // Результат генерации штрихкода с типом ДвоичныеДанные
ШрифтПоИндексу = Генератор.ШрифтПоИндексу(3); // Получение установленного шрифта по индексу, в данном случае Arial
ЕстьТакойШрифт = Генератор.НайтиШрифт("Arial"); // Булево, указывает найден ли шрифт по имени

Ну, с вводными закончили, можно приступать к формированию.

 
И начнем мы с формата EAN8.
 
Формат EAN-13
 
Формат EAN-128
 
Формат CODE-39
 
 Формат CODE-128
 
 Формат CODE-16K
 
 ФОРМАТ PDF-417
 
 ФОРМАТ INDUSTRIAL 2 OF 5
 
ФОРМАТ INTERLEAVED 2 OF 5
 
 ФОРМАТ CODE-39 FULL ASCII
 
 ФОРМАТ CODE-93
 
 ФОРМАТ ITF-14
 
 ФОРМАТ RSS-14
 
 ФОРМАТ CODABAR
 
 ФОРМАТ EAN-13 ADDON 2
 
 ФОРМАТ EAN-13 ADDON 5
 
 ФОРМАТ QR
 
 ФОРМАТ GS1 DATABAR EXTENDED STACKED
 
 ФОРМАТ DATAMATRIX
 
 ПОВОРОТ ШТРИХКОДА

 

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

 

Если статья понравилась, ставьте плюс, а также читайте другие мои статьи:

  1. Валидация JSON через XDTO (включая массивы)
  2. Отправка документа без сохранения в файл (ПотокВПамяти)

Вступайте в нашу телеграмм-группу Инфостарт

Штрихкод БСП Внешний компонент QR EAN-13 DataMatrix

См. также

Сканер штрих-кода Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Стандартные конфигурации ERP, КА, УТ 11 позволяют работать с штрихкодированием серий. Есть только одно суровое ограничение – на упаковке должна быть этикетка для номенклатуры и отдельно для серии. Во многих случаях это критически неудобно.

24000 руб.

19.04.2021    28656    66    56    

79

Мобильная разработка Сканер штрих-кода Терминал сбора данных 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Сбор заказов, инвентаризация, проверка ценников, просмотр полной информации об остатках и ценах со смартфона Онлайн - все это содержит в себе решение 1С "Штрихкод-информер" (штрих-код чекер). Отправка данных со смартфона выполняется либо напрямую в открытую форму документа, отсканировав QR-код, либо в общую корзину учетной системы, не подходя к компьютеру. Кассир или оператор сможет просмотреть список присланных данных и загрузить в любую форму, поддерживающую работу с ТСД. Для работы с мобильным приложением требуется опубликовать HTTP-сервис из поставляемого расширения.

3050 руб.

03.12.2018    67358    229    106    

186

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный ТСД (терминал сбора данных) сканер для 1С для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

3050 руб.

22.04.2019    114533    689    203    

362

Сканер штрих-кода Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

У вас возникал вопрос - Как быстро и правильно выполнить приемку товара в торговой точке? Как минимизировать ошибки при сборке заказа клиента? Текущая разработка способна помочь в решении данных проблем. Её назначение - проверка с помощью сканера штрих кода поступления и реализации товаров, заказов клиентов, заказов поставщикам, расходных и приходных ордеров, перемещений и возвратов.

5185 руб.

29.07.2020    42658    222    187    

172

Этикетки, ценники Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Вы работаете с маркируемым товаром? Вам нужно вывести штрихкод GTIN на этикетку? Вы используете типовое решение УТ, УНФ, КА или ERP? В типовых конфигурациях нет возможности добавить штрихкод GTIN на этикетку. Сейчас это очень важно для торговых сетей. Добавьте штрихкод GTIN рядом со штрих кодом DataMatrix (код маркировки) на Ваши этикетки с нашим расширением. Решение в виде расширения, а это означает, что конфигурация останется на поддержке. Подключив данное решение, Вы сможете выводить GTIN в виде штрих кода EAN13 (без лидирующего нуля)/EAN128 (с лидирующим нулем).

5490 руб.

09.06.2021    19500    29    19    

32

Сканер штрих-кода Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Теперь практически все торговые документы в конфигурации 1С Бухгалтерия 3.0 (ПРОФ / КОРП) и в конфигурации 1С Бухгалтерия сельскохозяйственного предприятия 3.0 поддерживают подбор товара по штрих-коду. Можно пользоваться сканером штрихкода или подбирать штрих-код вручную. В основных печатных формах документов выводится колонка Штрихкод. Для менеджеров по продажам будет удобным дополнительный отчет Прайс-лист с остатками и штрих-кодом.

7320 руб.

28.07.2020    31921    85    37    

64

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

3254 руб.

21.11.2024    11543    44    24    

50
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vandalsvq 1696 15.09.23 16:48 Сейчас в теме
Спасибо большое за статью. Полезно, нужно, круто !!!
Danila-Master; support; YA_418728146; +3 Ответить
2. JohnyDeath 302 17.09.23 18:05 Сейчас в теме
А в svg она не умеет?
3. YA_418728146 683 18.09.23 09:03 Сейчас в теме
(2) Я такой возможности не увидел. Хотя, если найти исходный код компоненты, можно будет сказать наверняка
4. Неопределено 111 20.09.23 08:09 Сейчас в теме
Кликбейтная КДПВ.
YA_418728146; +1 Ответить
5. YA_418728146 683 20.09.23 08:31 Сейчас в теме
(4) Рад что кто-то оценил мои старания:)
6. korppinen 69 18.10.23 12:05 Сейчас в теме
7. zhkonst 3 05.12.23 18:27 Сейчас в теме
А у меня такая засада - баркоды формируются разных размеров. А клиент хочет, чтобы вот пренепременно одинаковые были. Параметры в компоненту одинаковые передаются, уже всё перепроверил. А на выходе изображения разных размеров, длина-ширина визуально разные. Я сначала думал - в коде 1С наговнячено, отладкой всё попроверял - все размеры картинок одинаковые. А сами изображения генерятся разные по габаритам.
Никто не сталкивался с таким, как победить?
8. zhkonst 3 06.12.23 10:08 Сейчас в теме
(7) Сам спросил - сам ответил. Самообслуживание. Выставил в Истина реквизит УбратьЛишнийФон, всё стало одинаковым.
junga; arz; prostoshu; Windsor77; +4 Ответить
9. Vasijkeee 20.05.24 18:09 Сейчас в теме
а как и где можно скачать компоненту?
10. пользователь 22.05.24 07:56
Сообщение было скрыто модератором.
...
11. Deimich 26.02.25 06:55 Сейчас в теме
ТекстКода = Генератор.ТекстКода;

не работает, после генерации там пусто, даже если мы указали, что хотим иметь текст.
12. dctvghbdtn 24.07.25 11:44 Сейчас в теме
Разработчики компоненты: ImageMagick Studio LLC

Устаревшая информация на текущий день?
13. IsKurtis 30.09.25 14:06 Сейчас в теме
Подскажите, как быть, если во время сканирования при рус раскладке на выходе "..штащыефкеюкг.1с.фкешсдуы.1928785." - транслитерация
Если включить En то все нормуль. как то побороть это реально?
14. LeoFlex 24.10.25 15:36 Сейчас в теме
(13)
 //перевод русской раскладки в латинскую
Функция Транслит(Вход) 
    
    Русский = "йцукенгшщзфывапролдячсмитьбюЙЦУКЕНГШЩЗФЫВАПРОЛДЯЧСМИТЬБЮ";
    Англ    = "q;w;e;r;t;y;u;i;o;p;a;s;d;f;g;h;j;k;l;z;x;c;v;b;n;m;Q;W;E;R;T;Y;U;I;O;P;A;S;D;F;G;H;J;K;L;Z;X;C;V;B;N;M";
    МассивАнгл = _РазложитьСтрокуВМассивПодстрок(Англ,";");
    ДлиннаВход = СтрДлина(Вход);
    Выход = "";
    Для а=1 По ДлиннаВход Цикл 
        ТекущийСимвол = Сред(Вход,а,1);    
        Позиция = Найти(Русский,ТекущийСимвол);
        Если Позиция > 0 Тогда 
            Выход = Выход + МассивАнгл[Позиция-1];
        Иначе 
            Выход = Выход + ТекущийСимвол;
        КонецЕсли;
    КонецЦикла;
    Возврат Выход;
    
КонецФункции
Показать
jobkostya1c_ERP; +1 Ответить
15. LeoFlex 24.10.25 16:17 Сейчас в теме
(14)
Функция _РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт
   
    МассивСтрок = Новый Массив();
    Если Разделитель = " " Тогда
        Стр = СокрЛП(Стр);
        Пока 1=1 Цикл
            Поз = Найти(Стр,Разделитель);
            Если Поз=0 Тогда
                МассивСтрок.Добавить(Стр);
                Возврат МассивСтрок;
            КонецЕсли;
            МассивСтрок.Добавить(Лев(Стр,Поз-1));
            Стр = СокрЛ(Сред(Стр,Поз));
        КонецЦикла;
    Иначе
        ДлинаРазделителя = СтрДлина(Разделитель);
        Пока 1=1 Цикл
            Поз = Найти(Стр,Разделитель);
            Если Поз=0 Тогда
                МассивСтрок.Добавить(Стр);
                Возврат МассивСтрок;
            КонецЕсли;
            МассивСтрок.Добавить(Лев(Стр,Поз-1));
            Стр = Сред(Стр,Поз+ДлинаРазделителя);
        КонецЦикла;
    КонецЕсли;
   

КонецФункции
Показать
jobkostya1c_ERP; +1 Ответить
Для отправки сообщения требуется регистрация/авторизация