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