Создание отбора в динамическом списке

1. user1728351 18.02.22 11:51 Сейчас в теме
Всем доброго дня!
Подскажите пожалуйста как программно сделать отбор в динамическом списке "Реестр торговых документов"?

В режиме предприятия при добавлении отбора (скрин прилагаю) все отображается корректно, а когда использую следующий код отображаются только документы, в которых имеется поле СтатьяДвиженияДенежныхСредств.

Для Каждого ЭлементОтбора Из Список.Отбор.Элементы Цикл
			Если ЭлементОтбора.Представление = "ОграниченияЗП" Тогда
				Список.Отбор.Элементы.Удалить(ЭлементОтбора);
			КонецЕсли;
		КонецЦикла;
		
		ОграниченияЗП = Список.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
		ОграниченияЗП.Использование 	= Истина;
		ОграниченияЗП.ТипГруппы 		= ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаНе;
		ОграниченияЗП.Представление 	= "ОграниченияЗП";
		ОграниченияЗП.РежимОтображения 	= РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный;
		ОграниченияЗП.Применение       	= ТипПримененияОтбораКомпоновкиДанных.Элементы;
		
		СтатьяЗП = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("З/п", Истина);
		ЭлементОтбора = ОграниченияЗП.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
		ЭлементОтбора.ЛевоеЗначение 	= Новый ПолеКомпоновкиДанных("Ссылка.СтатьяДвиженияДенежныхСредств");
		ЭлементОтбора.ВидСравнения 		= ВидСравненияКомпоновкиДанных.Равно;
		ЭлементОтбора.ПравоеЗначение 	= СтатьяЗП;
		ЭлементОтбора.Использование 	= СтатьяЗП <> Неопределено;
		ЭлементОтбора.Представление 	= "ОграниченияЗП";
		ЭлементОтбора.РежимОтображения 	= РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный;
		
		СписокДокументов = Новый СписокЗначений;
		СписокДокументов.Добавить(Документы.РасходныйКассовыйОрдер);
		СписокДокументов.Добавить(Документы.СписаниеБезналичныхДенежныхСредств);
		ЭлементОтбора = ОграниченияЗП.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
		ЭлементОтбора.ЛевоеЗначение 	= Новый ПолеКомпоновкиДанных("Тип");
		ЭлементОтбора.ВидСравнения 		= ВидСравненияКомпоновкиДанных.ВСписке;
		ЭлементОтбора.ПравоеЗначение 	= СписокДокументов;
		ЭлементОтбора.Использование 	= СписокДокументов.Количество() > 0;
		ЭлементОтбора.Представление 	= "ОграниченияЗП";
		ЭлементОтбора.РежимОтображения 	= РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный;
Показать


Где я допустил ошибку или что еще необходимо дополнить в код?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. SlavaKron 18.02.22 14:16 Сейчас в теме
(1) Так в отладке посмотрите как выглядит пользовательский отбор.
4. AnryMc 849 18.02.22 14:25 Сейчас в теме
(1) Версия платформы?

З.Ы, Уже точно не помню, но бывали проблемы со списком в отборе...
Примерно делал так:
....ПравоеЗначение = Новый СписокЗначений;

а уже потом добавлял в него значения...
2. orlin553 18.02.22 13:48 Сейчас в теме
Делай через
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка()
5. soft_wind 18.02.22 15:45 Сейчас в теме
вот так не надо чистить (приводит к ошибке)
    Для Каждого ЭлементОтбора Из Список.Отбор.Элементы Цикл
            Если ЭлементОтбора.Представление = "ОграниченияЗП" Тогда
                Список.Отбор.Элементы.Удалить(ЭлементОтбора);
            КонецЕсли;
        КонецЦикла;
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот