Имя: Пароль:
1C
1С v8
этикетки в УНФ 3.0
☑
0 welsar
 
29.09.26
✎
11:17
Здравствуйте!
Конфигурация: УНФ 3.0.14.143

В конфигураторе добавил макет этикетки в справочник "Хранилище шаблонов".
В режиме предприятия создаю новую этикетку выбираю добавленный шаблон для заполнения макета и сохраняю.

https://screengu.ru/4e91f/31247/66ec9.webp

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

В конфигураторе прописываю процедуру вывода этикетки на печать:

КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("ЭТИКЕТКИ_НА_ПРОДУКЦИЮ");
ПечатнаяФорма = КоллекцияПечатныхФорм[0];
ПечатнаяФорма.ИмяМакета         = "ШаблонЭтикетки_50х60_ИС";
ПечатнаяФорма.ТабличныйДокумент = ТабДок;
ПечатнаяФорма.Экземпляров       = 1;
ПечатнаяФорма.СинонимМакета     = "Этикетки на продукцию";

ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("ИменаПечатныхФорм",    "ЭТИКЕТКИ_НА_ПРОДУКЦИЮ");
ПараметрыОткрытия.Вставить("КоллекцияПечатныхФорм", КоллекцияПечатныхФорм);
        
ПараметрыОткрытия.Вставить("ОбъектыПечати",        Новый СписокЗначений);
ПараметрыОткрытия.Вставить("ПараметрыПечати",      Новый Структура);
ПараметрыОткрытия.Вставить("ПараметрКоманды",      Новый Массив);
        
ОписаниеКоманды = Новый Структура;
ОписаниеКоманды.Вставить("Имя", "ЭТИКЕТКИ_НА_ПРОДУКЦИЮ");
ПараметрыОткрытия.Вставить("ОписаниеКоманды",      ОписаниеКоманды);
        
ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ЭтаФорма);


Получает вроде бы нормально
https://screengu.ru/4e91f/b7dc1/a577b.webp

Нажимаю на предварительный просмотр и вижу темно-серые поля.
https://screengu.ru/4e91f/ea494/272be.webp

Подскажите, пожалуйста, как типовой механизм выводит на печать этикетки, чтобы не было серых полей?
1 paramedic
 
29.09.26
✎
11:22
А зачем вы макет используете как обычный табличный документ?
Вы должны сделать обычный табличный документ и заполнить его по макету.
2 welsar
 
29.09.26
✎
12:07
(1)

В функции формирования этикетки я создаю табличный документ, получают макет, заполняю параметры и вывожу в табличный документ
ТабДок = Новый ТабличныйДокумент;

ОбъектШаблона = Шаблон.ПолучитьОбъект();    
ХранилищеМакета = ОбъектШаблона.Шаблон;
ДанныеМакета = ХранилищеМакета.Получить();
        
Макет = ДанныеМакета.МакетЭтикетки;  
ПараметрыМакета = ДанныеМакета.ПараметрыШаблона;  

//заполнение параметров макета
..................................
..................................

ТабДок.Вывести(Макет);        

Потом Табличный документ вывожу на экран с помощью процедуры описанной выше
3 welsar
 
29.09.26
✎
12:08
Я не понимаю как стандартный функционал УНФ определяет область печати.
4 welsar
 
29.09.26
✎
12:14
Кнопка Установить область печати не помогает.
https://screengu.ru/4e91f/735ca/90bb9.webp
5 paramedic
 
29.09.26
✎
14:42
Зачем в табличный документ выводите макет?
Даже в стандартной обработке в ТД выводится область, которая получается из макета, а не сам макет.
В макете есть указание на то, что это - Макет.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс