Генерация штрих-кода для вставки его в 1С при работе в Linux

21.05.16

Разработка - Разработка внешних компонент

В Linux есть отличная команда barcode, которая генерирует штрих-коды в векторном формате ps. Но 1С не понимает такие форматы. Более того, barcode генерирует штрих-код на размер листа А4 или Letter. Установка пользовательского размера листа не увенчалась успехом. Но не будем же мы вставлять изображение штрих-кода размером с лист А4…
Однако есть способ, как решить данные проблемы.

 

Генерируем штрих-код в формате ps с помощью команды barcode:

barcode -p letter -g 200x100 -u mm -b 13423432320 -e 128 -o sss.ps

Теперь, нужно преобразовать его в понятный для 1С формат - это или jpg или png. За это отвечает команда ImageMagic convert. Кроме того, есть возможность указать четкость изображения с помощью параметра -density 150. А так же есть очень полезный параметр для нашего случая -trim. Этот параметр обрезает изображение. Т.е. обрезает всё белое пространство нашего листа.

Получаем такую команду для генерации jpg:

convert -density 150 -trim sss.ps sss.jpg

Для генерации png:

convert -density 150 -trim sss.ps sss.png

Сравнивая изображения png и jpg видим, что jpg имеет размер 21,2Кб, а png - 2,7Кб. Т.е. получается, что png лучше использовать, т.к. размер такого файла в 10 раз меньше. Кроме того, в png нет фона.

Для того, чтоб не нужно было вызывать несколько команд из линукс и после каждой делать тайм-аут, рекомендую заключить обе команды в "одну команду", например так:

barcode -p letter -g 200x100 -u mm -b 13423432320 -e 128 -o sss.ps | convert -density 150 -trim sss.ps sss.png

Можно обойтись и без использования файла, например:

barcode p 8.5x11in -umm -e 'code128' -b 12345678 | convert - img.png

 

Написал маленькую функцию, которая генерирует штрих-код в Linux и получает его в 1С.

Функция ШтрихКодПоказать(Штрихкод, Стандарт="128")
	
	Если Штрихкод="" Тогда // Если не указали штрих-код, тогда выводим в CODE 128
		Предупреждение("Не указан штрих-код!",5);
	Иначе	
		 Файл="/tmp/"+Штрихкод;
         ЗапуститьПриложение("barcode -p letter -g 200x100 -u mm -b "+Штрихкод+" -e 128 -o "+Файл+".ps | convert -density 150 -trim "+Файл+".ps "+Файл+".png");
		 Файл=Файл+".png";
	КонецЕсли;	
	 
	Возврат Файл;
	
КонецФункции


Процедура ОбработкаШтрихкодаНажатие(Элемент)
	
	S=ШтрихКодПоказать("58765", "ean13");
	
	Предупреждение("На всякий случай ждем 1 секунду", 1);
	
	ЗапуститьПриложение(S);
	
КонецПроцедуры

Параметры функции Штрих-код:

Штрих-код - буквенно-цифровое значение штрих-кода.
Стандарт - стандарт штрих-кода. Предусмотрены такие значения данного параметра, отвечающие за соответствующий стандарт:

        "ean", "ean13", "ean-13", "ean8", "ean-8"
        "upc", "upc-a", "upc-e"
        "isbn"
        "39", "code39"
        "128c", "code128c"
        "128b", "code128b"
        "128", "code128"
        "128raw"
        "i25", "interleaved 2 of 5"
        "cbr", "codabar"
        "msi"
        "pls", "plessey"
        "code93", "93"
Автор: Рудюк С . А. http://corp2.net

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

linux xrdp штрих-код barcode 1с8.3

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

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

См. также

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

Медиадисплей покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Экран можно использовать в качестве графического меню-борда в кафе и видеовывески. В качестве устройства отображения можно использовать Android-планшеты, смарт-телевизоры с Android, мониторы или проекторы под управлением Windows или Linux-компьютера. Linux-версия успешно запускается на одноплатных компьютерах Raspberri Pi и Orange Pi. Настраивается ЛЮБОЙ ДИЗАЙН экрана при помощи встроенного графического редактора! Решение можно масштабировать от одного экрана до тысяч экранов с централизованным управлением.

18300 руб.

30.05.2017    57161    11    71    

48

Разработка внешних компонент Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

5084 руб.

12.05.2020    33793    145    100    

100

Разработка внешних компонент Программист 1С 8.3 Бесплатно (free)

В современных корпоративных решениях на платформе 1С:Предприятие 8.3 всё чаще возникает потребность в визуальном моделировании и автоматизации бизнес-процессов с использованием нотации BPMN 2.0. Стандартные средства платформы не предоставляют полноценного редактора BPMN, однако интеграция открытой библиотеки bpmn-js позволяет реализовать интерактивное моделирование бизнес-процессов непосредственно в 1С. В статье рассмотрены архитектура решения, пошаговая инструкция по сборке библиотеки из исходников для WebKit, а также примеры программного взаимодействия между 1С и JavaScript.

03.04.2026    2459    SultanovStas    8    

21

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    6944    bayselonarrend    17    

54

Разработка внешних компонент Программист 1С:Предприятие 8 Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    11964    kovalevdmv    29    

83

Разработка внешних компонент Механизмы платформы 1С Программист Стажер 1С:Предприятие 8 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    12172    starik-2005    40    

49
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Fragster 1167 01.07.15 13:36 Сейчас в теме
Есть еще кроссплатформенная программа zint, которая умеет не только одномерные, но еще и двумерные ШК генерить, причем сразу в png. Ну и из-за того, что она кроссплатформенная (и портабельная, можно включить в макет) в своих разработках можно применить единообразный подход к генерации ШК как в linux, так и в windows

http://sourceforge.net/projects/zint/
Трактор; theshadowco; +2 Ответить
3. dumal 10.07.15 11:00 Сейчас в теме
rudjuk,
Ай-ай imagemagick, а не imagemagic! Сам когда-то долго привыкал, а теперь глаз спотыкается
Для отправки сообщения требуется регистрация/авторизация