|
установить отбор динамического списка с выводом на форму | ☑ | ||
---|---|---|---|---|
0
Dimarik_1
01.07.19
✎
13:23
|
Необходимо установить отбор динамического списка с выводом на форму.
Попробовал так: Отбор = Форма.Список.Отбор; НовыйЭлементОтбора = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("птСтатусЗаказа"); НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; НовыйЭлементОтбора.использование = Истина; НовыйЭлементОтбора.ПравоеЗначение = Перечисления.птСтатусыЗаказовНаВнутреннееПотребление.НаСогласовании; НовыйЭлементОтбора.Режимотображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ; НовыйЭлементОтбора.ИдентификаторПользовательскойНастройки = СтрЗаменить(Строка(ТекущаяДата()) + Строка(ПараметрыСеанса.ТекущийПользователь),":",""); В результате отбор применился, но не выводится. Мне надо чтобы он сверху выводился, как это пользователь сам делает при создании пользовательских настроек. |
|||
1
Dimarik_1
01.07.19
✎
13:27
|
так тоже не работает
Элемент = Форма.Элементы.Добавить("птСтатусЗаказа", Тип("ПолеФормы"), Форма.Элементы.Список); Элемент.Вид = ВидПоляФормы.ПолеНадписи; Элемент.ПутьКДанным = "Список.Ссылка.птСтатусЗаказа"; ПользовательскиеНастройки = Форма.Список.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы; Для Каждого Строка Из ПользовательскиеНастройки Цикл Если Типзнч(Строка) = Тип("ОтборКомпоновкиДанных") Тогда Отбор = Строка; Прервать; КонецЕсли; КонецЦикла; Если Отбор = Неопределено Тогда Отбор = ПользовательскиеНастройки.Добавить(Тип("ОтборКомпоновкиДанных")); КонецЕсли; //// //ОтборЭлементы = Форма.Список.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Форма.Список.КомпоновщикНастроек.Настройки.Отбор.ИдентификаторПользовательскойНастройки).Элементы; // ЕстьЭлементптСтатусЗаказа = Ложь; Для Каждого Строка Из Отбор.Элементы Цикл Если Строка.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("птСтатусЗаказа") Тогда ЕстьЭлементптСтатусЗаказа = Истина; Прервать; КонецЕсли; КонецЦикла; Если ЕстьЭлементптСтатусЗаказа = Ложь Тогда НовыйЭлементОтбора = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("птСтатусЗаказа"); НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; НовыйЭлементОтбора.использование = Истина; НовыйЭлементОтбора.ПравоеЗначение = Перечисления.птСтатусыЗаказовНаВнутреннееПотребление.НаСогласовании; НовыйЭлементОтбора.Режимотображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ; НовыйЭлементОтбора.ИдентификаторПользовательскойНастройки = СтрЗаменить(Строка(ТекущаяДата()) + Строка(ПараметрыСеанса.ТекущийПользователь),":",""); Конецесли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |