8.х Удаление отбора динамического списка

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем rosveta, 26 окт 2015.

  1. TopicStarter Overlay
    rosveta
    Offline

    rosveta Опытный в 1С

    Регистрация:
    22 май 2015
    Сообщения:
    152
    Симпатии:
    7
    Баллы:
    29
    Добрый день. Есть динамический список. В нем программно устанавливаю отбор таким образом.

    ЭлементОтбора = Товары.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ПравоеЗначение = МассивАналогов;
    Элементы.Товары.Обновить();

    Вопрос. Как программно удалить именно этот отбор? Заранее спасибо.
  2. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Доброго,
    Перебрать коллекцию в цикле (напр. Для Каждого ЭлементОтбора Из КоллекцияЭлементовОтбораКомпоновкиДанных Цикл), при совпадении условия в левом значении, например типа значения, выполнить удаление элемента коллекции соответствующим методом "Удалить(<Элемент>)" см. СП по "КоллекцияЭлементовОтбораКомпоновкиДанных"
  3. TopicStarter Overlay
    rosveta
    Offline

    rosveta Опытный в 1С

    Регистрация:
    22 май 2015
    Сообщения:
    152
    Симпатии:
    7
    Баллы:
    29
    Спасибо. Получилось

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

Поделиться этой страницей