0
altaykniga
14.11.16
✎
18:40
|
Привет всем. Есть отчет на СКД ЗаказыПокупателей+Оплата+Отгрузки.
Необходимо задать условие, чтобы выходили только записи, если итоговое значение(по контрагенту) СуммаЗадолженностиКонтрагента>&СуммаЗадолженности.
Как этого добиться? Сейчас данное условие/отбор срабатывает на сумму документа ЗаказПокупателя, т.е. выходят все документы, где суммаДокумента>&СуммаЗадолженности. А необходимо сравнивать с &СуммаЗадолженности общий долг контрагента. Ниже приведен текст запроса:
ВЫБРАТЬ
ВЫБОР
КОГДА запр.ЗаказПокупателя ЕСТЬ NULL
ТОГДА запр.ЗаказПокупателя1.Контрагент
ИНАЧЕ запр.ЗаказПокупателя.Контрагент
КОНЕЦ КАК Контрагент,
ВЫБОР
КОГДА запр.ЗаказПокупателя ЕСТЬ NULL
ТОГДА НАЧАЛОПЕРИОДА(запр.ЗаказПокупателя1.Дата, ДЕНЬ)
ИНАЧЕ НАЧАЛОПЕРИОДА(запр.ЗаказПокупателя.Дата, ДЕНЬ)
КОНЕЦ КАК Дата,
ВЫБОР
КОГДА запр.ЗаказПокупателя ЕСТЬ NULL
ТОГДА запр.ЗаказПокупателя1
ИНАЧЕ запр.ЗаказПокупателя
КОНЕЦ КАК ЗаказПокупателя,
запр.СуммаСчета КАК СуммаСчета,
запр.СуммаОплаты КАК СуммаОплаты,
запр.суммаРеализации КАК суммаРеализации,
запр.СуммаЗадолженностиКлиента КАК СуммаЗадолженностиКлиента
ИЗ
(ВЫБРАТЬ
ОплатаСчетовИЗаказовОбороты.СчетНаОплату КАК ЗаказПокупателя,
ОплатаСчетовИЗаказовОбороты.СуммаОборот КАК СуммаСчета,
ОплатаСчетовИЗаказовОбороты.СуммаАвансаОборот + ОплатаСчетовИЗаказовОбороты.СуммаОплатыОборот КАК СуммаОплаты,
РасчетыСПокупателямиОбороты.СуммаОборот КАК суммаРеализации,
РасчетыСПокупателямиОбороты.СуммаОборот - ОплатаСчетовИЗаказовОбороты.СуммаАвансаОборот - ОплатаСчетовИЗаказовОбороты.СуммаОплатыОборот КАК СуммаЗадолженностиКлиента,
РасчетыСПокупателямиОбороты.Заказ КАК ЗаказПокупателя1
ИЗ
РегистрНакопления.ОплатаСчетовИЗаказов.Обороты КАК ОплатаСчетовИЗаказовОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСПокупателями.Обороты(, , , ) КАК РасчетыСПокупателямиОбороты
ПО ((ВЫРАЗИТЬ(ОплатаСчетовИЗаказовОбороты.СчетНаОплату КАК Документ.ЗаказПокупателя)) = РасчетыСПокупателямиОбороты.Заказ)
ГДЕ
ОплатаСчетовИЗаказовОбороты.СчетНаОплату ССЫЛКА Документ.ЗаказПокупателя
И ОплатаСчетовИЗаказовОбороты.СуммаОборот - ОплатаСчетовИЗаказовОбороты.СуммаАвансаОборот - ОплатаСчетовИЗаказовОбороты.СуммаОплатыОборот > 0) КАК запр
{ГДЕ
(ВЫБОР
КОГДА запр.ЗаказПокупателя ЕСТЬ NULL
ТОГДА запр.ЗаказПокупателя1.Дата
ИНАЧЕ запр.ЗаказПокупателя.Дата
КОНЕЦ >= НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ), ВЫБОР
КОГДА запр.ЗаказПокупателя ЕСТЬ NULL
ТОГДА запр.ЗаказПокупателя1.Дата
ИНАЧЕ запр.ЗаказПокупателя.Дата
КОНЕЦ <= КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ))}
УПОРЯДОЧИТЬ ПО
ВЫБОР
КОГДА запр.ЗаказПокупателя ЕСТЬ NULL
ТОГДА запр.ЗаказПокупателя1.Контрагент.Наименование
ИНАЧЕ запр.ЗаказПокупателя.Контрагент.Наименование
КОНЕЦ,
ВЫБОР
КОГДА запр.ЗаказПокупателя ЕСТЬ NULL
ТОГДА НАЧАЛОПЕРИОДА(запр.ЗаказПокупателя1.Дата, ДЕНЬ)
ИНАЧЕ НАЧАЛОПЕРИОДА(запр.ЗаказПокупателя.Дата, ДЕНЬ)
КОНЕЦ
|
|