Как программно создать настройки в СКД
☑
0
ifoxy
20.09.11
✎
14:57
Здравствуйте! у меня есть отчет на СКД. Могу ли я как-то программно заполнять настойки отчета, например устанавливать отборы? Мне нежно, чтобы насторйки были индивидуальны для каждого пользователя.
1
Смешной 1С
20.09.11
✎
15:00
Вот пример, Думаю поймете:
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
ПараметрДанных= Настройки.ПараметрыДанных.Элементы.Добавить();
ПараметрДанных.Параметр = Новый ПараметрКомпоновкиДанных("Заказ");
ПараметрДанных.Значение = СсылкаНаОбъект.Ссылка;
ПараметрДанных.Использование = Истина;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ,ДанныеРасшифровки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ЭлементыФормы.ТабличноеПолеРезультат);
2
ifoxy
21.09.11
✎
11:46
Я сделела вот так
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
ПараметрДанных = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ПараметрДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("БракСумма");
ПараметрДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ПараметрДанных.ПравоеЗначение = 0;
ПараметрДанных.Использование = Истина;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
смотрю отладчиком, в отбор все записывается нормально, но на практике не работает, и в настройках отчета поле отбор пусто.
3
ifoxy
21.09.11
✎
12:05
а надо было так:
ПараметрДанных = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ПараметрДанных.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("БракСумма");
ПараметрДанных.Использование = Истина;
ПараметрДанных.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ПараметрДанных.ПравоеЗначение = 0;
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.