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