Sirius83 @ Сегодня, 11:17
,
для этого отчета делал, чтоб каждый сотрудник выходил на след листе
можете переделать как вам необходимо, ну или для себя решили как необходимо
в настройках добавил реквизит "РазбитьРасчетныеЛистыПоСтраницам" - тип("Булево") чтоб пользователь ставил галочку
Процедура ВывестиРезультатВТабличныйДокумент(ПроцессорКомпоновкиДанных, ТабличныйДокумент, ВыводитьПоСтраницам) Экспорт
////ИЗМЕНЕНО Администратор(Начало 07.08.2019
РазбитьРасчетныеЛистыПоСтраницам = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("РазбитьРасчетныеЛистыПоСтраницам").Значение;
Если РазбитьРасчетныеЛистыПоСтраницам Тогда
ЯзыкПечати = ЛокализацияПовтисп.ПолучитьЯзыкФормированияПечатныхФормОтчетов();
ОбластьСлед = ТабличныйДокумент.Область(1, , 1, );
КонецЕсли;
////Окончание)Администратор
// Создадим и инициализируем процессор вывода результата
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент);
// Обозначим начало вывода
ПроцессорВывода.НачатьВывод();
Состояние(НСТР("ru='Если Вы хотите прервать вывод отчета, нажмите Ctrl+Break'"));
// Основной цикл вывода отчета
Счетчик = 0;
Пока Истина Цикл
// Получим следующий элемент результата компоновки
ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий();
// Получим следующий элемент результата компоновки
Если ЭлементРезультата = Неопределено Тогда
// Следующий элемент не получен - заканчиваем цикл вывода
Прервать;
Иначе
// Элемент получен - выведем его при помощи процессора вывода
ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
////ИЗМЕНЕНО Администратор(Начало 07.08.2019
Если РазбитьРасчетныеЛистыПоСтраницам Тогда
ОбластьПоследнейЯчейки = ТабличныйДокумент.НайтиТекст(НСтр("ru='Долг за ';uk='Борг за '", ЯзыкПечати), ОбластьСлед);
Если ОбластьПоследнейЯчейки <> Неопределено Тогда
НомерСтрокиКонцаРЛ = ОбластьПоследнейЯчейки.Верх + 1;
ОбластьСлед = ТабличныйДокумент.Область(НомерСтрокиКонцаРЛ, , НомерСтрокиКонцаРЛ, );
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
КонецЕсли;
////Окончание)Администратор
КонецЕсли;
ОбработкаПрерыванияПользователя();
КонецЦикла;
ПроцессорВывода.ЗакончитьВывод();
////ИЗМЕНЕНО Администратор(Начало 07.08.2019
Если РазбитьРасчетныеЛистыПоСтраницам Тогда
Возврат;
КонецЕсли;
////Окончание)Администратор
Если ВыводитьПоСтраницам тогда
РазбитьТабличныйДокументПоСтраницам(ТабличныйДокумент);
КонецЕсли
КонецПроцедуры
Сообщение отредактировал fly - 10.01.20, 13:01