Вывод макета на новый лист

1. user1619761 14.10.21 09:45 Сейчас в теме
Здравствуйте. Подскажите, как сделать вывод макета для каждого документа из выборки на новый лист. Пробовал ПроверитьВывод(МассивОбластей) , но не вышло.

Документ.НачатьАвтогруппировкуСтрок();
    
        ОбластьДок = Макет.ПолучитьОбласть("СтрокаДокумент");
    ОбластьСтрока =  Макет.ПолучитьОбласть("Строка");
        ОбластьПодСтрокой = Макет.ПолучитьОбласть("ПодСтрокой");
    
    Пока Выборка.Следующий() Цикл

        ОбластьДок .Параметры.Заполнить(Выборка);
        Документ.Вывести(ОбластьДок);///////////////////////// Сюда попадает документ, и надо выводить макет на новый лист, когда документ другой
        
        Для Каждого Строка Из Выборка.ДокСсылка.ТоварыЦикл
        
        ОбластьСтрока .Параметры.Номенклатура= Строка.Наименование;
        ОбластьСтрока .Параметры.Колво= Строка.Количество;
        
        Документ.Вывести(ОбластьСтрока ,1);
        
        КонецЦикла;
        
        Для Каждого Стр из   ВыборкаДетальныеЗаписи.Спецификация.ПриходМатериалов Цикл
            
            ОбластьПодСтрокой .Параметры.Материал = Стр.Наименование;    
            ОбластьПодСтрокой .Параметры.Сумма= Стр.Количество * Выборка.Цена;    
            Документ.Вывести(ОбластьПодСтрокой ,2);
        КонецЦикла;
Показать
По теме из базы знаний
Найденные решения
13. user1619761 14.10.21 12:40 Сейчас в теме
Всем спасибо, разобрался. Решение вот :

&НаКлиенте
Процедура Сформировать(Команда)
	
	МассивДокументов = ПолучитьМассивДокументов();
		
	Для Каждого Объект Из МассивДокументов Цикл
		
	Документ = СформироватьНаСервере(Объект);
	Документ .Показать("Отчет");
	
	КонецЦикла;
	
КонецПроцедуры
Показать
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. PlatonStepan 38 14.10.21 09:56 Сейчас в теме
В свойствах строки макета должен быть отмечен флаг "НачалоСтраницы", либо "КонецСтраницы"
4. user1619761 14.10.21 10:12 Сейчас в теме
(2) Спасибо. Попробовал, не помогло.
7. user1619761 14.10.21 10:41 Сейчас в теме
Возможно я некорректно сформулировал задачу. Мне нужно чтоб каждый документ выводился на отдельную вкладку.
3. Romeo_1c_programmer 29 14.10.21 09:56 Сейчас в теме
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();

ВывестиГоризонтальныйРазделительСтраниц (PutHorizontalPageBreak)
Синтаксис:
ВывестиГоризонтальныйРазделительСтраниц()
Описание:
Вставляет в результирующую таблицу горизонтальный разделитель страниц.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
5. user1619761 14.10.21 10:14 Сейчас в теме
(3) Спасибо. Я это уже пробовал. Не разделяет. Делал вот так

Документ.НачатьАвтогруппировкуСтрок();

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

Пока Выборка.Следующий() Цикл

МассивДокументов.Добавить(Выборка.Документ);

Для Каждого Объект Из МассивДокументов Цикл

ОбластьДок .Параметры.Заполнить(Выборка);
Документ.Вывести(ОбластьДок);///////////////////////// Сюда попадает документ, и надо выводить макет на новый лист, когда документ другой

Для Каждого Строка Из Выборка.ДокСсылка.ТоварыЦикл

ОбластьСтрока .Параметры.Номенклатура= Строка.Наименование;
ОбластьСтрока .Параметры.Колво= Строка.Количество;

Документ.Вывести(ОбластьСтрока ,1);

КонецЦикла;

Для Каждого Стр из ВыборкаДетальныеЗаписи.Спецификация.ПриходМатериалов Цикл

ОбластьПодСтрокой .Параметры.Материал = Стр.Наименование;
ОбластьПодСтрокой .Параметры.Сумма= Стр.Количество * Выборка.Цена;
Документ.Вывести(ОбластьПодСтрокой ,2);
КонецЦикла;

ТабДок.ВывестиГоризонтальныйРазделительСтраниц();

КонецЦикла;
Показать
6. soft_wind 14.10.21 10:32 Сейчас в теме
да вот же проще все
ОбластьДок = Макет.ПолучитьОбласть("СтрокаДокумент");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьПодСтрокой = Макет.ПолучитьОбласть("ПодСтрокой");

ЭтоПервыйДокумент = Истина;

Пока Выборка.Следующий() Цикл

Если ЭтоПервыйДокумент  Тогда
    ЭтоПервыйДокумент  = Ложь;
Иначе
    //уже не первый, выводим разделитель
    Документ.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;

ОбластьДок .Параметры.Заполнить(Выборка);
Документ.Вывести(ОбластьДок);///////////////////////// Сюда попадает документ, и надо выводить макет на новый лист, когда документ другой

Для Каждого Строка Из Выборка.ДокСсылка.ТоварыЦикл

ОбластьСтрока .Параметры.Номенклатура= Строка.Наименование;
ОбластьСтрока .Параметры.Колво= Строка.Количество;

Документ.Вывести(ОбластьСтрока ,1);

КонецЦикла;

Для Каждого Стр из ВыборкаДетальныеЗаписи.Спецификация.ПриходМатериалов Цикл

ОбластьПодСтрокой .Параметры.Материал = Стр.Наименование;
ОбластьПодСтрокой .Параметры.Сумма= Стр.Количество * Выборка.Цена;
Документ.Вывести(ОбластьПодСтрокой ,2);
КонецЦикла;
Показать
8. user1619761 14.10.21 10:47 Сейчас в теме
(6) Спасибо. Так я тоже пробовал. Видимо я неправильно задачу сформулировал. Мне нужно чтоб каждый документ открывался в новой вкладке, как это можно реализовать?
9. soft_wind 14.10.21 11:21 Сейчас в теме
в новой вкладке,


в новой вкладке - чего?
а зачем?
проще, сделайте вывод в новом окне (правда если 1000 доков выведете будет весело)
user1619761; +1 Ответить
11. user1619761 14.10.21 12:34 Сейчас в теме
(9) Не знаю, зачем, но мне такую задачу поставили)) Спасибо,разобрался)
10. PlatonStepan 38 14.10.21 11:31 Сейчас в теме
Хм...сделайте генерацию отчета в форме, прикреплённой к форме списка документов.
Чтобы при выборе строки отражался в ней новый табдок. не думаю, что он будет ресурсоёмкий, к тому же можно кэшировать
user1619761; +1 Ответить
12. user1619761 14.10.21 12:34 Сейчас в теме
(10) Спасибо. Я разобрался.)
13. user1619761 14.10.21 12:40 Сейчас в теме
Всем спасибо, разобрался. Решение вот :

&НаКлиенте
Процедура Сформировать(Команда)
	
	МассивДокументов = ПолучитьМассивДокументов();
		
	Для Каждого Объект Из МассивДокументов Цикл
		
	Документ = СформироватьНаСервере(Объект);
	Документ .Показать("Отчет");
	
	КонецЦикла;
	
КонецПроцедуры
Показать
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день