09.12.2009

Как добавить произвольные колонки в динамический список?

В 1С Предприятии 8.2 формы списка объектов конфигурации построены с помощью динамического списка. Например, форма списка справочника Номенклатура содержит основной реквизит типа Динамический список, отображающий основную таблицу Справочник.Номенклатура и динамический список формируется путем запроса к этой таблице.

Однако бывает необходимо добавить произвольные колонки в динамический список. Рассмотрим эту ситуацию на примере отображения актуальной цены в списке справочника Номенклатура.

Эти данные мы можем получить из таблицы регистра сведений Цены.СрезПоследних. Следовательно поле Цена из этой таблицы нам нужно добавить в динамический список Список, который является основным реквизитом формы списка номенклатуры и служит источником данных для таблицы списка.

Создадим форму списка справочника Номенклатура и откроем палитру свойств основного реквизита формы Список. Установим флаг ПроизвольныйЗапрос и в строке Настройка списка нажмем Открыть.

В поле Запрос введем следующий текст запроса:

Копировать в буфер обмена

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

Теперь перетащим поле Цена из окна реквизитов в окно элементов формы.

В результате мы получим список номенклатуры, выводящийся вместе с ее актуальной ценой.

Демонстрационный пример находится в каталоге 1CITS/EXE/FAQ/ПроизвольнаяКолонкаВДинамическомСписке.dt. Пример выполнен на версии платформы 8.2.9.356.

Скачать демонстрационный пример