| Регистрация Правила Главная форума Поиск | 
|     0
            - 27.01.2025 - 13:55
           |      
                    Добрый день Использую ФормуОтчета Нужно предустановить в СКД отбор (фича в том, что это список значений, и в макете я это сделать не могу). Ну и естественно отбор должен отображаться в настройках формы отчета Делаю это в ПередЗагрузкойВариантаНаСервере : &НаСервере Процедура ПередЗагрузкойВариантаНаСервере(Форма, НовыеНастройкиКД) Экспорт КомпоновщикНастроекФормы = Форма.Отчет.КомпоновщикНастроек; СпВидовОпераций = Новый СписокЗначений; СпВидовОпераций.Добавить(Перечисления.ВидыОпераций РасходнаяНакладная.ПродажаПокупателю); СпВидовОпераций.Добавить(Перечисления.ВидыОпераций РасходнаяНакладная.ПередачаНаКомиссию); УстановитьЗначениеОтбора(КомпоновщикНастроекФормы. Настройки, "ВидОперации", СпВидовОпераций, ВидСравненияКомпоновкиДанных.ВСписке, ИСТИНА); НовыеНастройкиКД = КомпоновщикНастроекФормы.Настройки; КонецПроцедуры Процедура УстановитьЗначениеОтбора(Настройки, НазваниеОтбора, ЗначениеОтбора, ВидСравнения, Использование = ИСТИНА) Экспорт Для Каждого Элемент ИЗ Настройки.Отбор.Элементы Цикл Если Строка(Элемент.ЛевоеЗначение) = НазваниеОтбора Тогда Элемент.ВидСравнения = ВидСравнения; Элемент.ПравоеЗначение = ЗначениеОтбора ; Элемент.Использование = Использование; КонецЕсли; КонецЦикла; КонецПроцедуры Вроде вроде по процедурам все отрабатывает : 1. Процедура вызывается 2. Отбор устанавливается в КомпоновщикНастроекФормы.Настройки но в настройках ФормыОтчета отбор не появляется и при построении отчета не срабатывает Пробовал также ПриЗагрузкеПользовательскихНастроекНаСервере НЕ работает ни так : УстановитьЗначениеОтбора(КомпоновщикНастроек.Настр ойки, "ВидОперации", СпВидовОпераций, ВидСравненияКомпоновкиДанных.ВСписке, ИСТИНА); НовыеПользовательскиеНастройкиКД = КомпоновщикНастроек.Настройки; ни так : УстановитьЗначениеОтбора(Форма.Отчет.КомпоновщикНа строек.Настройки, "ВидОперации", СпВидовОпераций, ВидСравненияКомпоновкиДанных.ВСписке, ИСТИНА); НовыеПользовательскиеНастройкиКД = Форма.Отчет.КомпоновщикНастроек.Настройки;  |    |  
|     1
            - 27.01.2025 - 18:59
           |  Почему? Список значений из перечисления легко устанавливается в схеме. |   |  
|     2
            - 28.01.2025 - 12:32
           |     
			
			
                Из перечисления - да Но мне всё равно нужно реализовать именно задачу из сабжа. Так как есть ситуации что отбор нужно заполнять программно Например мне нужно заполнить предустановленный список контрагентов на основании запроса.  |    |  
|     3
            - 31.01.2025 - 11:17
           |     
			
			
                Если кратенько то нужно непосредственно заряжать отбор параметра процедуры НовыеНастройкиКД И никаких прочих хитростей нет.... Для Каждого Отбор Из НовыеНастройкиКД.Отбор.Элементы Цикл Если Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Контрагент") Тогда Отбор.ПравоеЗначение = СпКонтрагентов; Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных. БыстрыйДоступ; Отбор.Использование = ЛОЖЬ; //значения отбора предустановлены, но см отбор выключен ИначеЕсли Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВидОперации") Тогда Отбор.ПравоеЗначение = СпВидовОпераций; Отбор.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных. БыстрыйДоступ; КонецЕсли; Если Пользователи.ЭтоПолноправныйПользователь() Тогда Отбор.ИдентификаторПользовательскойНастройки = Новый УникальныйИдентификатор; КонецЕсли; КонецЦикла;  |    |  
 Интернет-форум Краснодарского края и Краснодара |