Отбор на формах и отключение видимости ненужных групп на управляемой форме в 1С
В данной статье я хочу рассказать о отборе на формах в режимах Предприятия и Конфигуратора и отключение видимости ненужных групп на управляемой форме в 1С.
Видимостью элементов можно управлять программно через свойство Видимость при открытии формы:
В случае если нужно скрыть некоторые строки списка с определенным значением нужно работать через отбор.
Открыть форму с отбором можно для любых объектов и несколькими способами в режиме 1С:Конфигуратор, рассмотрим на примере регистра накопления “Оплата счетов”:
Первый способ работает при открытии формы.
У формы есть параметр Отбор, который является структурой, где:
Ключ структуры – имя параметра,
Значение – значение параметра формы или как в данном случае предопределенное значение, как в данном случае. Если отбор берется со значением элемента формы, то имя элемента должно совпадать с именем параметра структуры.
Если нужно открыть форму без отбора, но скрыть несколько элементов можно это реализовать следующим образом:
Второй способ заключается в добавлении кода в обработчике события формы списка оплата счетов ПриСозданииНаСервере
Для этого в нужной процедуре открываем форму
и уже в модуле открываемой формы
Данный метод имеет больше возможностей для отбора по сравнению с предыдущим, потому, что ВидСравнения у отбора можно задавать не только Равно, но и Больше, Меньше и т.п.
ВидСравненияКомпоновкиДанных определяет набор видов сравнения, которые могут быть использованы в условиях отбора. Но стоит учитывать, что на мобильной платформе игнорируются следующие виды сравнения: НачинаетсяС, НеНачинаетсяС, СоответствуетШаблону, НеСоответствуетШаблону.
РежимОтображенияЭлементаНастройкиКомпоновкиДанных определяет режим отображения.
Используется при отображении списка в зависимости от режима отображения табличного поля.
Кроме того, если элемент принадлежит пользовательскому отбору, свойство используется при формировании начального состава пользовательского отбора и при применении пользовательского отбора к базовому.
Если использовать такой способ – то форма будет открываться всегда с таким отбором – независимо от места вызова формы.
РежимОтображенияЭлементаНастройкиКомпоновкиДанных содержит режимы отображения элемента настройки компоновки данных:
Авто – значение режима нужно получать из основных настроек,
БыстрыйДоступ – этот элемент настройки предназначен для режима быстрого доступа. Он будет доступен в табличном поле, если у расширения табличного поля отбора свойство РежимОтображения будет установлено в значение Все или БыстрыйДоступ,
Недоступный – этот элемент настройки не предназначен для изменения в составе пользовательской настройки,
Обычный – указывает на обычный режим отображения. Он будет доступен в табличном поле, если у расширения табличного поля отбора, свойство РежимОтображения будет установлено в значение Все.
Третий способ – возможность поместить условие отбора в произвольный запрос, выбирающий данные для динамического списка.
Для этого в форме списка создадим команду и соответствующую ей кнопку Оплата счетов.
В обработчике команды пишем следующее:
ТекущаяСтрока – это строка динамического списка, на которую будет установлен курсор после открытия формы. В качестве значения для параметра используются значения ссылок на объекты, которые содержит главная таблица динамического списка.
В результате мы получаем форму списка оплаченных счетов и с отбором по параметру ФильтрПоНДС, который передаем на форму, где значение параметра – это ссылка на текущий элемент в списке счетов и открываем форму с этим параметром.
Затем создадим форму списка оплаченных счетов и создадим реквизит формы ФильтрПоНДС, который мы будем использовать в качестве параметра формы при ее открытии. Теперь откроем палитру свойств основного реквизита формы Счета. Установим флаг ПроизвольныйЗапрос и в строке Настройка списка нажмем Открыть.
Создаем

