ustanovka_shtrix-koda_na_pechatnuju_formu

Это старая версия документа!


1. На печатную орму в область добавляем просто пустой рисунок. Убираем на нем границы рисунка (обводку) 2. В менеджере где формируеться печатная форма на этапе набора строк с позициями длобавляем свою обработку. Например для ЗаказаПокупателя в МодулеМенеджера.СформироватьЗаказПокупателя(..) в цикле (Для каждого СтрокаЗапасы Из Шапка.ТаблицаЗапасы Цикл)

ОбщийМодульРасширенныйФункционал.ЗаполнитьШКДляПечати(ОбластьМакета,ПечатнаяФорма,СтрокаЗапасы);

3. В общем модуле сам код добавления такой

&НаСервере Процедура ЗаполнитьШКДляПечати (ОбластьМакета,ПечатнаяФорма,СтрокаМакетаДляУстановкиШК) Экспорт

                            
//Получаем область Рисунка и данные по нему
Для каждого стрРисунки Из ОбластьМакета.Рисунки Цикл
	Рисунок	= стрРисунки;	
КонецЦикла;

Эталон = Обработки.ПечатьЭтикетокИЦенников.ПолучитьМакет("Эталон");
КоличествоМиллиметровВПикселе = Эталон.Рисунки.Квадрат100Пикселей.Высота / 100;

//ОпределяемНоменклатуру
мНоменклатура	=	ОпределитьНоменклатуру(СтрокаМакетаДляУстановкиШК);
мХарактеристика	=	СтрокаМакетаДляУстановкиШК.Характеристика;	
Если не ЗначениеЗаполнено(мНоменклатура) Тогда
	мсооб	=	новый СообщениеПользователю;
	мсооб.Текст	=	"Не удалось определить одну из номенклатур для получения Штрих-кода";
	мсооб.Сообщить();
	Возврат;
КонецЕсли;

//ПолучаемЗначениеШК
ЗначениеШтрихкода = "";
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|	ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод
|ИЗ
|	РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
|ГДЕ
|	ШтрихкодыНоменклатуры.Номенклатура = &Номенклатура
|	И ШтрихкодыНоменклатуры.Характеристика = &Характеристика";

Запрос.УстановитьПараметр("Номенклатура",мНоменклатура);
Запрос.УстановитьПараметр("Характеристика",мХарактеристика);	
РезультатЗапроса = Запрос.Выполнить();	
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();	
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	ЗначениеШтрихкода	=ВыборкаДетальныеЗаписи.Штрихкод;	
КонецЦикла;

//Заполняем ШК
Если ЗначениеЗаполнено(ЗначениеШтрихкода) Тогда
	
	ПараметрыШтрихкода = Новый Структура;
	ПараметрыШтрихкода.Вставить("Ширина",	Окр(Рисунок.Ширина / КоличествоМиллиметровВПикселе));
	ПараметрыШтрихкода.Вставить("Высота",	Окр(Рисунок.Высота / КоличествоМиллиметровВПикселе));
	
	//Если ОписаниеШаблона.ТипКода = 16 Тогда
		//МинСторона = Мин(ПараметрыШтрихкода.Ширина, ПараметрыШтрихкода.Высота);
		//ПараметрыШтрихкода.Ширина = МинСторона;
		//ПараметрыШтрихкода.Высота = МинСторона;
	//КонецЕсли;
	
	ПараметрыШтрихкода.Вставить("УровеньКоррекцииQR", 0);
	ПараметрыШтрихкода.Вставить("Штрихкод",				ЗначениеШтрихкода);
	ПараметрыШтрихкода.Вставить("ТипКода",				1);
	ПараметрыШтрихкода.Вставить("ОтображатьТекст",		Ложь);
	ПараметрыШтрихкода.Вставить("РазмерШрифта",			14);
	ПараметрыШтрихкода.Вставить("УголПоворота", 		0);
	ПараметрыШтрихкода.Вставить("ПрозрачныйФон", 		истина);
	ПараметрыШтрихкода.Вставить("ПрозрачныйФон", 		истина);
	
	Рисунок.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
	
КонецЕсли;

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

  • /sites/data/attic/ustanovka_shtrix-koda_na_pechatnuju_formu.1611854588.txt.gz
  • Последнее изменение: 2021/01/28 17:23
  • tro