Вопрос настройки интерфейса в 1С:Управление торговлей 11 часто вызывает затруднения, особенно когда стандартные средства пользовательского режима «Изменить форму» не позволяют вывести нужный элемент управления непосредственно на командную панель. Давайте разберем, как реализовать быстрый отбор по статусу Проведен, используя как штатные возможности платформы, так и методы программной доработки.
Прежде чем прибегать к написанию кода, попробуем воспользоваться механизмом, который уже заложен в архитектуру динамического списка. В типовых конфигурациях многие поля уже доступны для фильтрации, нужно лишь правильно их активировать.
Проведен (или Ссылка.Проведен) и добавьте его в список отборов.Если штатных инструментов недостаточно или вам принципиально важно разместить на панели инструментов именно «галку» или кнопку с переключателем, единственным надежным способом станет создание Расширения конфигурации. Это позволит добавить нужный элемент управления, не снимая конфигурацию с поддержки.
Рассмотрим, как это работает «под капотом». Мы можем создать команду, которая будет менять параметры динамического списка напрямую. Для этого в модуле формы через расширение мы будем манипулировать коллекцией Отбор:
// Пример кода для установки отбора программным способом
&НаКлиенте
Процедура УстановитьОтборПоПроведенным(Команда)
// Получаем доступ к динамическому списку
Список = ЭтаФорма.Список;
// Очищаем текущие отборы, чтобы избежать конфликтов
Список.Отбор.Элементы.Очистить();
// Добавляем новый элемент отбора
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Проведен");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Истина; // Или Ложь для непроведенных
ЭлементОтбора.Использование = Истина;
КонецПроцедуры
Если вы столкнулись с ситуацией, когда поле Проведен отсутствует или не работает, проанализируем возможные причины:
Список, но в сложных формах их может быть несколько.Ссылка, помните, что вы можете «разворачивать» это поле, получая доступ к его реквизитам, таким как Проведен или Дата, что дает больше гибкости при настройке.Рекомендуем начинать с первого варианта, так как он является штатным и не требует поддержки кода при обновлениях системы. Если же задача требует создания уникального визуального интерфейса — приступайте к разработке расширения, используя приведенный выше пример кода. Это позволит реализовать любую логику взаимодействия пользователя с данными динамического списка.