![]() |
|
Выгрузка результата СКД в ТЗ | ☑ | ||
---|---|---|---|---|
0
ildary
06.05.17
✎
12:38
|
Уважаемые специалисты, подскажите пожалуйста, почему в одном случае код работает как надо, во втором нет? Я программно открываю отчет на СКД и при компоновке выгружаю результат в ТЗ. Если при открытии сделать отбор вот так:
Параметр = ЭтаФорма.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра( Новый ПараметрКомпоновкиДанных( "Номенклатура" ) ); Параметр.Значение.ЗагрузитьЗначения( ОбъектыНазначения.ВыгрузитьЗначения() ); Параметр.Использование = Истина; то в ТЗ выгружаются данные с отбором, а если сделать так (код упрощен): КомпоновщикНастроекКомпоновкиДанных = Отчет.КомпоновщикНастроек; ПользовательскиеНастройки = КомпоновщикНастроекКомпоновкиДанных.ПользовательскиеНастройки; ОтборОтч = ПользовательскиеНастройки.Элементы.Найти( ИдОтбора ); ОтборОтч.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; ОтборОтч.ПравоеЗначение = ОбъектыНазначения; ОтборОтч.Использование = Истина; то в ТЗ попадают все данные, без наложения отбора. Что надо сделать, чтобы второй вариант работал с отбором? Мне он предпочтительнее, потому что хочется, чтобы пользователь мог менять отбор после открытия. |
|||
1
ildary
07.05.17
✎
20:24
|
Апну тему разок.
|
|||
2
Zhuravlik
07.05.17
✎
23:22
|
ПользовательскиеНастройки = КомпоновщикНастроекКомпоновкиДанных.ПолучитьНастройки();
//.... КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(ПользовательскиеНастройки) |
|||
3
EvgeniuXP
08.05.17
✎
00:44
|
(0) потому что во всей этой каше там надо очень хорошо разбираться, что делаешь.
|
|||
4
ildary
10.05.17
✎
08:31
|
(2) к сожалению эта строка не будет работать - у ПользовательскиеНастройки другой тип.
Я попробовал КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьПользовательскиеНастройки(ПользовательскиеНастройки); - результат тот же - отбор не наложился. (3) Согласен, но времени освоить учебник по СКД не хватает. Будьте любезны, подскажите неучу, как правильно программно установить отбор? |
|||
5
ildary
10.05.17
✎
08:38
|
В итоге заработало вот так:
КомпоновщикНастроекКомпоновкиДанных = Отчет.КомпоновщикНастроек; НовыеНастройки = КомпоновщикНастроекКомпоновкиДанных.ПолучитьНастройки(); ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора( НовыеНастройки.Отбор, "Номенклатура", ОбъектыНазначения, ВидСравненияКомпоновкиДанных.ВСписке, , Истина); КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(НовыеНастройки); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |