Запрос по задолженности контрагента

Новая тема
"Добрый день.
Возникла проблема при написании запроса по задолженности контрагентов.
Суть в следующем нужно взять остатки по счету 62.01 в разрезе субконто и остатки по 62.02 и если есть авансовый платеж у контрагента, то найти разницу 62.01 - 62.02

Как вывести все данные из 62.02?

ВЫБРАТЬ
ВложенныйЗапрос.Субконто1 КАК Субконто1,
ВложенныйЗапрос.Субконто2,
ВложенныйЗапрос.СуммаОстатокДт,
ВложенныйЗапрос1.СуммаОстатокКт,
ВложенныйЗапрос.СуммаОстатокДт - ВЫБОР
КОГДА ВложенныйЗапрос1.СуммаОстатокКт ЕСТЬ NULL
ТОГДА 0
ИНАЧЕ ВложенныйЗапрос1.СуммаОстатокКт
КОНЕЦ - ВЫБОР
КОГДА ВложенныйЗапрос2.СуммаОстатокКт ЕСТЬ NULL
ТОГДА 0
ИНАЧЕ ВложенныйЗапрос2.СуммаОстатокКт
КОНЕЦ КАК СуммаЗадолженности
ИЗ
(ВЫБРАТЬ
ХозрасчетныйОстатки.Счет КАК Счет,
ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
ХозрасчетныйОстатки.Субконто2 КАК Субконто2,
ХозрасчетныйОстатки.СуммаОстатокДт КАК СуммаОстатокДт
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&;Период, Счет = &;Счет, &;ВидыСубконто, ) КАК ХозрасчетныйОстатки

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

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

"
Если не можете сообразить как это сделать на одном уровне, то сделайте 2 вложенных запроса. По одному получите долги, а по другому авансы. Установите связь по контрагенту и считайте разницу.
Двумя вложенными запросами получается, но не совсем то что нужно, мне необходимо вывести все по 62.01-62.02, но может оказаться так что есть просто авансы на 62.02, их тоже нужно вывести в отчет. С Правым соединением как-то плохо выходи, помогите плз
"> С Правым соединением как-то плохо выходит
Полное соединение отменили уже? ;)
И не забывай в выражениях проверять значения на Null

естьnull(ДолгиКонтрагента.Остаток, 0) - естьnull(АвансыКонтрагента.Остаток, 0)"
Читают тему
(гостей: 1)

Быстрый переход