Имя: Пароль:
1C
1С v8
1с 8.2. Как программно установить вариант отчета
0 sprinter83
 
06.09.11
09:35
1с 8.2 управляемое приложение. Как программно установить вариант отчета
1 Поручик
 
06.09.11
09:38
2 GenV
 
06.09.11
09:41
(0) Если в форме, то УстановитьТекущийВариант(КлючВарианта) - вызовется ПриЗагрузкеВариантаНаСервере
3 sprinter83
 
06.09.11
09:48
В отчете есть два варианта
ПлановыеПериод и ТекущийПериод
Если вариант отчете текущий период, тогда всё должно быть отработано методом СкомпоноватьРезультат
Если же вариант ПлановыйПериод, тогда нужно выводить отчет программно.
делаю так
&НаКлиенте
Процедура СформироватьОтчет(Команда)
   
   Если ЭтаФорма.КлючТекущегоВарианта = "ТекущийПериод" Тогда
       СкомпоноватьРезультат();
   Иначе    
       ОбновитьОтчетНаСервере();
   КонецЕсли;
   
КонецПроцедуры

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

Так вот при выводе отчета программно всё время выходит "ТекущийПериод" а нужно "Плановый"
4 sprinter83
 
06.09.11
09:50
Как в процедуре ОбновитьОтчетНаСервере() установить что формироваться должен именно ПлановыйПериод
5 GenV
 
06.09.11
09:51
(3) Ну, так ты настройки берешь из схемы - первого варианта, а не из компоновщика - текущего варианта ...
ЗЫ Написано в (1)
6 sprinter83
 
06.09.11
09:56
Спасибо
AdBlock убивает бесплатный контент. 1Сергей