ТекстОсновнойЗапрос="";
Если УчитыватьФактическиеЗадолженности Тогда
ТекстОсновнойЗапрос=ТекстОсновнойЗапрос+"
|ОБЪЕДИНИТЬ ВСЕ
// Из регистра "ВзаиморасчетыСКонтрагентами" выбираем задолженности по договорам, не ведущимся по расчетным документам
|ВЫБРАТЬ // Выбираем задолженности по договорам, ведущимся по расчетным документам или по заказам
| &ПараметрФактические КАК ТипЗадолженности,
| РасчетыСКонтрагентамиОстатки.ДоговорКонтрагента КАК ДоговорКонтрагента,
| РасчетыСКонтрагентамиОстатки.Сделка КАК Сделка,
| Неопределено КАК ДокументРасчетовСКонтрагентом,
| РасчетыСКонтрагентамиОстатки.Сделка.Дата КАК ДатаВозникновения,
| РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток"+?(ТипЗадолженности="<0","*(-1)","")+" КАК СуммаВзаиморасчетов,
| КурсыДоговоры.Курс КАК КурсВзаиморасчетов,
| КурсыДоговоры.Кратность КАК КратностьВзаиморасчетов,
| ВЫРАЗИТЬ
| (ВЫБОР
| КОГДА РасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов=&ВалютаДокумента
| ТОГДА РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток"+?(ТипЗадолженности="<0","*(-1)","")+"
| КОГДА НЕ РасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов=&ВалютаДокумента
| И НЕ КурсыДоговоры.Курс=0
| И НЕ &КурсДокумента=0
| ТОГДА РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток"+?(ТипЗадолженности="<0","*(-1)","")+"*КурсыДоговоры.Курс * &КратностьДокумента
| / (&КурсДокумента * КурсыДоговоры.Кратность)
| ИНАЧЕ
| 0
| КОНЕЦ КАК ЧИСЛО (15,2)) КАК СуммаПлатежа,
| ЛОЖЬ КАК ДвиженияДокумента
| ИЗ
| РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(, Контрагент=&Контрагент
|"+?(ЗначениеЗаполнено(Организация)," И (Организация=&Организация ИЛИ Организация=&ПустаяОрганизация)","")+"
| И ДоговорКонтрагента.ВидДоговора В ИЕРАРХИИ (&ВидДоговора)
| И НЕ ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом
| И (ДоговорКонтрагента.ВедениеВзаиморасчетов = &ПоЗаказам
| ИЛИ ДоговорКонтрагента.ВедениеВзаиморасчетов = &ПоСчетам"+ДопСтрокаОтборов+")) КАК РасчетыСКонтрагентамиОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаПлатежа, ) КАК КурсыДоговоры
| ПО РасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов = КурсыДоговоры.Валюта
|
| ГДЕ
| (РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток "+ТипЗадолженности+")
| ОБЪЕДИНИТЬ ВСЕ
| ВЫБРАТЬ // Выбираем задолженности по договорам, ведущимся по договору в целом
| &ПараметрФактические КАК ТипЗадолженности,
| РасчетыСКонтрагентамиОстатки.ДоговорКонтрагента,
| РасчетыСКонтрагентамиОстатки.Сделка,
| Неопределено КАК ДокументРасчетовСКонтрагентом,
| ПоследнееДвижение.Период КАК ДатаВозникновения,
| РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток"+?(ТипЗадолженности="<0","*(-1)","")+",
| КурсыДоговоры.Курс,
| КурсыДоговоры.Кратность,
| ВЫРАЗИТЬ
| (ВЫБОР
| КОГДА РасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов=&ВалютаДокумента
| ТОГДА РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток"+?(ТипЗадолженности="<0","*(-1)","")+"
| КОГДА НЕ РасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов=&ВалютаДокумента
| И НЕ КурсыДоговоры.Курс=0
| И НЕ &КурсДокумента=0
| ТОГДА РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток"+?(ТипЗадолженности="<0","*(-1)","")+"*КурсыДоговоры.Курс * &КратностьДокумента
| / (&КурсДокумента * КурсыДоговоры.Кратность)
| ИНАЧЕ
| 0
| КОНЕЦ КАК ЧИСЛО (15,2)) КАК СуммаПлатежа,
| ЛОЖЬ КАК ДвиженияДокумента
| ИЗ
| РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(, Контрагент=&Контрагент
|"+?(ЗначениеЗаполнено(Организация)," И (Организация=&Организация ИЛИ Организация=&ПустаяОрганизация)","")+"
| И ДоговорКонтрагента.ВидДоговора В ИЕРАРХИИ (&ВидДоговора)
| И НЕ ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом
| И ДоговорКонтрагента.ВедениеВзаиморасчетов=&ПоДоговоруВЦелом"+ДопСтрокаОтборов+") КАК РасчетыСКонтрагентамиОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаПлатежа, ) КАК КурсыДоговоры
| ПО РасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов = КурсыДоговоры.Валюта
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| МАКСИМУМ(РасчетыСКонтрагентами.Период) КАК Период,
| РасчетыСКонтрагентами.ДоговорКонтрагента КАК ДоговорКонтрагента
| ИЗ
| РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК РасчетыСКонтрагентами
| ГДЕ РасчетыСКонтрагентами.Активность=Истина
| И РасчетыСКонтрагентами.ВидДвижения=&ВидДвижения
|
| СГРУППИРОВАТЬ ПО
| РасчетыСКонтрагентами.ДоговорКонтрагента) КАК ПоследнееДвижение
| ПО РасчетыСКонтрагентамиОстатки.ДоговорКонтрагента = ПоследнееДвижение.ДоговорКонтрагента
| ГДЕ
| (РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток "+ТипЗадолженности+")
// Из регистра "ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов" выбираем задолженности по договорам, ведущимся по расчетным документам
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ //
| &ПараметрФактические КАК ТипЗадолженности,
| РасчетыСКонтрагентамиОстатки.ДоговорКонтрагента КАК ДоговорКонтрагента,
| РасчетыСКонтрагентамиОстатки.Сделка КАК Сделка,
| РасчетыСКонтрагентамиОстатки.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом,
| РасчетыСКонтрагентамиОстатки.ДокументРасчетовСКонтрагентом.Дата КАК ДатаВозникновения,
| РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток"+?(ТипЗадолженности="<0","*(-1)","")+" КАК СуммаВзаиморасчетов,
| КурсыДоговоры.Курс КАК КурсВзаиморасчетов,
| КурсыДоговоры.Кратность КАК КратностьВзаиморасчетов,
| ВЫРАЗИТЬ
| (ВЫБОР
| КОГДА РасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов=&ВалютаДокумента
| ТОГДА РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток"+?(ТипЗадолженности="<0","*(-1)","")+"
| КОГДА НЕ РасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов=&ВалютаДокумента
| И НЕ КурсыДоговоры.Курс=0
| И НЕ &КурсДокумента=0
| ТОГДА РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток"+?(ТипЗадолженности="<0","*(-1)","")+"*КурсыДоговоры.Курс * &КратностьДокумента
| / (&КурсДокумента * КурсыДоговоры.Кратность)
| ИНАЧЕ
| 0
| КОНЕЦ КАК ЧИСЛО (15,2)) КАК СуммаПлатежа,
| ЛОЖЬ КАК ДвиженияДокумента
| ИЗ
| РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(, Контрагент=&Контрагент
|"+?(ЗначениеЗаполнено(Организация)," И (Организация=&Организация ИЛИ Организация=&ПустаяОрганизация)","")+"
| И ДоговорКонтрагента.ВидДоговора В ИЕРАРХИИ (&ВидДоговора)
| "+ДопСтрокаОтборов+") КАК РасчетыСКонтрагентамиОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаПлатежа, ) КАК КурсыДоговоры
| ПО РасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов = КурсыДоговоры.Валюта
|
| ГДЕ
| (РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток "+ТипЗадолженности+")
|";
КонецЕсли;
Показать