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

26.07.21

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

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

Скачать файлы

Наименование Файл Версия Размер
Печать ШтрихКода для любой конфигурации и платформы 8.3:
.epf 2,01Mb
191
.epf 2,01Mb 191 Скачать
Печать штрихкода управляемых форм для внешней обработки:
.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    47552    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    28137    113    87    

52

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

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

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

20.01.2023    1808    aldar    0    

7

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

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

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

2 стартмани

03.01.2023    2993    19    AndreyPonom    7    

9

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

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

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

2 стартмани

04.05.2022    11863    44    aximo    3    

11

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

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

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

1 стартмани

01.05.2022    11147    6    zemskov    7    

5

Вывод изображений штрихкодов на СКД

СКД Этикетки, ценники Система компоновки данных 8.3.14 Конфигурации 1cv8 Россия Абонемент ($m)

Расширение и отчет для вывода изображений штрихкодов номенклатуры в СКД. Может быть использована как заготовка для создания собственного отчета.

1 стартмани

27.04.2022    4604    21    SergeyPZU    13    

18
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. rabid_otter 134 07.11.19 11:19 Сейчас в теме
многие (в том числе и я) делали подобный финт еще в лет 7-8 назад, когда перетаскивали в УТ 10.3 компоненты печати штрихкодов, сделанные по технологии Native API из УТ 11.
2. AlexHelmer 1706 07.11.19 12:48 Сейчас в теме
а я только добрался и не нашел готового решения в инете. поэтому и поделился своим опытом
3. CheBurator 3119 17.05.20 23:43 Сейчас в теме
а если это работает в браузере на линуксе?
4. AlexHelmer 1706 18.05.20 05:05 Сейчас в теме
не понял сути вопроса
5. maxf 20.01.21 08:16 Сейчас в теме
Очередное гениальное решение для облегчения жизни от 1С! Спасибо автору, сам бы я никогда не догадался, что дело дошло до такого маразма..
6. user_2010 871 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 1706 30.04.21 14:59 Сейчас в теме
Добрый день! сложно сказать. они по моему регистрируются как OLE сервер и на одно имя. поэтому если уже что то стоит то должно работать
8. user662249_andrenn 1 26.07.21 17:44 Сейчас в теме
чем обработки друг от друга отличаются, какую качать для ут 10.3
9. AlexHelmer 1706 26.07.21 18:05 Сейчас в теме
Да согласен Мой косяк Не совсем понятно написал вам надо качать первую у которой больше всего скачиваний
Вторая это как как во внешней обработке для управляемых форм подключить чтение штрих-кодов. поправлю
10. IVC_goal 213 15.11.21 15:24 Сейчас в теме
Не понял - не срабатывает оповещение
Процедура ПодключитьОборудованиеЗавершение(РезультатВыполнения, Параметры) Экспорт
И почему?
11. vis_tmp 32 13.07.23 22:15 Сейчас в теме
Спасибо автору!
"Как читать ШК во внешней обработке" - прям сразу и заработало!
Оставьте свое сообщение