Добавление колонки на форму списка (Произвольный запрос динамического списка)

 

Продолжаем рассматривать варианты размещения элементов на форме на примере вывода реквизитов документа на форму списка документов, состав документа представлен на рис. 1:

Рис. 1. Реквизиты документа

Добавим на форму списка документов колонку со значением статуса приходной, статус приходной находится в регистре сведений. Открываем форму списка документа пр_Приходная. Если формы списка еще нет, то нажимаем значок лупы на вкладке Формы окна свойств документа (рис. 2):

Рис. 2. Создание формы списка документа

В открывшемся окне Конструктор формы документа нажимаем Далее > и выбираем поля, которые хотим вывести на форму (поля – это реквизиты и табличные части документа), нажимаем Готово. Открывается окно формы списка документа.

В форме списка документа открываем свойства реквизита Список (правой кнопкой мышки – Свойства), в окне Свойства ставим галочку у свойства Произвольный запрос (рис. 3):

Рис. 3. Свойства реквизита формы Список

После установки свойства Произвольный запрос состав свойств раздела Объект изменится (рис. 4):

Рис. 4. Состав раздела Объект окна Свойства

Нажимаем на гиперссылку Открыть свойства Настройка списка (рис. 4). Открывается окно Динамический список (рис. 5):

Рис. 5. Окно Динамический список

Добавляем в запрос текст для получения статуса приходной из регистра сведений. В примере используется регистр сведений пр_СтатусПриходной со значением свойства Периодичность – В пределах дня, состав регистра представлен на рис. 6:

Рис. 6. Состав регистра с данными о статусе приходной

Изменить запрос в окне Динамический список можно нажав на кнопку Конструктор запроса… или можно сразу написать нужный текст в поле Запрос (рис. 7):

Рис. 7. Измененный запрос

Текст запроса:

ВЫБРАТЬ
                Документпр_Приходная.Ссылка,
                Документпр_Приходная.ПометкаУдаления,
                Документпр_Приходная.Номер,
                Документпр_Приходная.Дата,
                Документпр_Приходная.Проведен,
                Документпр_Приходная.Организация,
                Документпр_Приходная.ТипПриходной,
                Документпр_Приходная.Склад,
                Документпр_Приходная.Подразделение,
                Документпр_Приходная.Ответственный,
                Документпр_Приходная.Комментарий,
                пр_СтатусПриходнойСрезПоследних.Статус
ИЗ
                Документ.пр_Приходная КАК Документпр_Приходная
                                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.пр_СтатусПриходной.СрезПоследних КАК пр_СтатусПриходнойСрезПоследних
                                ПО пр_СтатусПриходнойСрезПоследних.Приходная = Документпр_Приходная.Ссылка

Важно проверить, что в поле Основная таблица окна Динамический список указан нужный документ (рис. 7), иначе, если поле будет не заполнено, то в форме списка документов не будет возможности добавлять новые документы и открывать существующие (и не будет привычных кнопок Создать, Создать копированием и т.п.). Нажимаем ОК. Теперь в составе реквизита Список те поля, которые были выбраны в запросе (рис. 8):

Рис. 8. Состав реквизита Список

Перетаскиваем новое поле Статус из вкладки Реквизиты на вкладку Элементы в состав элемента Список (рис. 8). И размещаем поле Статус на вкладке Элементы после полей Дата, Номер (рис. 9):

Рис. 9. Размещение поля Статус

У реквизитов (на вкладке Реквизиты) в составе динамического списка можно отметить свойство Использовать всегда (рис. 8). Это нужно, когда поля должны быть в составе динамического списка в любом случае, даже если они не будут добавлены на форму как элементы, например, будут использоваться в дальнейшем в коде модуля формы списка документа.

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

Рис. 10. Новая колонка формы списка