Как получить Значения из периодического регистра по дням (датам)

1. sandybaev 197 19.10.18 11:08 Сейчас в теме
Доброго времени суток коллеги!

подскажите, не могу разобраться (гуглил мало что понял)

есть входящие параметры:
1. Есть непериодический регистр - График погашения по договору
2. Есть периодический регистр - статусов договоров

График по договору записывается в регистр сведений очень похож на наш с вами "кредитный график"
Статус в течении периода (обычно месяцев) может менять свое значение с "активного" на "архивный"


Задача:
Как с помощью запроса (не СКД) получить результат где на каждую дату погашения будет свой статус:

Пример:

Есть договор №1 со своим графиком, где

ДатаПогашения Сумма
1. 01.01.2018 500
2. 01.02.2018 650
3. 01.03.2018 700
...

есть статус по договору №1
ДатаСтатуса Значение
1. 31.12.2017 Активный
2. 05.02.2018 Архивный


Результат должен быть таким:

1. 01.01.2018 500 активный
2. 01.02.2018 650 активный
3. 01.03.2018 700 архивный
+
По теме из базы знаний
Найденные решения
3. iliya2009 19.10.18 12:19 Сейчас в теме
Исправил немного:

ВЫБРАТЬ
ВложенныйЗапрос.Договор КАК Договор,
ВложенныйЗапрос.ДатаПогашения КАК ДатаПогашения,
ВложенныйЗапрос.СуммаПогашения КАК СуммаПогашения,
Статус.Статус КАК Статус
ИЗ
(ВЫБРАТЬ
ГрафикПогашения.Договор КАК Договор,
ГрафикПогашения.ДатаПогашения КАК ДатаПогашения,
ГрафикПогашения.СуммаПогашения КАК СуммаПогашения,
МАКСИМУМ(Статус.Период) КАК Период
ИЗ
РегистрСведений.ГрафикПогашения КАК ГрафикПогашения
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус) КАК Статус
ПО ГрафикПогашения.ДатаПогашения >= Статус.Период
И ГрафикПогашения.Договор = Статус.Договор

СГРУППИРОВАТЬ ПО
ГрафикПогашения.Договор,
ГрафикПогашения.ДатаПогашения,
ГрафикПогашения.СуммаПогашения) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Статус КАК Статус,
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус) КАК Статус
ПО ВложенныйЗапрос.ДатаПогашения = Статус.Период
И ВложенныйЗапрос.Договор = Статус.Договор
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. iliya2009 19.10.18 12:11 Сейчас в теме
Добрый день!
Попробуйет вот так:

ВЫБРАТЬ
ВложенныйЗапрос.Договор КАК Договор,
ВложенныйЗапрос.ДатаПогашения КАК ДатаПогашения,
ВложенныйЗапрос.СуммаПогашения КАК СуммаПогашения,
Статус.Статус КАК Статус,
ИЗ
(ВЫБРАТЬ
ГрафикПогашения.Договор КАК Договор,
ГрафикПогашения.ДатаПогашения КАК ДатаПогашения,
ГрафикПогашения.СуммаПогашения КАК СуммаПогашения,
МАКСИМУМ(Статус.Период) КАК Период
ИЗ
РегистрСведений.ГрафикПогашения КАК ГрафикПогашения
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус
ПО ГрафикПогашения.Период >= Статус.Период
И ГрафикПогашения.Договор = Статус.Договор

СГРУППИРОВАТЬ ПО
ГрафикПогашения.Договор,
ГрафикПогашения.ДатаПогашения,
ГрафикПогашения.СуммаПогашения) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Статус КАК Статус,
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус
ПО ВложенныйЗапрос.Период = Статус.Период
И ВложенныйЗапрос.Договор = Статус.Договор
+
3. iliya2009 19.10.18 12:19 Сейчас в теме
Исправил немного:

ВЫБРАТЬ
ВложенныйЗапрос.Договор КАК Договор,
ВложенныйЗапрос.ДатаПогашения КАК ДатаПогашения,
ВложенныйЗапрос.СуммаПогашения КАК СуммаПогашения,
Статус.Статус КАК Статус
ИЗ
(ВЫБРАТЬ
ГрафикПогашения.Договор КАК Договор,
ГрафикПогашения.ДатаПогашения КАК ДатаПогашения,
ГрафикПогашения.СуммаПогашения КАК СуммаПогашения,
МАКСИМУМ(Статус.Период) КАК Период
ИЗ
РегистрСведений.ГрафикПогашения КАК ГрафикПогашения
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус) КАК Статус
ПО ГрафикПогашения.ДатаПогашения >= Статус.Период
И ГрафикПогашения.Договор = Статус.Договор

СГРУППИРОВАТЬ ПО
ГрафикПогашения.Договор,
ГрафикПогашения.ДатаПогашения,
ГрафикПогашения.СуммаПогашения) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Статус КАК Статус,
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус) КАК Статус
ПО ВложенныйЗапрос.ДатаПогашения = Статус.Период
И ВложенныйЗапрос.Договор = Статус.Договор
+
4. sandybaev 197 19.10.18 12:57 Сейчас в теме
спасибо заработало, переделал немного но суть да верно
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот