Расширение с объектами подсистемы штрихкодирования: общий модуль и компонента генерации штрихкода. Позволяет при вызове общего модуля "ГенерацияШтрихкода" функции "ИзображениеШтрихкода" получить картинку штрихкода по переданным параметрам. Параметры можно получить вызвав экспортную функцию этого модуля "ПараметрыГенерацииШтрихкода".
Расширение необходимо включить в состав конфигурации из конфигуратора. Чтобы получить изображение штрихкода для печати нужно сначала вызвать функцию общего модуля "ГенерацияШтрихкода.ПарметрыГенерацииШтрихкода", затем полученную структуру заполнить параметрами и передать их в функцию этого же модуля "ГенерацияШтрихкода.ИзображениеШтрихкода". Полученнную картинку можно вывести на печать.
Пример реализации:
&НаКлиенте
Процедура ПечатьИнвНомера(Команда)
ТабДок = ПолучитьДанныеДляПФ();
КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("Макет");
КоллекцияПечатныхФорм[0].Экземпляров = 1;
КоллекцияПечатныхФорм[0].СинонимМакета = "Макет";
КоллекцияПечатныхФорм[0].ТабличныйДокумент = ТабДок;
УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, Неопределено, ЭтаФорма);
КонецПроцедуры
&НаСервере
Функция ПолучитьДанныеДляПФ()
ТабДок = Новый ТабличныйДокумент;
ТабДок.АвтоМасштаб = Истина;
Обработка = РеквизитФормыВЗначение("Объект");
Макет = Обработка.ПолучитьМакет("Макет");
ОснОбласть = Макет.ПолучитьОбласть("Основная");
ОснОбласть.Параметры.Штрихкод = ПолучитьКартинкуШтрихкода(Объект.ИнвНомер);
ОснОбласть.Параметры.ИнвНомер = "NO:" + Объект.ИнвНомер;
ТабДок.Вывести(ОснОбласть);
ТабДок.ВывестиГоризонтальныйРазделительСтраниц(); // для печати на А4
Возврат ТабДок;
КонецФункции
Функция ПолучитьКартинкуШтрихкода(ВходныеДанные);
ШиринаШтрихкода = 60;
ВысотаШтрихкода = 40;
ТипШтрихкодаЗнач = 2;
РазмерШрифта = 6;
УголПоворота = 0;
ПрозрачныйФон = Ложь;
УровеньКоррекцииQR = 0;
Масштабировать = Истина;
СохранятьПропорции = Истина;
ВертикальноеВыравнивание = 2;
КоличествоСтрокGS1Databar = 1;
ПараметрыШтрихкода = ГенерацияШтрихкода.ПараметрыГенерацииШтрихкода();
ПараметрыШтрихкода.Вставить("Ширина" , ШиринаШтрихкода);
ПараметрыШтрихкода.Вставить("Высота" , ВысотаШтрихкода);
ПараметрыШтрихкода.Вставить("ТипКода" , ТипШтрихкодаЗнач);
ПараметрыШтрихкода.Вставить("ОтображатьТекст" , Истина);
ПараметрыШтрихкода.Вставить("РазмерШрифта", РазмерШрифта);
ПараметрыШтрихкода.Вставить("УголПоворота" , Число(УголПоворота));
ПараметрыШтрихкода.Вставить("Штрихкод" , ВходныеДанные);
ПараметрыШтрихкода.Вставить("ПрозрачныйФон" , ПрозрачныйФон);
ПараметрыШтрихкода.Вставить("УровеньКоррекцииQR", УровеньКоррекцииQR);
ПараметрыШтрихкода.Вставить("Масштабировать" , Масштабировать);
ПараметрыШтрихкода.Вставить("СохранятьПропорции" , СохранятьПропорции);
ПараметрыШтрихкода.Вставить("ВертикальноеВыравнивание", ВертикальноеВыравнивание);
ПараметрыШтрихкода.Вставить("GS1DatabarКоличествоСтрок", КоличествоСтрокGS1Databar);
КартинкаШтрихкода = БиблиотекаКартинок.КомпьютерПодWindows;
РезультатКартинка = ГенерацияШтрихкода.ИзображениеШтрихкода(ПараметрыШтрихкода);
Если РезультатКартинка.Результат Тогда
КартинкаШтрихкода = РезультатКартинка.Картинка;
КонецЕсли;
Возврат КартинкаШтрихкода;
КонецФункции
Проверено на следующих конфигурациях и релизах:
- Документооборот КОРП, редакция 3.0, релизы 3.0.17.36