|   |   | 
| 
 | ЗУП 2.5. Перехватить вывод результата в отчете "Расчетные листки" | ☑ | ||
|---|---|---|---|---|
| 0
    
        Sun125 13.09.18✎ 15:21 | 
        Конфигурация ЗУП2.5.
 Нужно в отчете "Расчетные листки" перехватить итоговый результат отчета в виде таблицы. ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("НачисленияУдержания", НачисленияУдержания); // получим макет компоновки данных КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); // создадим и инициализируем процессор компоновки данных ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки); // очистим результирующий табличный документ Результат.Очистить(); Если ВыводВФормуОтчета тогда ВыводЗаголовкаОтчета(Результат); КонецЕсли; // удалим отбор пустых строк начислений Настройки.Отбор.Элементы.Удалить(ГруппаОтбора); Если ОтборПоФизЛицу <> Неопределено тогда Настройки.Отбор.Элементы.Удалить(ОтборПоФизЛицу); КонецЕсли; // выведем отчет в табличный документ "Результат" ВывестиРезультатВТабличныйДокумент(ПроцессорКомпоновки, Результат, ВыводитьПоСтраницам); Процедура ВывестиРезультатВТабличныйДокумент(ПроцессорКомпоновкиДанных, ТабличныйДокумент, ВыводитьПоСтраницам) Экспорт // Создадим и инициализируем процессор вывода результата ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент); // Обозначим начало вывода ПроцессорВывода.НачатьВывод(); #Если НЕ Сервер И НЕ ВнешнееСоединение Тогда Состояние(НСТР("ru='Если Вы хотите прервать вывод отчета, нажмите Ctrl+Break'")); #КонецЕсли // Основной цикл вывода отчета Счетчик = 0; Пока Истина Цикл // Получим следующий элемент результата компоновки ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); // Получим следующий элемент результата компоновки Если ЭлементРезультата = Неопределено Тогда // Следующий элемент не получен - заканчиваем цикл вывода Прервать; Иначе // Элемент получен - выведем его при помощи процессора вывода ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); КонецЕсли; #Если НЕ Сервер И НЕ ВнешнееСоединение Тогда ОбработкаПрерыванияПользователя(); #КонецЕсли КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); ЗадатьИменаОбластямРазбитьТабличныйДокументПоСтраницам(ТабличныйДокумент, ВыводитьПоСтраницам); КонецПроцедуры Создаю процедуру: Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Сообщить("!!!"); КонецПроцедуры Но, похоже, в процедуру не попадает. Подскажите, пожалуйста, что не так делаю? как вытащить результат? | |||
| 1
    
        Sun125 13.09.18✎ 15:31 | 
        (0) Мне нужно получить список сотрудников, по которым сформировались расчетные листки     | |||
| 2
    
        Sun125 13.09.18✎ 15:42 | 
        хоть прям с табличного документа получать данные...
 может кто сталкивался? | |||
| 3
    
        Hans 13.09.18✎ 15:46 | 
        Не попадает может потому что в виде фонового задания исполняется. Подключи в отладку фоновые задания.     | |||
| 4
    
        piter3 13.09.18✎ 15:46 | 
        (3) а чего в 2.5 уже     | |||
| 5
    
        MUXACb 13.09.18✎ 16:55 | 
        (0) Если нужны только сотрудники, то лучше перехватить внешний источник данных "НачисленияУдержания" в процедуре "СформироватьОтчет" модуля отчета     | |||
| 6
    
        ptiz 13.09.18✎ 17:21 | 
        (1) Анализируй ЭлементРезультата.ЗначенияПараметров при выводе - там есть сотрудники     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |