Количество строк табл.частей документа в запросе УТ 10.2 (10.2.9.2) доработанная

Помогите в запросе подсчитать отдельно кол-во строк в табл.частях документа “ГотоваяПродукция”.В табл.части “Материалы”(назовем Кол1) и отдельно и в табл.части “Затраты” (назовем Кол2)отдельно!  В запросе “КолвоСтрокПродукции.КолвоСтрок” -это общее кол-во строк в док.ГотоваяПродукция(Кол1+Кол2). В тексте запроса “КоличествоПриход” будет рассчитываться в зависимости от Кол1 или Кол2.
Вот текст запроса:

ПродукцияИМатериалы.Склад КАК Склад,
ПродукцияИМатериалы.Регистратор КАК Регистратор,
ПродукцияИМатериалы.Номенклатура КАК Продукция,
ПродукцияИМатериалы.ХарактеристикаНоменклатуры КАК Характеристика,
ПродукцияИМатериалы.Материал.СтатьяЗатрат.ВидЗатрат КАК ВидЗатрат,

//****вот здесь условие будет строитья  с Кол1 или Кол2 

СУММА(ВЫБОР
КОГДА ПродукцияИМатериалы.КоличествоМат = 0
ТОГДА 0
КОГДА ПродукцияИМатериалы.КоличествоМат <> 0
И КолвоСтрокПродукции.КолвоСтрок = 1
ТОГДА ПродукцияИМатериалы.Количество / КолвоСтрокПродукции.КолвоСтрок
КОГДА ПродукцияИМатериалы.КоличествоМат <> 0
И КолвоСтрокПродукции.КолвоСтрок > 1
ТОГДА ПродукцияИМатериалы.Количество / (КолвоСтрокПродукции.КолвоСтрок – 1)
ИНАЧЕ ПродукцияИМатериалы.Количество / КолвоСтрокПродукции.КолвоСтрок
КОНЕЦ) КАК КоличествоПриход,

//**********
СУММА(ПродукцияИМатериалы.Стоимость / КолвоСтрокПродукции.КолвоСтрок) КАК СтоимостьПриход,
СУММА(ПродукцияИМатериалы.Стоимость / ПродукцияИМатериалы.Количество) КАК Себестоимость,
ПродукцияИМатериалы.Материал КАК Материал,
ПродукцияИМатериалы.ХарактеристикаМатериала КАК ХарактеристикаМат,
ПродукцияИМатериалы.Материал.БазоваяЕдиницаИзмерения КАК ЕдИзм,
СУММА(ПродукцияИМатериалы.КоличествоМат) КАК КоличествоМат,
СУММА(ПродукцияИМатериалы.СтоимостьМат) КАК СуммаМат,
СУММА(ВЫБОР
КОГДА ПродукцияИМатериалы.КоличествоМат > 0
ТОГДА ПродукцияИМатериалы.СтоимостьМат / ПродукцияИМатериалы.КоличествоМат
ИНАЧЕ ПродукцияИМатериалы.СтоимостьМат
КОНЕЦ) КАК ЦенаМат,
СУММА(ПродукцияИМатериалы.КоличествоМат / ПродукцияИМатериалы.Количество) КАК КолвоМатНаЕдиницу,
СУММА(ПродукцияИМатериалы.СтоимостьМат / ПродукцияИМатериалы.Количество) КАК СтоимМатНаЕдиницу,
СУММА(КолвоСтрокПродукции.КолвоСтрок) КАК КолвоСтрок
{ВЫБРАТЬ
Склад.*,
Регистратор.*,
Продукция.*,
Характеристика.*,
КоличествоПриход,
СтоимостьПриход,
Себестоимость,
Материал.*,
ХарактеристикаМат.*,
ЕдИзм.*,
КоличествоМат,
СуммаМат,
ЦенаМат,
КолвоМатНаЕдиницу,
СтоимМатНаЕдиницу}
ИЗ
(ВЫБРАТЬ
Продукция.Регистратор.СкладПолучатель КАК Склад,
Продукция.Номенклатура КАК Номенклатура,
Продукция.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
СУММА(Продукция.Количество) КАК Количество,
СУММА(Продукция.Стоимость) КАК Стоимость,
Материалы.Номенклатура КАК Материал,
Материалы.ХарактеристикаНоменклатуры КАК ХарактеристикаМатериала,
СУММА(Материалы.Количество) КАК КоличествоМат,
СУММА(Материалы.Стоимость) КАК СтоимостьМат,
Продукция.Регистратор КАК Регистратор
ИЗ
РегистрНакопления.ПартииТоваровНаСкладах КАК Продукция
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах КАК Материалы
ПО Продукция.Регистратор = Материалы.Регистратор
И Продукция.НомерСтроки = Материалы.НомерКорСтроки
ГДЕ
Продукция.Регистратор ССЫЛКА Документ.ГотоваяПродукция
И Продукция.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
И Материалы.Регистратор ССЫЛКА Документ.ГотоваяПродукция
И Материалы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
И Продукция.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаКонца

СГРУППИРОВАТЬ ПО
Продукция.Регистратор.СкладПолучатель,
Продукция.Номенклатура,
Продукция.ХарактеристикаНоменклатуры,
Материалы.Номенклатура,
Материалы.ХарактеристикаНоменклатуры,
Продукция.Регистратор

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
Продукция.Регистратор.СкладПолучатель,
Продукция.Номенклатура,
Продукция.ХарактеристикаНоменклатуры,
СУММА(Продукция.Количество),
СУММА(Продукция.Стоимость),
Затраты.СтатьяЗатрат,
“(Затраты)”,
0,
СУММА(Затраты.Сумма),
Продукция.Регистратор
ИЗ
РегистрНакопления.ПартииТоваровНаСкладах КАК Продукция
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ГотоваяПродукцияЗатраты.Ссылка КАК Ссылка,
ГотоваяПродукцияЗатраты.СтатьяЗатрат КАК СтатьяЗатрат,
ГотоваяПродукцияЗатраты.Сумма КАК Сумма,
ГотоваяПродукцияПродукция.Номенклатура КАК Номенклатура,
ГотоваяПродукцияПродукция.ХарактеристикаПродукции КАК ХарактеристикаПродукции
ИЗ
Документ.ГотоваяПродукция.Продукция КАК ГотоваяПродукцияПродукция
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ГотоваяПродукция.Затраты КАК ГотоваяПродукцияЗатраты
ПО ГотоваяПродукцияПродукция.Ссылка = ГотоваяПродукцияЗатраты.Ссылка
И ГотоваяПродукцияПродукция.КлючСтроки = ГотоваяПродукцияЗатраты.КлючСтроки
ГДЕ
ГотоваяПродукцияПродукция.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
И ГотоваяПродукцияПродукция.Ссылка.Проведен = ИСТИНА) КАК Затраты
ПО Продукция.Регистратор = Затраты.Ссылка
И Продукция.Номенклатура = Затраты.Номенклатура
И Продукция.ХарактеристикаНоменклатуры = Затраты.ХарактеристикаПродукции
ГДЕ
Продукция.Регистратор ССЫЛКА Документ.ГотоваяПродукция
И Продукция.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)

СГРУППИРОВАТЬ ПО
Продукция.Регистратор.СкладПолучатель,
Продукция.Номенклатура,
Продукция.ХарактеристикаНоменклатуры,
Затраты.СтатьяЗатрат,
Продукция.Регистратор) КАК ПродукцияИМатериалы
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
КолвоСтрокМат.Продукция КАК Продукция,
КолвоСтрокМат.ХарактеристикаПродукции КАК ХарактеристикаПродукции,
СУММА(КолвоСтрокМат.КолвоСтрок) КАК КолвоСтрок,
КолвоСтрокМат.Регистратор КАК Регистратор
ИЗ
(ВЫБРАТЬ
Продукция.Номенклатура КАК Продукция,
Продукция.ХарактеристикаНоменклатуры КАК ХарактеристикаПродукции,
Материалы.Номенклатура КАК Номенклатура,
Материалы.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
1 КАК КолвоСтрок,
Продукция.Регистратор КАК Регистратор
ИЗ
РегистрНакопления.ПартииТоваровНаСкладах КАК Материалы
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах КАК Продукция
ПО Материалы.Регистратор = Продукция.Регистратор
И Материалы.НомерКорСтроки = Продукция.НомерСтроки
ГДЕ
Продукция.Регистратор ССЫЛКА Документ.ГотоваяПродукция
И Продукция.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
И Материалы.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
И Продукция.Регистратор.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийГотоваяПродукция.Производство)
И Продукция.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаКонца

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
ПартииТоваровНаСкладах.Номенклатура,
ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры,
Затраты.СтатьяЗатрат,
“”,
1,
ПартииТоваровНаСкладах.Регистратор
ИЗ
РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ГотоваяПродукцияЗатраты.Ссылка КАК Ссылка,
ГотоваяПродукцияЗатраты.СтатьяЗатрат КАК СтатьяЗатрат,
ГотоваяПродукцияЗатраты.Сумма КАК Сумма,
ГотоваяПродукцияПродукция.Номенклатура КАК Номенклатура,
ГотоваяПродукцияПродукция.ХарактеристикаПродукции КАК ХарактеристикаПродукции
ИЗ
Документ.ГотоваяПродукция.Продукция КАК ГотоваяПродукцияПродукция
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ГотоваяПродукция.Затраты КАК ГотоваяПродукцияЗатраты
ПО ГотоваяПродукцияПродукция.Ссылка = ГотоваяПродукцияЗатраты.Ссылка
И ГотоваяПродукцияПродукция.КлючСтроки = ГотоваяПродукцияЗатраты.КлючСтроки
ГДЕ
ГотоваяПродукцияПродукция.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
И ГотоваяПродукцияПродукция.Ссылка.Проведен = ИСТИНА) КАК Затраты
ПО ПартииТоваровНаСкладах.Регистратор = Затраты.Ссылка
И ПартииТоваровНаСкладах.Номенклатура = Затраты.Номенклатура
И ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры = Затраты.ХарактеристикаПродукции
ГДЕ
ПартииТоваровНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
И ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ГотоваяПродукция
И ПартииТоваровНаСкладах.Регистратор.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийГотоваяПродукция.Производство)
И ПартииТоваровНаСкладах.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаКонца) КАК КолвоСтрокМат

СГРУППИРОВАТЬ ПО
КолвоСтрокМат.Продукция,
КолвоСтрокМат.ХарактеристикаПродукции,
КолвоСтрокМат.Регистратор) КАК КолвоСтрокПродукции
ПО ПродукцияИМатериалы.Регистратор = КолвоСтрокПродукции.Регистратор
И ПродукцияИМатериалы.Номенклатура = КолвоСтрокПродукции.Продукция
И ПродукцияИМатериалы.ХарактеристикаНоменклатуры = КолвоСтрокПродукции.ХарактеристикаПродукции
{ГДЕ
ПродукцияИМатериалы.Склад.*,
ПродукцияИМатериалы.Регистратор.*,
ПродукцияИМатериалы.Номенклатура.*,
ПродукцияИМатериалы.ХарактеристикаНоменклатуры.*,
ПродукцияИМатериалы.Материал.*}

СГРУППИРОВАТЬ ПО
ПродукцияИМатериалы.Материал,
ПродукцияИМатериалы.Регистратор,
ПродукцияИМатериалы.Номенклатура,
ПродукцияИМатериалы.ХарактеристикаНоменклатуры,
ПродукцияИМатериалы.ХарактеристикаМатериала,
ПродукцияИМатериалы.Склад,
ПродукцияИМатериалы.Материал.БазоваяЕдиницаИзмерения,
ПродукцияИМатериалы.Материал.СтатьяЗатрат.ВидЗатрат

УПОРЯДОЧИТЬ ПО
Склад,
Продукция,
Характеристика,
Регистратор
{УПОРЯДОЧИТЬ ПО
Склад,
Продукция,
Характеристика,
Регистратор,
Материал}
ИТОГИ
СУММА(КоличествоПриход),
СУММА(СтоимостьПриход),
СРЕДНЕЕ(Себестоимость),
СУММА(КоличествоМат),
СУММА(СуммаМат),
СУММА(ЦенаМат),
СУММА(КолвоМатНаЕдиницу),
СУММА(СтоимМатНаЕдиницу),
СУММА(КолвоСтрок)
ПО
ОБЩИЕ,
Склад,
Продукция,
Характеристика,
Регистратор
{ИТОГИ ПО
Склад,
Продукция,
Характеристика,
Регистратор,
Материал}

Подписаться
Уведомить о
guest
2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Головаченко Дима
Головаченко Дима
11 лет назад

Если вам надо посчитать количества строк ТЧ в документа, причем из каждой ТЧ – свое количество, то надо либо двумя временными таблицами, либо двумя вложенными запросами вытянуть эти количества, а потом связав их с основной таблицей документа(или местом, где документ берется).
Т.е. эти запросы или ВТ должны возвращать что-то типа “Документ – количество”.
Как сделать – берете из ТЧ документа в конструкторе запроса (именно из ТЧ, а не из таблицы документа) Ссылку и какое-то поле из ТЧ. Группируете по количеству и на выходе получаете количество строк. Если запрос возвращает пустую таблицу, значит там 0 строк.
Надеюсь, доступно объяснил.