Имя: Пароль:
1C
1С v8
Банальный вопрос по СКД
0 Ivan093
 
30.11.12
12:57
Прошу помощи. Вывожу отчет на СКД программно. Но после изменений настроек/отборов в стандартной форме настроек вывод их игнорирует.
Что я делаю не так?
Вот вывод:

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

   ПараметрСКД = Настройки.ПараметрыДанных.Элементы.Найти("ПериодРаботоспособности");
   ПараметрСКД.Использование = Истина;
   ПараметрСКД.Значение  = ПериодРаботоспособности*60;
   
   ВнешниеНаборыДанных = Новый Структура("ТабОтчета", ТаблицаОтчета);
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
       
   ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных);
       
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.РезультатОтчета);
   ПроцессорВывода.НачатьВывод();
   Пока Истина Цикл
    ЭлементРезультата = ПроцессорКомпоновки.Следующий();
    Если ЭлементРезультата = Неопределено Тогда
     Прервать;
    Иначе
     ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
    КонецЕсли;
   КонецЦикла;
   ПроцессорВывода.ЗакончитьВывод();
1 Ivan093
 
30.11.12
13:52
никто не знает?
2 igorby
 
30.11.12
13:54
у...у...у...у программно.о.о.о.
Мы тока на кнопки жать умеем....
3 AugustBlack
 
30.11.12
14:03
(0) сбросить настройки пробовал?
4 Classic
 
30.11.12
14:05
Что тебе говорит слово "НастройкиПоУмолчанию"?
5 Kashemir
 
30.11.12
14:07
(4) +1
Если ты выводишь на базе настроек по умолчанию, то какая разница что там наменял пользователь.
6 Buster007
 
30.11.12
14:08
//Получаем схему из макета
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

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

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

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

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

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

//Очищаем поле табличного документа
Результат = ЭлементыФормы.Результат;
Результат.Очистить();

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

ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
7 Buster007
 
30.11.12
14:08
+(6) сравнивай)
8 Classic
 
30.11.12
14:10
(6)
К чему это?
ТС берет настройки по умолчанию и удивляется, почему изменения пользователя не учавствуют в выводе
9 Ivan093
 
30.11.12
16:17
(8) Не, ну я подозревал, что так и есть :)
Подопните, как ему подсунуть настройки не по умолчанию.
10 Kashemir
 
30.11.12
17:16
Если типовой движок КомпоновщикДанных.ПолучитьНастройки()
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший