Имя: Пароль:
1C
 
Какой из параметров СКД надо устанавливать
0 supervk
 
28.10.14
07:09
Программно формирую отчёт с использованием СКД, устанавливаю параметр

Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ДатаНачалаПрогн

Тот параметр, который я устанавливаю этим кодом - устанавливается (в отладке смотрю), но, видимо, это какой-то не тот, т.к. формируется, словно он не заполнен и в шапке отчёта выводится незаполненное значение параметра. Как задать параметр СКД, чтобы он сформировался с его учётом.

Полный код функции:

Функция Сформировать(ПараметрыОтчета) Экспорт
    ТабДок = Новый ТабличныйДокумент;
    
    //Получаем схему из макета
    СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

    //Из схемы возьмем настройки по умолчанию
    Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    //Настройки = ПараметрыОтчета.Настройки;

    //Помещаем в переменную данные о расшифровке данных
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

    //Формируем макет, с помощью компоновщика макета
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

    //Передаем в макет компоновки схему, настройки и данные расшифровки
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
        
    Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ДатаНачалаПрогноза", ТекущаяДата());
    СхемаКомпоновкиДанных.Параметры.ДатаНачалаПрогноза.Значение = ТекущаяДата();
    
    //Выполним компоновку с помощью процессора компоновки
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);

    //Выводим результат в табличный документ
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТабДок);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);       
    
    Возврат ТабДок;
    
КонецФункции
1 supervk
 
28.10.14
07:17
Вкратце:

Пытаюсь установить параметры компоновки данных так:

СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ДатаНачалаПрогноза", ТекущаяДата());
СхемаКомпоновкиДанных.Параметры.ДатаНачалаПрогноза.Значение = ТекущаяДата();

Но на формирование отчёта они не влияют, словно параметр не задан.
2 vicof
 
28.10.14
07:21
Вагную на автозаполнение и параметры СКД
3 supervk
 
28.10.14
07:32
(2) - vicof, не понял, поясни, пожалуйста.
4 vicof
 
28.10.14
07:42
Галка "автозаполнение" стоит. Текст запроса указан без Скдшных вставок. И вообще, я текста запроса не вижу.
5 supervk
 
28.10.14
08:08
Убрал галку Автозаполнение - не помогло.

Запрос вот:

ВЫБРАТЬ
    ТехническоеЗадание.Ссылка КАК Ссылка
{ВЫБРАТЬ
    Ссылка.*}
ИЗ
    Документ.ТехническоеЗадание КАК ТехническоеЗадание
ГДЕ
    ТехническоеЗадание.Дата > &ДатаНачалаПрогноза
6 supervk
 
28.10.14
08:12
Перенес процедуру в модуль объекта, попробовал через
    КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("ДатаНачалаПрогноза", ДатаНачалаПрогноза);

Тоже не помогло - формируется, словно ДатаНачалаПрогноза - не задан.
7 Enterprise
 
28.10.14
08:14
(0) Посмотри как в типовых устанавливается параметр
8 supervk
 
28.10.14
08:16
Разобрался, всем спасибо.
Я сперва делал

МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);

А потом устанавливал параметр в настройках.