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

23.05.16

Разработка - Универсальные функции

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

 

Написали маленькую функцию, которая генерирует штрих-код в 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

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

штрих-кодирование 1С8

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    4647    Abysswalker    11    

46

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

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

14.05.2025    8617    DeerCven    15    

62

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

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

21.05.2024    56569    dimanich70    85    

174

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7967    7    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    71045    atdonya    31    

72

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

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

30.11.2023    9971    ke.92@mail.ru    17    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Fragster 1166 23.05.16 16:28 Сейчас в теме
https://sourceforge.net/projects/zint/ поддерживает больше типов ШК, умеет генерить сразу в нужном формате и более кроссплатформенный
2. pumbaE 23.05.16 17:14 Сейчас в теме
А http://zbar.sourceforge.net/ еще и обратно распознает.
3. q_i 586 24.05.16 14:05 Сейчас в теме
Главное не напороться на шутника, который в поле штрихкод сумеет ввести что-нибудь вроде
;rm -rf /;
amoarok; 1cmax; +2 Ответить
4. Fragster 1166 24.05.16 17:30 Сейчас в теме
7. rudjuk 101 25.05.16 08:50 Сейчас в теме
(3) q_i, Да, интересная шутка бы получилась :). Теоретически, нужно предусматривать защиту от таких шутников. Но, не факт, что такая фраза запишется в штрих-код. Это же не QR-код, куда пишешь, что захочешь...
8. 1cmax 153 25.05.16 09:07 Сейчас в теме
(7) здесь вопрос в том, чтобы при генерации штрихкода винт почистить )))
9. rudjuk 101 25.05.16 13:04 Сейчас в теме
(8) 1cmax, Это то понятно. Нужно теоретически предусматривать защиту от таких вещей. На практике, врядли вам удастся сгенерировать штрих-код просто словом. Хотя. возможно в некоторых из стандартов...
5. starik-2005 3237 24.05.16 18:09 Сейчас в теме
Нативная компонента для линуха уже лет пять живет во всех современных 1С-ных конфах, и меня немало удивляют подобные публикации, размещенные в 2016-м году. В чем смысл-то хоть?
6. rudjuk 101 25.05.16 08:48 Сейчас в теме
(5) starik-2005, Никто не мешает написать альтернативное решение в комментах или в отдельной статье.
10. starik-2005 3237 25.05.16 16:04 Сейчас в теме
(6) да вроде как на ИТС уже понаписано. Чем стандартный вариант не устраивает?
11. rudjuk 101 25.05.16 19:54 Сейчас в теме
(10) starik-2005, Ну я видел Windows-решение. Когда писал данную статью в прошлом году, возможно, что и не увидел решение под Linux.
12. starik-2005 3237 25.05.16 21:44 Сейчас в теме
(11) общий макет "КомпонентаПечатиШтрихКода":
<?xml version="1.0" encoding="UTF-8" ?>
<bundle xmlns="http://v8.1c.ru/8.2/addin/bundle">
        <component os="Windows" path="1CBarCodWin32_8_2_3_1.dll" type="native" arch="i386" />
        <component os="Windows" path="1CBarCodWin64_8_2_3_1.dll" type="native" arch="x86_64" />
        <component os="Linux" path="lib1CBarCodLin32_8_2_3_1.so" type="native" arch="i386" />
        <component os="Linux" path="lib1CBarCodLin64_8_2_3_1.so" type="native" arch="x86_64" />
</bundle>


Для QR-кодов вот:
<?xml version="1.0" encoding="UTF-8"?>
<bundle xmlns="http://v8.1c.ru/8.2/addin/bundle">
	<component os="Windows" path="1CQRCodeWin32_008.dll" type="native" arch="i386"/>
	<component os="Windows" path="1CQRCodeWin64_008.dll" type="native" arch="x86_64"/>
	<component os="Linux" path="lib1CQRCodeLin32_008.so" type="native" arch="i386"/>
	<component os="Linux" path="lib1CQRCodeLin64_008.so" type="native" arch="x86_64"/>
</bundle>
Показать


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