|
Проблема с выгрузкой отчета в ТабДок (отчет на СКД, 1С 8.2) | ☑ | ||
---|---|---|---|---|
0
ils108
26.08.16
✎
09:49
|
Формирую отчет.
СхемаКомпоновкиДанных = Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); КомпоновщикНастроек = Отчет.КомпоновщикНастроек; пВарианты = СхемаКомпоновкиДанных.ВариантыНастроек; Для Каждого пЭл ИЗ пВарианты Цикл СтруктураВариантов.Вставить(пЭл.Имя,пЭл.Настройки); КонецЦикла; пНастройки = СтруктураВариантов.ИтогиСОценкой; //Из схемы возьмем настройки по умолчанию //установим период, скомпонуем отчет по основному варианту отчету СхемаКомпоновкиДанных.Параметры.КонецПериода.Значение = КонецДня(Дата("20150505")); СхемаКомпоновкиДанных.Параметры.НачалоПериода.Значение = НачалоДня(Дата("20150505") - 6 * 86400); ТабДок = СкомпоноватьМакетВТабДок(СхемаКомпоновкиДанных, пНастройки); потом компоную его в ТабДок Таб = Новый ТабличныйДокумент; //Помещаем в переменную данные о расшифровке данных Расшифровка = Новый ДанныеРасшифровкиКомпоновкиДанных; //Формируем макет, с помощью компоновщика макета КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; //Передаем в макет компоновки схему, настройки и данные расшифровки МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, Расшифровка); ВнешниеПараметры = Новый Структура; //Выполним компоновку с помощью процессора компоновки ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеПараметры, Расшифровка); //Выводим результат в табличный документ ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Таб); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина); Возврат Таб; и тут случается затык. Нормально компонуется только если я в параметрах ставлю "ограничение доступности" в противном случае ругается, что не заполнен параметр "начало периода". Подскажите как можно разрешить ситуацию? ограничение доступности ставить не вариант, хотелось бы отчет не только программно использовать. Заранее спасибо |
|||
1
SpellKeeper
26.08.16
✎
09:54
|
во-первых, ты привел какие-то куски кода. Что откуда не ясно.
Во-вторых. В каком месте ругается? Ты проверь, а что стоит в этом параметре на момент выполнения сбойной строки. Может у тебя где-то вызывается какая-то процедура, которая обнуляет значение параметра. |
|||
2
ils108
26.08.16
✎
10:16
|
(1) я привел как раз этот кусок, конкретно ругается здесь
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных, Истина); |
|||
3
SpellKeeper
26.08.16
✎
10:22
|
Да ругается то она здесь. Только не понятно, а что до этого было.
Короче, в отладчике проверь значение параметра. Если слетело, то ищи где оно слетело. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |