Создание отчета скд из документа
☑
0
IT_PROGRAMMIST
19.10.11
✎
16:19
Привет всем)УПП 1.3.11.5, пл.8.2.13.219.Ребят, подскажите в решении такой ситуации:нужно из документа сформировать отчет(скд.Он уже есть в системе) с определённым отбором(текст ниже).Вроде все верно, но отчет формируется пустым, хотя если нажать на саму кнопку Сформировать в отчете, то все формируется.Подскажите где ошибаюсь,мозги не варят уже(
&НаКлиенте
Процедура СформироватьОтчет(Команда)
СписокФизЛиц=новый СписокЗначений;
Для каждого Элемент из Объект.Работники цикл
СписокФизЛиц.Добавить(Элемент.ФизЛицо);
КонецЦикла;
Отчет=Отчеты.ПосменноеОтработанноеВремя.Создать();
Форма=Отчет.ПолучитьФорму();
СхемаКомпоновкиДанных = отчет.ПолучитьМакет("Макет");
Настройки=СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
ЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ФизическоеЛицо");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.ПравоеЗначение = СписокФизЛиц;
Форма.Открыть();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , , Истина);
ДокументРезультат=Форма.ЭлементыФормы.Результат;
// Создадим и инициализируем процессор вывода результата
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
Отчет.ДатаНач=НачалоДня(Объект.ДатаРаботы);
Отчет.ДатаКон=КонецДня(Объект.ДатаРаботы);
ПроцессорВывода.НачатьВывод();
// Основной цикл вывода отчета
Пока Истина Цикл
// Получим следующий элемент результата компоновки
ЭлементРезультата = ПроцессорКомпоновки.Следующий();
Если ЭлементРезультата = Неопределено Тогда
// Следующий элемент не получен - заканчиваем цикл вывода
Прервать;
Иначе
// Элемент получен - выведем его при помощи процессора вывода
ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
КонецЕсли;
КонецЦикла;
ПроцессорВывода.ЗакончитьВывод();
КонецПроцедуры
1
IT_PROGRAMMIST
19.10.11
✎
17:15
капец. Ошибка простейшая. Тема закрыта
2
Жан Пердежон
19.10.11
✎
17:16
заходи ещё
3
IT_PROGRAMMIST
19.10.11
✎
17:23
хорошо.Спасибо))))
Основная теорема систематики: Новые системы плодят новые проблемы.