|
Програмно менять СКД при смене значения переключателя | ☑ | ||
|---|---|---|---|---|
|
0
ac13
12.05.21
✎
10:02
|
На форме отчета есть переключатель ВариантОтчета = 1 и 2
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); АдресСхемы1 = ПоместитьВоВременноеХранилище(ОтчетОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"), Новый УникальныйИдентификатор()); АдресСхемы2 = ПоместитьВоВременноеХранилище(ОтчетОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных1"), Новый УникальныйИдентификатор()); КонецПроцедуры Процедура ВариантОтчетаПриИзмененииНаСервере() ОтчетОбъект = РеквизитФормыВЗначение("Отчет"); Если ВариантОтчета = 1 Тогда СхемаКомпоновкиДанных = ОтчетОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы1)); ИначеЕсли ВариантОтчета = 2 Тогда СхемаКомпоновкиДанных = ОтчетОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных1"); ОтчетОбъект.СхемаКомпоновкиДанных = СхемаКомпоновкиДанных; КонецЕсли; Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); Отчет.КомпоновщикНастроек.Восстановить(); КонецПроцедуры не работает, мне нужно менять схему компоновки данных при изменении значения переключателя |
|||
|
1
ac13
12.05.21
✎
10:04
|
схема компоновки данных не устанавливается, ее можно установить только при компоновке результата?
дело в том, что мне сначала нужно выбрать вариант, настроить его, а потом сформировать отчет |
|||
|
2
Курцвейл
12.05.21
✎
10:06
|
Правильнее отдельный отчет делать. Либо писать схему, которая имеет необходимые данные для обеих вариантов.
|
|||
|
3
Курцвейл
12.05.21
✎
10:09
|
Если все таки есть сильная необходимость, можно покопаться в БСП, универсальный отчет. Посмотреть как там настраивается макет СКД.
|
|||
|
4
Pro-tone
12.05.21
✎
10:10
|
Если ВариантОтчета = 1 Тогда
СхемаКомпоновкиДанных = ОтчетОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Отчет.КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы1)); ИначеЕсли ВариантОтчета = 2 Тогда СхемаКомпоновкиДанных = ОтчетОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных1"); ОтчетОбъект.СхемаКомпоновкиДанных = СхемаКомпоновкиДанных; КонецЕсли; строки 3 и 6 явно различаются... |
| Форум | Правила | Описание | Секции | Поиск |