Печать штрихкода для любой конфигурации на платформе 8.3

26.07.21

Задачи пользователя - Этикетки, ценники

Платформы младше 8.3.12.1313 использовали ActivX для печати ШтрихКода, сейчас технология изменилась. Эта обработка - замена старого механизма на новый.

Скачать исходный код

Наименование Файл Версия Размер
Печать ШтрихКода для любой конфигурации и платформы 8.3:
.epf 2,01Mb
192
.epf 2,01Mb 192 Скачать
Печать штрихкода управляемых форм для внешней обработки:
.epf 6,09Kb
35
.epf 6,09Kb 35 Скачать

Столкнулся с тем, что на последних платформах перестали печататься ШК по старой технологии.

Раньше мы вставляли в макет объект ActivX

давали ему имя Штрихкод и тексте прописывали 

ОбластьМакета.Рисунки.Штрихкод.Объект.ТипКода     = 1;
ОбластьМакета.Рисунки.Штрихкод.Объект.отображатьТекст=истина;
ОбластьМакета.Рисунки.Штрихкод.Объект.УстановитьШрифт(,2);
ОбластьМакета.Рисунки.Штрихкод.Объект.Сообщение   = Штрихкод;
ОбластьМакета.Рисунки.Штрихкод.Объект.ТекстКода   = Штрихкод;    
ТабДокумент.Вывести(ОбластьМакета);

Платформы старше 8.3.12.1313 перестали это поддерживать и старые обработки и отчеты вылетают по ошибке.

Теперь что бы поправить печатные формы надо подключить внешнюю компоненту положить в макет Картинку (можно взять любую из стандартных) растянуть ее до нужных размеров и программным способом заменить ее на то что вернет подключенная внешняя компонента 1CBarcodWin32_9_0_4_7.dll  или 1CBarcodWin64_9_0_4_7.dll .

Для управляемых форм:

    ШК="000000000025768";
	о=РеквизитФормыВЗначение("Объект");
	ВК=о.ПодключитьВнешнююКомпонентуПечатиШтрихкода();	
	табдок=Новый ТабличныйДокумент;
	
	макет=о.ПолучитьМакет("Макет");
	Ш=макет.ПолучитьОбласть("Шапка");
	
	//Эталон = ПолучитьМакет("Эталон");
	//КоличествоМиллиметровВПикселе = Эталон.Рисунки.Квадрат100Пикселей.Высота / 100;  //0.26454
	КоличествоМиллиметровВПикселе = 0.26454; //Можно указывать напрямую без Эталон = ПолучитьМакет("Эталон"); и КоличествоМиллиметровВПикселе = Эталон.Рисунки.....
	
	ПараметрыШтрихкода = Новый Структура;
	ПараметрыШтрихкода.Вставить("Ширина",          Окр(Ш.Рисунки.Штрихкод.Ширина / КоличествоМиллиметровВПикселе));
	ПараметрыШтрихкода.Вставить("Высота",          Окр(Ш.Рисунки.Штрихкод.Высота / КоличествоМиллиметровВПикселе));
	ПараметрыШтрихкода.Вставить("Штрихкод",        ШК);//СокрЛП(ЧисловойКодПоСсылке(Ссылка)));
	ПараметрыШтрихкода.Вставить("ОтображатьТекст", истина);
	ПараметрыШтрихкода.Вставить("РазмерШрифта",    6);

	Ш.Рисунки.Штрихкод.Картинка = о.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода,ВК);
	табдок.Вывести(Ш);
	Возврат табдок;

Для обычных форм:

    ШК="000000000025768";
	ВК=ПодключитьВнешнююКомпонентуПечатиШтрихкода();	
	табдок=Новый ТабличныйДокумент;
	макет=ПолучитьМакет("Макет");
	Ш=макет.ПолучитьОбласть("Шапка");
	
	Эталон = ПолучитьМакет("Эталон");
	КоличествоМиллиметровВПикселе = Эталон.Рисунки.Квадрат100Пикселей.Высота / 100;  //0.26454
	//КоличествоМиллиметровВПикселе = 0.26454; //Можно указывать напрямую без Эталон = ПолучитьМакет("Эталон"); и КоличествоМиллиметровВПикселе = Эталон.Рисунки.....
	
	ПараметрыШтрихкода = Новый Структура;
	ПараметрыШтрихкода.Вставить("Ширина",          Окр(Ш.Рисунки.Штрихкод.Ширина / КоличествоМиллиметровВПикселе));
	ПараметрыШтрихкода.Вставить("Высота",          Окр(Ш.Рисунки.Штрихкод.Высота / КоличествоМиллиметровВПикселе));
	ПараметрыШтрихкода.Вставить("Штрихкод",        ШК);//СокрЛП(ЧисловойКодПоСсылке(Ссылка)));
	ПараметрыШтрихкода.Вставить("ОтображатьТекст", истина);
	ПараметрыШтрихкода.Вставить("РазмерШрифта",    6);

	Ш.Рисунки.Штрихкод.Картинка = ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода,ВК);
	табдок.Вывести(Ш);
	табдок.Показать();

К публикации прикреплена обработка, которая реализует печать ШК для УФ и Обычных форм. В Макетах содержаться компоненты для windows 32 и 64. Если ваша конфигурация снята с поддержки, то встраиваем внешнюю обработку в конфигурацию, немного изменяем код. Публикация для программистов! Это всего лишь болванка для реализации ваших потребностей!

 

 

 

Хоть от конфигурации и не зависит напишу что проверялось на платформе 1С:Предприятие 8.3 (8.3.15.1700)

Бухгалтерия предприятия, редакция 3.0 (3.0.73.54)

Управление торговлей, редакция 10.3 (103.5)

Управление торговлей, редакция 11 (11.4.9.91)

и на пустой конфигурации.

 

Как читать ШК во внешней обработке:

Берем БП3 3.0 (3.0.75.104) 

&НаКлиенте
Процедура ВнешнееСобытие(Источник, Событие, Данные)
	//ставим точку останова на КонецПроцедуры
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
  ПоддерживаемыеТипыВО = Новый Массив();
   ПоддерживаемыеТипыВО.Добавить("СканерШтрихкода");
   ОповещенияПриПодключении = Новый ОписаниеОповещения("ПодключитьОборудованиеЗавершение", ЭтотОбъект); 
   МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПоТипу(ОповещенияПриПодключении, УникальныйИдентификатор, ПоддерживаемыеТипыВО);

КонецПроцедуры

&НаКлиенте
Процедура ПодключитьОборудованиеЗавершение(РезультатВыполнения, Параметры) Экспорт
 
   Если Не РезультатВыполнения.Результат Тогда
      ТекстСообщения = НСтр( "ru = 'При подключении оборудования произошла ошибка:""%ОписаниеОшибки%"".'");
      ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ОписаниеОшибки%" , РезультатВыполнения.ОписаниеОшибки);
      Сообщить(ТекстСообщения);
   Иначе
      ТекстСообщения = НСтр("ru = 'Оборудование подключено.'" );
      Сообщить(ТекстСообщения);
   КонецЕсли;

КонецПроцедуры

&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
	ПоддерживаемыеТипыВО = Новый Массив();
   ПоддерживаемыеТипыВО.Добавить("СканерШтрихкода");
   ОповещенияПриПодключении = Новый ОписаниеОповещения("ОтключитьОборудованиеЗавершение", ЭтотОбъект); 
   МенеджерОборудованияКлиент.НачатьОтключениеОборудованиеПоТипу(ОповещенияПриПодключении, УникальныйИдентификатор, ПоддерживаемыеТипыВО);

КонецПроцедуры

&НаКлиенте
Процедура ОтключитьОборудованиеЗавершение(РезультатВыполнения, Параметры) Экспорт
   
   Если Не РезультатВыполнения.Результат Тогда
      ТекстСообщения = НСтр( "ru = 'При отключении оборудования произошла ошибка: ""%ОписаниеОшибки%"".'");
      ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ОписаниеОшибки%" , РезультатВыполнения.ОписаниеОшибки);
      Сообщить(ТекстСообщения);
   Иначе
      ТекстСообщения = НСтр("ru = 'Оборудование отключено.'" );
      Сообщить(ТекстСообщения);
   КонецЕсли;

КонецПроцедуры

обработка ВнешняяОбработка_ВнешнееСобытие.epf

См. также

Ценники и этикетки со штрих-кодом для 1С 8.х любой конфигурации

Этикетки, ценники Платформа 1С v8.3 Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Беларусь Украина Россия Управленческий учет Платные (руб)

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

3588 руб.

11.11.2020    47808    53    44    

64

Печать ценников. (Розница 2.3, УНФ 1.6, две цены + серийные номера) + УНФ 3.0

Этикетки, ценники Платформа 1С v8.3 Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 Платные (руб)

Встроенная в конфигурации Розница 2.3 и УНФ 1.6 подсистема печати ценников по мне слишком неповоротлива и с усилиями поддается тонкой настройке, решил с нуля написать свою универсальную печать ценников для этих конфигураций.

2000 руб.

04.11.2019    28310    113    87    

52

Штрих-коды в шаблоне этикетки

Этикетки, ценники Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Россия Управленческий учет Платные (руб)

Решение позволяет в шаблон этикетки с типом "Этикетка (обувь, одежда, табак...)" добавлять штрих-коды другого типа, например, GTIN в Code128.

4000 руб.

09.06.2021    15040    7    6    

10

Печать из Андроид

Этикетки, ценники Мобильная платформа Бесплатно (free)

Печать этикеток на принтер WiFi без драйвера.

20.01.2023    1901    aldar    0    

7

Ценники (этикетки) для термопринтера

Этикетки, ценники Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Абонемент ($m)

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

2 стартмани

03.01.2023    3111    19    AndreyPonom    7    

9

Набор готовых макетов этикеток (ценников) для Розницы 2.3

Этикетки, ценники Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Абонемент ($m)

Архив с экспортными шаблонами этикеток (ценников) формата 58х40. Для тех, кто не хочет сам рисовать их.

2 стартмани

04.05.2022    12230    44    aximo    3    

11

Шаблон этикетки для УНФ (1С:Фреш)

Этикетки, ценники Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Описан механизм создания этикетки для термопринтера ТSC TDP-225 в подробностях. Приложен XML-файл с самим шаблоном.

1 стартмани

01.05.2022    11390    6    zemskov    7    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. rabid_otter 134 07.11.19 11:19 Сейчас в теме
многие (в том числе и я) делали подобный финт еще в лет 7-8 назад, когда перетаскивали в УТ 10.3 компоненты печати штрихкодов, сделанные по технологии Native API из УТ 11.
+
2. AlexHelmer 1726 07.11.19 12:48 Сейчас в теме
а я только добрался и не нашел готового решения в инете. поэтому и поделился своим опытом
+
3. CheBurator 3119 17.05.20 23:43 Сейчас в теме
а если это работает в браузере на линуксе?
+
4. AlexHelmer 1726 18.05.20 05:05 Сейчас в теме
не понял сути вопроса
+
5. maxf 20.01.21 08:16 Сейчас в теме
Очередное гениальное решение для облегчения жизни от 1С! Спасибо автору, сам бы я никогда не догадался, что дело дошло до такого маразма..
+
6. user_2010 896 30.04.21 11:14 Сейчас в теме
Добрый день!

Подскажите, пожалуйста, в конфигурации Документооборот.2.1 в печатной форме документа нужно вывести штрих-код.
В этой конфигурации штрих-код уже добавляют в файлы Word.
Это значит, что компонента 1CBarcodWin32_9_0_4_7.dll или 1CBarcodWin64_9_0_4_7.dll уже установлена?


Мне установили на комп «1С.V8. Печать штрих-кодов», скачала по ссылке https://its.1c.ru/db/metod8dev/content/1838/hdoc.
Там указано: Текущая версия элемента управления - 8.0.14.2.

Уже потом нашла вашу статью. Значит, то что я скачала - с этим у меня не будет работать печать штрих-кодов?

Спасибо!
+
7. AlexHelmer 1726 30.04.21 14:59 Сейчас в теме
Добрый день! сложно сказать. они по моему регистрируются как OLE сервер и на одно имя. поэтому если уже что то стоит то должно работать
+
8. user662249_andrenn 1 26.07.21 17:44 Сейчас в теме
чем обработки друг от друга отличаются, какую качать для ут 10.3
+
9. AlexHelmer 1726 26.07.21 18:05 Сейчас в теме
Да согласен Мой косяк Не совсем понятно написал вам надо качать первую у которой больше всего скачиваний
Вторая это как как во внешней обработке для управляемых форм подключить чтение штрих-кодов. поправлю
+
10. IVC_goal 215 15.11.21 15:24 Сейчас в теме
Не понял - не срабатывает оповещение
Процедура ПодключитьОборудованиеЗавершение(РезультатВыполнения, Параметры) Экспорт
И почему?
+
11. vis_tmp 32 13.07.23 22:15 Сейчас в теме
Спасибо автору!
"Как читать ШК во внешней обработке" - прям сразу и заработало!
+
Оставьте свое сообщение