Работа с макетом. Вывод информации в области.

1. Vhett 13.02.20 11:00 Сейчас в теме
Товарищи. Долго искал информацию, как разбить вывод отчёта по областям макета. До этого с макетами не приходилось работать. Может у вас имеются идеи?

Сделал макет, как на фото ниже. При формировании отчёта, печатается только Область_1 и друг под дружкой. А мне нужно на листе А4 в альбомном формате уместить 12 областей по порядку.
Прикрепленные файлы:
Найденные решения
2. burgomister 60 13.02.20 11:07 Сейчас в теме
Процедура Печать(ТабДок) Экспорт

//создание нового табличного документа
ТабДок = Новый ТабличныйДокумент;

//получение макета для печати расходной накладной
Макет = Документы.РасходнаяНакладная.ПолучитьМакет("Основной");

//получим область "Заголовок" как новый табличный документ (!)
Область = Макет.ПолучитьОбласть("Заголовок");

//укажем параметры области
Область.Параметры.НомерДокумента = Номер;
Область.Параметры.От = Дата;
Область.Параметры.Кому = Контрагент;

//выведем заполненную область "Заголовок" в табличный документ
ТабДок.Вывести(Область);

//выведем область "Шапка" в табличный документ
ТабДок.Вывести(Макет.ПолучитьОбласть("Шапка"));

//получение области "Строка"
//обратите внимание, что это можно сделать до цикла по строкам
Область = Макет.ПолучитьОбласть("Строка");

//вывод строк документа в печатную форму
Для Каждого СтрСостава Из Состав Цикл

//заполнение параметров области из строки табличной части
Область.Параметры.Заполнить(СтрСостава);

//вывод сформированной области в табличный документ
ТабДок.Вывести(Область);

КонецЦикла;

//вывод области "Подвал"
Область = Макет.ПолучитьОбласть("Подвал");
Область.Параметры.ИтогоКоличество = Состав.Итог("Количество");
Область.Параметры.ИтогоСумма = Состав.Итог("Сумма");
ТабДок.Вывести(Область);

//установим параметры отображения табличного документа
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Истина;
ТабДок.ОтображатьСетку = Ложь;

//покажем табличный документ на экране
ТабДок.Показать();

КонецПроцедуры
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. independ 1556 14.02.20 20:43 Сейчас в теме
(1)
ОтчетОбъект = РеквизитФормыВЗначение("Объект");
	Макет = ОтчетОбъект.ПолучитьМакет("Промокод");
	Область = Макет.ПолучитьОбласть("Строка|Столбец");
	
	Столбик=0;
	КолвоПоГоризонтали=4;
	
	Для сч=НачНомер по КонНомер Цикл
		
		Номер=Префикс+Прав("000000"+Формат(Сч,"ЧГ="),6);
		Область.Параметры.Номер =Номер;
		
		Рисунок = Область.Рисунки.Штрихкод;
		
		ПараметрыШтрихкода = Новый Структура;
		ПараметрыШтрихкода.Вставить("Ширина",          Окр(Рисунок.Ширина / КоличествоМиллиметровВПикселе*1.1));
		ПараметрыШтрихкода.Вставить("Высота",          Окр(Рисунок.Высота / КоличествоМиллиметровВПикселе*1.1));
		ПараметрыШтрихкода.Вставить("Штрихкод",        СокрЛП(Номер));
		ПараметрыШтрихкода.Вставить("ТипКода",         2);
		ПараметрыШтрихкода.Вставить("ОтображатьТекст", Ложь);
		
		Рисунок.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
		Столбик	= ?(Столбик > КолвоПоГоризонтали-1,1,Столбик+1);	
		Если Столбик=1 Тогда
			ТабличныйДокумент.Вывести(Область);
		Иначе
			ТабличныйДокумент.Присоединить(Область);
		КонецЕсли;
		
	КонецЦикла;	
	
	Возврат ТабличныйДокумент;

	
КонецФункции
Показать
Прикрепленные файлы:
2. burgomister 60 13.02.20 11:07 Сейчас в теме
Процедура Печать(ТабДок) Экспорт

//создание нового табличного документа
ТабДок = Новый ТабличныйДокумент;

//получение макета для печати расходной накладной
Макет = Документы.РасходнаяНакладная.ПолучитьМакет("Основной");

//получим область "Заголовок" как новый табличный документ (!)
Область = Макет.ПолучитьОбласть("Заголовок");

//укажем параметры области
Область.Параметры.НомерДокумента = Номер;
Область.Параметры.От = Дата;
Область.Параметры.Кому = Контрагент;

//выведем заполненную область "Заголовок" в табличный документ
ТабДок.Вывести(Область);

//выведем область "Шапка" в табличный документ
ТабДок.Вывести(Макет.ПолучитьОбласть("Шапка"));

//получение области "Строка"
//обратите внимание, что это можно сделать до цикла по строкам
Область = Макет.ПолучитьОбласть("Строка");

//вывод строк документа в печатную форму
Для Каждого СтрСостава Из Состав Цикл

//заполнение параметров области из строки табличной части
Область.Параметры.Заполнить(СтрСостава);

//вывод сформированной области в табличный документ
ТабДок.Вывести(Область);

КонецЦикла;

//вывод области "Подвал"
Область = Макет.ПолучитьОбласть("Подвал");
Область.Параметры.ИтогоКоличество = Состав.Итог("Количество");
Область.Параметры.ИтогоСумма = Состав.Итог("Сумма");
ТабДок.Вывести(Область);

//установим параметры отображения табличного документа
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Истина;
ТабДок.ОтображатьСетку = Ложь;

//покажем табличный документ на экране
ТабДок.Показать();

КонецПроцедуры
3. Vhett 14.02.20 12:02 Сейчас в теме
(2)
Область = Макет.ПолучитьОбласть("Заголовок");

Увы, сколько разными способами пробовал, не помогает. Жалуется на "Метод объекта не обнаружен ПолучитьОбласть".
8. Nitrochaos 4 09.07.22 17:11 Сейчас в теме
(2)
Для Каждого СтрСостава Из Состав Цикл
что значит "Состав" в данной строчке?
9. burgomister 60 10.07.22 17:34 Сейчас в теме
(8) Состав - таблица значений, например. Это просто пример.
4. burgomister 60 14.02.20 12:13 Сейчас в теме
Области должны быть названы как горизонтальные, так и вертикальные
5. Vhett 14.02.20 20:20 Сейчас в теме
(4) Проблема вообще в другом оказалась. У меня в макете настройки не сохраняются. Слетают области, да и сам макет немного перекашивает :\
7. burgomister 60 15.02.20 05:42 Сейчас в теме
(5) Так я об этом и написал - названия областей должны быть.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот