|
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
|
Спасибо
|
|