Динамические списки: использование и установка параметров в 1С 8.2 и 8.3

dinamic-list

Давайте представим, что вы работаете в режиме управляемых форм и вам необходимо при работе некоторого справочника постоянно производить фильтрацию элементов по определенному и постоянному отбору. Более того вы к примеру  работаете в документом и при выборе реквизитов необходимо,чтобы открывалась форма выбора элементов справочника, но чтобы в данном списке отображались только те элементы, которые соответствуют определенному условию. В таком случае вам непременно помогут динамические списки. что это такое и с чем его «едят» рассмотрим далее.

К примеру у нас есть справочник СтруктураПосевныхПлощадей, в котором есть наименование культуры, поле  и год в котором данная культура была посажена.

form-choose-year

рис.1

Добавим в командную панель поле ВыборГода и перенесем мышкой на форму. В результате чего будем делать отбор по необходимому нам году. Как вы уже заметили в панели реквизитов есть реквизит Список с типом ДинамическийСписок. Вот это именно то, что позволит нам производить любые манипуляции и любые отборы. Если мы нажмем свойства в контекстном меню динамического списка(нажать правой кнопкой),  то увидим что основная таблица состоит полностью из всех реквизитов данных элементов справочника.

settings-1

рис.2

Если мы поставим галочку в поле ПроизвольныйЗапрос и в настройке списка нажмем открыть, то увидим привычный для нас запрос. Здесь мы можем полностью его переписать  вручную, либо при помощи конструктора запроса, что намного удобнее.

settings-2

рис.3

Добавим условие, чтобы наш запрос выглядел так, как на рисунке 3. Мы видим, что у нас появился параметр &ВыборГода , в который мы будем передавать данные с поля, который мы поместили на форму.

dinamic-list-sql

рис.4

Как передать параметр в динамический список 1С, а именно в запрос, который мы отредактировали? Нам необходимо в модуле формы добавить некоторый код. Для этого нам очень подойдет процедура ПриСозданииНаСервере, так как она отрабатывает еще до открытия формы.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Список.Параметры.УстановитьЗначениеПараметра(«ВыборГода», Параметры.ВыборГода);
КонецПроцедуры

Таким образом при открытии данного справочника из необходимого вам места вы можете при изменении года тут же фильтровать структуру посевов.

 

Настройки динамического списка

Если вы не желаете «заморачиваться» с параметрами и запросами, вы можете перейти во вкладку Настройки и устанавливать уже жесткий отбор. Например установим год  2016. Также вы можете по вашему желанию производить сортировку, группировку и даже использовать оформление.

settings-3

рис.5

На этом настройка завершена. Как видите данный механизм очень прост и удобен.

Поделитесь своим мнением

Свежие записи
Советы и помощь программиста в 1с © 2018 ·   Войти   · Наверх