![]() |
СКД: Не устанавливается отбор в ПередЗагрузкойВариантаНаСервере Добрый день Использую ФормуОтчета Нужно предустановить в СКД отбор (фича в том, что это список значений, и в макете я это сделать не могу). Ну и естественно отбор должен отображаться в настройках формы отчета Делаю это в ПередЗагрузкойВариантаНаСервере : &НаСервере Процедура ПередЗагрузкойВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт КомпоновщикНастроекФормы = Форма.Отчет.КомпоновщикНастроек; СпВидовОпераций = Новый СписокЗначений; СпВидовОпераций.Добавить(Перечисления.ВидыОперацийРасходнаяНакладная.ПродажаПокупателю); СпВидовОпераций.Добавить(Перечисления.ВидыОперацийРасходнаяНакладная.ПередачаНаКомиссию); УстановитьЗначениеОтбора(КомпоновщикНастроекФормы.Настройки, "ВидОперации", СпВидовОпераций, ВидСравненияКомпоновкиДанных.ВСписке, ИСТИНА); НовыеНастройкиКД = КомпоновщикНастроекФормы.Настройки; КонецПроцедуры Процедура УстановитьЗначениеОтбора(Настройки, НазваниеОтбора, ЗначениеОтбора, ВидСравнения, Использование = ИСТИНА) Экспорт Для Каждого Элемент ИЗ Настройки.Отбор.Элементы Цикл Если Строка(Элемент.ЛевоеЗначение) = НазваниеОтбора Тогда Элемент.ВидСравнения = ВидСравнения; Элемент.ПравоеЗначение = ЗначениеОтбора ; Элемент.Использование = Использование; КонецЕсли; КонецЦикла; КонецПроцедуры Вроде вроде по процедурам все отрабатывает : 1. Процедура вызывается 2. Отбор устанавливается в КомпоновщикНастроекФормы.Настройки но в настройках ФормыОтчета отбор не появляется и при построении отчета не срабатывает Пробовал также ПриЗагрузкеПользовательскихНастроекНаСервере НЕ работает ни так : УстановитьЗначениеОтбора(КомпоновщикНастроек.Настройки, "ВидОперации", СпВидовОпераций, ВидСравненияКомпоновкиДанных.ВСписке, ИСТИНА); НовыеПользовательскиеНастройкиКД = КомпоновщикНастроек.Настройки; ни так : УстановитьЗначениеОтбора(Форма.Отчет.КомпоновщикНастроек.Настройки, "ВидОперации", СпВидовОпераций, ВидСравненияКомпоновкиДанных.ВСписке, ИСТИНА); НовыеПользовательскиеНастройкиКД = Форма.Отчет.КомпоновщикНастроек.Настройки; |
[quote=bvb;49389747]фича в том, что это список значений, и в макете я это сделать не могу[/quote] Почему? Список значений из перечисления легко устанавливается в схеме. |
Из перечисления - да Но мне всё равно нужно реализовать именно задачу из сабжа. Так как есть ситуации что отбор нужно заполнять программно Например мне нужно заполнить предустановленный список контрагентов на основании запроса. |
Если кратенько то нужно непосредственно заряжать отбор параметра процедуры НовыеНастройкиКД И никаких прочих хитростей нет.... Для Каждого Отбор Из НовыеНастройкиКД.Отбор.Элементы Цикл Если Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент") Тогда Отбор.ПравоеЗначение = СпКонтрагентов; Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ; Отбор.Использование = ЛОЖЬ; //значения отбора предустановлены, но см отбор выключен ИначеЕсли Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВидОперации") Тогда Отбор.ПравоеЗначение = СпВидовОпераций; Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ; КонецЕсли; Если Пользователи.ЭтоПолноправныйПользователь() Тогда Отбор.ИдентификаторПользовательскойНастройки = Новый УникальныйИдентификатор; КонецЕсли; КонецЦикла; |
Текущее время: 18:44. Часовой пояс GMT +3. |