Добавление нового столбца на форму списка через динамический список

Материал из WiKi - IQ Company
Перейти к навигации Перейти к поиску

Если требуется добавить новый столбец на форму, необходимо доработать запрос динамического списка. Для этого откройте форму и перейдите на вкладку **«Реквизиты»**. Найдите реквизит **«Список»** (может называться по-другому), затем в окне свойств откройте пункт **«Настройки списка»** (рисунок 1).

ОкноСвойствДинамическогоСписка


Рисунок 1

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

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

ДинамическийСписок

Рисунок 2

Работа с картинками в динамическом списке

Если необходимо вывести изображение в динамическом списке, например для отображения статуса заказа, то реализуется это немного нестандартным способом.

Предположим, у заказа есть три статуса: - Новый - В работе - Завершен

Для того чтобы в зависимости от статуса отображалась соответствующая картинка или иконка, необходимо доработать текст запроса и добавить в него конструкцию `ВЫБОР`.

Суть подхода заключается в том, что для каждого статуса в запросе возвращается свое значение, по которому затем определяется нужное изображение в форме или условном оформлении.

"Выбор Когда Док.Статус = Перечисления.Статусы.Новый Тогда 1

Когда Док.Статус = Перечисления.Статусы.ВРаботе Тогда 2

Когда Док.Статус = Перечисления.Статусы.Завершен Тогда 3

Иначе 0

Конец как ИндексСтатуса"

В результате выполнения запроса мы получаем не сам статус заказа, а индекс статуса, сформированный по заданным условиям. Именно этот индекс далее используется для отображения нужной картинки в динамическом списке.

Следующий шаг — подготовить коллекцию изображений со статусами. Проще всего сделать такой набор, например, в Figma.

Важно соблюдать несколько требований:

- все изображения должны быть одинакового размера — рекомендуется `16×16`; - иконки необходимо расположить подряд в одном изображении; - порядок картинок должен соответствовать индексам статусов, возвращаемым запросом.

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

Рисунок 3

Следующий этап — настройка отображения изображений в журнале документов.

Для этого откройте форму в конфигураторе и в дереве элементов формы найдите нужный динамический список. После этого необходимо настроить несколько свойств:

- в свойстве `ПутьКДаннымКартинкиСтроки` укажите созданный ранее элемент `ИндексСтатуса;` - в свойстве `КартинкаСтрок` выберите подготовленную коллекцию изображений со статусами (рисунок 4).

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

Рисунок 4

Рисунок 5