|
Заполнить значение отбора в СКД через форму. | ☑ | ||
---|---|---|---|---|
0
gsdgdgds
05.04.16
✎
15:31
|
Не заполняет значение отбора. Подскажите в чем косяк. Вот Код:
УстановитьПользовательскийОтбор(Отчет, "Код", Код); //Если ТоварЭтоГруппа() Тогда //УстановитьПользовательскийОтбор(Отчет, "Номенклатура", Товар, Ложь, "ВИерархии"); //Иначе //УстановитьПользовательскийОтбор(Отчет, "Номенклатура", Товар); //КонецЕсли; Параметр = Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("флВклВзв")); Параметр = ЭтаФорма.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период")); Параметр.Значение = флВклВзв; Параметр.Использование = Истина; ВариантМодифицирован = Ложь; КонецПроцедуры &НаКлиенте Процедура УстановитьПользовательскийОтбор(Отчет, ИмяОтбора, Значение, ЭтоПараметр = Ложь, ВидСравнения = "", ИспользоватьНезаполненное = Ложь, РежимОтображения = "") Экспорт Если ЭтоПараметр Тогда УстановитьПользовательскийОтборДляПараметра(Отчет, ИмяОтбора, Значение) Иначе Если ТипЗнч(Отчет) = Тип("КомпоновщикНастроекКомпоновкиДанных") Тогда КомпоновщикНастроек = Отчет; Иначе КомпоновщикНастроек = Отчет.КомпоновщикНастроек; КонецЕсли; ПКД_отбора = Новый ПолеКомпоновкиДанных(ИмяОтбора); Для каждого ЭлОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл Если ЭлОтбора.ЛевоеЗначение = ПКД_отбора Тогда ОтборИД = ЭлОтбора.ИдентификаторПользовательскойНастройки; Прервать; КонецЕсли; КонецЦикла; Отбор = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ОтборИД); Если ТипЗнч(Отбор) <> Тип("ЭлементОтбораКомпоновкиДанных") Тогда Возврат; КонецЕсли; Если ЗначениеЗаполнено(ВидСравнения) Тогда Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных[ВидСравнения]; Иначе Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; КонецЕсли; Отбор.ПравоеЗначение = Значение; Отбор.Использование = ЗначениеЗаполнено(Значение) ИЛИ ИспользоватьНезаполненное; Если ЗначениеЗаполнено(РежимОтображения) Тогда Отбор.РежимОтображения=РежимОтображенияЭлементаНастройкиКомпоновкиДанных[РежимОтображения]; КонецЕсли; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура УстановитьПользовательскийОтборДляПараметра(Отчет, ИмяПараметра, Значение) Экспорт Если ТипЗнч(Отчет) = Тип("КомпоновщикНастроекКомпоновкиДанных") Тогда КомпоновщикНастроек = Отчет; Иначе КомпоновщикНастроек = Отчет.КомпоновщикНастроек; КонецЕсли; Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(ИмяПараметра)); ИДОтбораВНастройках = Параметр.ИдентификаторПользовательскойНастройки; ОтборВНастройках = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ИДОтбораВНастройках); ОтборВНастройках.Значение = Значение; ОтборВНастройках.Использование = Истина; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |