1С:Предприятие 8
Система программ

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

08.06.2012

Для примера, рассмотрим ситуацию, когда требуется получить все номенклатурные позиции, указанные в табличной части Товары документов РеализацияТоваровУслуг.

Для этого можно воспользоваться запросом со следующим текстом:

ВЫБРАТЬ РАЗЛИЧНЫЕ
   РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары

В качестве источника указываем табличную часть документов - таблицу  Документ.РеализацияТоваровУслуг.Товары. Выходным полем объявляем поле Номенклатура, входящее в состав таблицы источника. Кроме этого, поскольку одна и та же товарная позиция, естественно, могла присутствовать и не один раз в документах, применяем РАЗЛИЧНЫЕ для получения только различных строк в выходной таблице запроса.

Для примера создадим обработку СписокТоваров, где выбирается документ РеализацияТоваровУслуг, и нажатием на соответствующую кнопку в окно сообщений выводится список неповторяющихся позиций номенклатуры, содержащейся в табличной части этого документа.

Для того, чтобы ограничить выборку номеклатуры только номенклатурой из табличной части конкретного документа используем параметр Ссылка в условии в запросе (ГДЕ ...):

ВЫБРАТЬ РАЗЛИЧНЫЕ
   РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ГДЕ
   РеализацияТоваровУслугТовары.Ссылка = &Ссылка