1С 8.3 : Динамический список
Для установки отбора в динамическом списке используется свойство Отбор.
Добавление нового элемента отбора осуществляется следующим образом:
Для того чтобы новый отбор начал работать необходимо установить у элемента отбора свойства ЛевоеЗначение, ВидСравнения и ПравоеЗначение, а также установить свойство Использование в Истина.
Кроме простых условий в отборе возможно создание условий по нескольким полям. При чём как по условию «И», так и по условиям «Или» и «Не». Для данной операции используется специальный тип данных ГруппаЭлементовОтбораКомпоновкиДанных.
Похожие FAQ
Еще в этой же категории
Как настроить отбор строк? 5
Часто возникает задача показать только нужные строки в табличной части документа или справочника (или другого объекта). Для этого можно использовать замечательное свойство: в обычном приложении параметр для ОтборСтрок — Отбор. в управляемом Список НЕ модальных методов в 1С 4
Найдено в интернете но говорят что с диска ИТС. Как показать сообщение пользователю? методы: СообщениеПользователю и ПоказатьОповещениеПользователя 3
В 1С предполагается, что СообщениеПользователю выводятся для того, чтобы сообщить пользователю об ошибках. А для информирования о выполняемом действии рекомендуется использовать метод встроенного языка ПоказатьОповещениеПользователя() . Сооб Посмотреть все в категории Работа с Формой (Диалог) и её элементами
Работа с динамическим списком
В данном разделе приведены примеры выполнения некоторых операций по работе с динамическим списком, размещенным в форме.
ПРИМЕЧАНИЕ. Примеры, приведенные ниже, не являются законченным. Они предназначены для демонстрации различных механизмов работы с динамическим списком.
7.9.5.1. Параметр запроса динамического списка
В данном разделе приведен пример установки параметра запроса динамического списка.
Предположим, что для динамического списка указан следующий запрос к данным:
Тогда для установки параметров данного запроса (в обработчике ПриСозданииНаСервере()) нужно указать параметры Склад и ВидЦен следующим образом.
7.9.5.2. Отбор
В данном разделе приведены примеры установки и удаления отбора в динамическом списке.
Функция добавляет отбор в динамический список и возвращает созданный элемент отбора.
Процедура удаляет отбор динамического списка и возвращает результат удаления. Если имя поля с удаляемым отбором не указано, выполняется очистка списка отборов.
7.9.5.3. Группировка
В данном разделе приведены примеры установки и удаления группировки в динамическом списке.
Функция добавляет группировку в динамический список и возвращает созданный элемент группировки.
Процедура удаляет группировку динамического списка и возвращает результат удаления. Если имя поля с удаляемой группировкой не указано, выполняется очистка списка группировок.
7.9.5.4. Порядок (сортировка)
В данном разделе приведены примеры установки и удаления упорядочивания динамического списка.
Функция добавляет поле сортировки в динамический список и возвращает созданный элемент порядка.
Процедура удаляет сортировку динамического списка и возвращает результат удаления. Если имя поля упорядочивания не указано, выполняется очистка списка упорядочивания.
7.9.5.5. Условное оформление
В данном разделе приведены примеры задания условного оформления динамического списка. В условном оформлении используется динамический список Список, в котором есть поля Организация и Сумма (типа Число). В примере задаются три элемента условного оформления:
● если значение поля Сумма меньше 500, то текст полей Организация и Сумма оформляется красным цветом;
● если значение поля Сумма больше 500, но меньше 10 000, то для всех полей строки текст оформляется синим цветом;
● если значение поля Сумма больше 10 000, то текст полей Организация и Сумма оформляется зеленым цветом.
Также в примере используется функция установки отбора (см. здесь).
Пример задания условного оформления:
Поделиться ссылкой:
Понравилось это:
Похожее
4 Replies to “Работа с динамическим списком”
Несоответствие типов
Группировка = Список.КомпоновщикНастроек.Настройки.Структура.Добавить(Тип(“ГруппировкаКомпоновкиДанных”));
по причине:
Несоответствие типов
Потому что “Группировка” – это свойство формы, используйте другой идентификатор переменной.
Пространства имён – не самая сильная сторона 1С )
Функцию с добавлением отбора лучше доработать и вставить перед добавлением поиск
Функция ДобавитьОтбор(СписокОтборов, ИмяПоля, Значение, ВидСравнения = Неопределено, Использование = Истина)
ПолеОтбора = Новый ПолеКомпоновкиДанных(ИмяПоля);
ЭлементОтбора = Неопределено;
Для Каждого Отбор Из Список.КомпоновщикНастроек.ФиксированныеНастройки.Отбор.Элементы Цикл
Если Отбор.ЛевоеЗначение = ПолеОтбора Тогда
ЭлементОтбора = Отбор;
Прервать
КонецЕсли;
КонецЦикла;
Если ЭлементОтбора Неопределено тогда
НовыйЭлемент = ЭлементОтбора;
Иначе
НовыйЭлемент = СписокОтборов.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
КонецЕсли;
НовыйЭлемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля);
НовыйЭлемент.ВидСравнения = ?(ВидСравнения = Неопределено, ВидСравненияКомпоновкиДанных.Равно, ВидСравнения);
НовыйЭлемент.ПравоеЗначение = Значение;
НовыйЭлемент.Использование = Использование;
Возврат НовыйЭлемент;
КонецФункции
Процедуры и функции для работы с динамическим списком написаны в общем модуле ОбщегоНазначенияКлиентСервер библиотеки стандартных подсистем. Например , я часто вызываю процедуру УстановитьЭлементОтбораДинамическогоСписка когда нужно Добавить или заменить существующий элемент отбора динамического списка
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
1с как установить отбор в динамическом списке
Пример кода, устанавливающего отбор в динамическом списке. В качестве параметра процедуры может выступать например «Список.Отбор».
В процедуре создаётся группа «ГруппаПоБеременности» с логическим условием «ИЛИ», в которую добавляется два элемента отбора. В первом элементе проверяется, что поле «ОтпускПоБеременностиИРодам» не заполнено, а во втором, что оно больше или равно текущей дате.
Таким образом отбор выбирает все элементы списка у которых поле «ОтпускПоБеременностиИРодам» не заполнено или больше или равно текущей даты.
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Как программно добавить отбор в динамический список на УФ 8.3?
Список.Отбор.Элементы.Очистить();
Если Элемент.ТекущиеДанные.Исполнитель <> " Все" Тогда
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ИсполнителиСтрокой");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ПравоеЗначение = Элемент.ТекущиеДанные.Исполнитель;
КонецЕсли;
// вид документа
ВидДокумента = ПараметрыОтбора.Получить("ВидДокумента");
Если ВидДокумента <> Неопределено Тогда
Если Не ЗначениеЗаполнено(ВидДокумента) Тогда
ОбщегоНазначенияКлиентСервер.УдалитьЭлементыГруппыОтбора(Список.Отбор,
"ВидДокумента");
Иначе
СписокВидов = Новый СписокЗначений;
СписокВидов.Добавить(ВидДокумента);
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Список.Отбор,
"ВидДокумента",
СписокВидов,
ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии);
КонецЕсли;
КонецЕсли;
в первом списке
&НаКлиенте
Процедура СписокНоменклатурыПриАктивизацииСтроки(Элемент)
поз= ВторойСписокГдеНадоОтфильтровать.Отбор.Элементы[0]; //тут и
поз.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
поз.Использование = истина;
поз.ПравоеЗначение = поз;
<(18,2)>Неоднозначное поле "Номенклатура.Способ Пополнения"
(18,2)>
не могу разобраться в чем ошибка
запрос выглядит так
ВЫБРАТЬ Спецификации.Ссылка КАК Продукция, Спецификации.Состав.( Номенклатура, Характеристика, ЕдиницаИзмерения, Количество, КоличествоПродукции ), ЗаказНаПроизводствоПродукция.НоменклатураИЗ Документ.ЗаказНаПроизводство.Продукция КАК ЗаказНаПроизводствоПродукция ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Спецификации КАК Спецификации ПО Номенклатура.Спецификация = Спецификации.Ссылка ПО ЗаказНаПроизводствоПродукция.Номенклатура = Номенклатура.СсылкаГДЕ Номенклатура.СпособПополнения = &СпособПополнения