Генерация штрихкода и 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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

3050 руб.

03.12.2018    71989    246    106    

189

Сканер штрих-кода Пользователь 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    46063    243    194    

185

Адаптация типовых решений БСП (Библиотека стандартных подсистем) Кадровый учет ЭДО и ОФД 1C:Бухгалтерия 1С:Зарплата и кадры 7.7 1C:ERP 1С:ЗУП 1С:УТ 1С:ДО Платные (руб)

Наше расширение 1С Госключ обеспечивает интеграцию любой конфигурации 1С на базе БСП с мобильным приложением «Госключ», позволяя сотрудникам подписывать кадровые документы (КЭДО) и документы материальной ответственности (МОЛ, ПБ) усиленной электронной подписью прямо со смартфона. Решение автоматизирует формирование и отправку документов на подпись, отслеживает статусы подписания и хранит подписанные файлы непосредственно в базе 1С

25000 руб.

06.03.2026    1865    4    0    

3

Учет ОС и НМА Сканер штрих-кода Терминал сбора данных Логистика, склад и ТМЦ 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Приложение Инвентаризация ОС и ТМЦ предназначено для инвентаризации основных средств и товарно-материальных ценностей, закреплённых за конкретным материально ответственным лицом или складом. В конфигурации 1С:Бухгалтерии 3.0 отсутствуют возможности генерации и работы со штрих-кодами для основных средств. Приложение позволяет генерировать и обрабатывать штрих-коды как для основных средств, так и для товарно-материальных ценностей (материалы, товары). В новом релизе появилась возможность работы с фотографиями объектов учета.

07.07.2023    6560    4    alfanika    0    

7

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Программист Пользователь 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    122839    727    207    

386

Этикетки, ценники Пользователь 1С:Предприятие 8 1C:Бухгалтерия Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Беларусь Украина Россия Управленческий учет Платные (руб)

Простая в использовании обработка для формирования и печати ценников и этикеток со штрих-кодом, с дополнительной ценой, для 1С8.х Большое разнообразие шаблонов печатных форм. Управляемая форма (Такси) + Обычный режим.

5084 руб.

11.11.2020    54929    77    53    

85
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vandalsvq 1746 15.09.23 16:48 Сейчас в теме
Спасибо большое за статью. Полезно, нужно, круто !!!
Danila-Master; support; YA_418728146; +3 Ответить
2. JohnyDeath 302 17.09.23 18:05 Сейчас в теме
А в svg она не умеет?
3. YA_418728146 697 18.09.23 09:03 Сейчас в теме
(2) Я такой возможности не увидел. Хотя, если найти исходный код компоненты, можно будет сказать наверняка
4. Неопределено 111 20.09.23 08:09 Сейчас в теме
Кликбейтная КДПВ.
YA_418728146; +1 Ответить
5. YA_418728146 697 20.09.23 08:31 Сейчас в теме
(4) Рад что кто-то оценил мои старания:)
6. korppinen 69 18.10.23 12:05 Сейчас в теме
7. zhkonst 4 05.12.23 18:27 Сейчас в теме
А у меня такая засада - баркоды формируются разных размеров. А клиент хочет, чтобы вот пренепременно одинаковые были. Параметры в компоненту одинаковые передаются, уже всё перепроверил. А на выходе изображения разных размеров, длина-ширина визуально разные. Я сначала думал - в коде 1С наговнячено, отладкой всё попроверял - все размеры картинок одинаковые. А сами изображения генерятся разные по габаритам.
Никто не сталкивался с таким, как победить?
8. zhkonst 4 06.12.23 10:08 Сейчас в теме
(7) Сам спросил - сам ответил. Самообслуживание. Выставил в Истина реквизит УбратьЛишнийФон, всё стало одинаковым.
tonic2012; 5Son; junga; arz; prostoshu; Windsor77; +6 Ответить
16. 5Son 16.03.26 09:22 Сейчас в теме
(8) Спасибо огромное, очень помог
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));
            Стр = Сред(Стр,Поз+ДлинаРазделителя);
        КонецЦикла;
    КонецЕсли;
   

КонецФункции
Показать
user729459; jobkostya1c_ERP; +2 Ответить
17. fuser 3 09.04.26 10:43 Сейчас в теме
(13) сканер работает в режиме эмуляции клавиатуры. Он отправляет не символы (0,1,..A,B), а скан-коды клавиш. Потому символ зависит от текущей раскладки клавиатуры.

У многих современных сканеров есть т.н. режим ALT-mode. В этом режиме все символы передаются без искажения.
18. CheBurator 3234 16.07.26 22:11 Сейчас в теме
Когда уже кто напишет генерацию QR/Datamatrix без вк/шрифтов...?
Для отправки сообщения требуется регистрация/авторизация