0
beaver1971
26.05.15
✎
08:38
|
Есть список следующего вида:
Документ.ВедомостьРасходаГорючего.Номенклатура
Документ.ВыпускПродукции.Товар
Документ.ОказаниеУслуг.Услуга
Документ.ПутевойЛистТрактора.Горючее
всего 35 строк.
Необходимо построить таблицу, где для каждого наименования из списка номенклатуры будет подсчитано, в скольких документах оно использовано.
Понятно, что в цикле проходим по справочнику номенклатуры, для каждого значения в цикле проходим по списку документов. Если реквизит в шапке документа, то получаем значение и радуемся, если в табличной части, то перебираем таблицу. Вот только как определить - в шапке или в табличной части?
|
|
2
aka AMIGO
26.05.15
✎
08:47
|
Функция глЕстьРеквизитШапки(ИмяРеквизита, ВидДокумента) Экспорт
Если ПустоеЗначение(ИмяРеквизита) = 1 Тогда
Возврат 0;
ИначеЕсли Метаданные.ОбщийРеквизитДокумента(ИмяРеквизита).Выбран() = 1 Тогда
Возврат 1;
ИначеЕсли ПустоеЗначение(ВидДокумента) = 1 Тогда
Возврат 0;
ИначеЕсли Метаданные.Документ(ВидДокумента).РеквизитШапки(ИмяРеквизита).Выбран() = 1 Тогда
Возврат 1;
Иначе
Возврат 0;
КонецЕсли;
КонецФункции //глЕстьРеквизитШапки()
|
|