Как получить Значения из периодического регистра по дням (датам)
Доброго времени суток коллеги!
подскажите, не могу разобраться (гуглил мало что понял)
есть входящие параметры:
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 архивный
подскажите, не могу разобраться (гуглил мало что понял)
есть входящие параметры:
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 архивный
По теме из базы знаний
Найденные решения
Исправил немного:
ВЫБРАТЬ
ВложенныйЗапрос.Договор КАК Договор,
ВложенныйЗапрос.ДатаПогашения КАК ДатаПогашения,
ВложенныйЗапрос.СуммаПогашения КАК СуммаПогашения,
Статус.Статус КАК Статус
ИЗ
(ВЫБРАТЬ
ГрафикПогашения.Договор КАК Договор,
ГрафикПогашения.ДатаПогашения КАК ДатаПогашения,
ГрафикПогашения.СуммаПогашения КАК СуммаПогашения,
МАКСИМУМ(Статус.Период) КАК Период
ИЗ
РегистрСведений.ГрафикПогашения КАК ГрафикПогашения
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус) КАК Статус
ПО ГрафикПогашения.ДатаПогашения >= Статус.Период
И ГрафикПогашения.Договор = Статус.Договор
СГРУППИРОВАТЬ ПО
ГрафикПогашения.Договор,
ГрафикПогашения.ДатаПогашения,
ГрафикПогашения.СуммаПогашения) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Статус КАК Статус,
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус) КАК Статус
ПО ВложенныйЗапрос.ДатаПогашения = Статус.Период
И ВложенныйЗапрос.Договор = Статус.Договор
ВЫБРАТЬ
ВложенныйЗапрос.Договор КАК Договор,
ВложенныйЗапрос.ДатаПогашения КАК ДатаПогашения,
ВложенныйЗапрос.СуммаПогашения КАК СуммаПогашения,
Статус.Статус КАК Статус
ИЗ
(ВЫБРАТЬ
ГрафикПогашения.Договор КАК Договор,
ГрафикПогашения.ДатаПогашения КАК ДатаПогашения,
ГрафикПогашения.СуммаПогашения КАК СуммаПогашения,
МАКСИМУМ(Статус.Период) КАК Период
ИЗ
РегистрСведений.ГрафикПогашения КАК ГрафикПогашения
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус) КАК Статус
ПО ГрафикПогашения.ДатаПогашения >= Статус.Период
И ГрафикПогашения.Договор = Статус.Договор
СГРУППИРОВАТЬ ПО
ГрафикПогашения.Договор,
ГрафикПогашения.ДатаПогашения,
ГрафикПогашения.СуммаПогашения) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Статус КАК Статус,
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус) КАК Статус
ПО ВложенныйЗапрос.ДатаПогашения = Статус.Период
И ВложенныйЗапрос.Договор = Статус.Договор
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Добрый день!
Попробуйет вот так:
ВЫБРАТЬ
ВложенныйЗапрос.Договор КАК Договор,
ВложенныйЗапрос.ДатаПогашения КАК ДатаПогашения,
ВложенныйЗапрос.СуммаПогашения КАК СуммаПогашения,
Статус.Статус КАК Статус,
ИЗ
(ВЫБРАТЬ
ГрафикПогашения.Договор КАК Договор,
ГрафикПогашения.ДатаПогашения КАК ДатаПогашения,
ГрафикПогашения.СуммаПогашения КАК СуммаПогашения,
МАКСИМУМ(Статус.Период) КАК Период
ИЗ
РегистрСведений.ГрафикПогашения КАК ГрафикПогашения
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус
ПО ГрафикПогашения.Период >= Статус.Период
И ГрафикПогашения.Договор = Статус.Договор
СГРУППИРОВАТЬ ПО
ГрафикПогашения.Договор,
ГрафикПогашения.ДатаПогашения,
ГрафикПогашения.СуммаПогашения) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Статус КАК Статус,
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус
ПО ВложенныйЗапрос.Период = Статус.Период
И ВложенныйЗапрос.Договор = Статус.Договор
Попробуйет вот так:
ВЫБРАТЬ
ВложенныйЗапрос.Договор КАК Договор,
ВложенныйЗапрос.ДатаПогашения КАК ДатаПогашения,
ВложенныйЗапрос.СуммаПогашения КАК СуммаПогашения,
Статус.Статус КАК Статус,
ИЗ
(ВЫБРАТЬ
ГрафикПогашения.Договор КАК Договор,
ГрафикПогашения.ДатаПогашения КАК ДатаПогашения,
ГрафикПогашения.СуммаПогашения КАК СуммаПогашения,
МАКСИМУМ(Статус.Период) КАК Период
ИЗ
РегистрСведений.ГрафикПогашения КАК ГрафикПогашения
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус
ПО ГрафикПогашения.Период >= Статус.Период
И ГрафикПогашения.Договор = Статус.Договор
СГРУППИРОВАТЬ ПО
ГрафикПогашения.Договор,
ГрафикПогашения.ДатаПогашения,
ГрафикПогашения.СуммаПогашения) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Статус КАК Статус,
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус
ПО ВложенныйЗапрос.Период = Статус.Период
И ВложенныйЗапрос.Договор = Статус.Договор
Исправил немного:
ВЫБРАТЬ
ВложенныйЗапрос.Договор КАК Договор,
ВложенныйЗапрос.ДатаПогашения КАК ДатаПогашения,
ВложенныйЗапрос.СуммаПогашения КАК СуммаПогашения,
Статус.Статус КАК Статус
ИЗ
(ВЫБРАТЬ
ГрафикПогашения.Договор КАК Договор,
ГрафикПогашения.ДатаПогашения КАК ДатаПогашения,
ГрафикПогашения.СуммаПогашения КАК СуммаПогашения,
МАКСИМУМ(Статус.Период) КАК Период
ИЗ
РегистрСведений.ГрафикПогашения КАК ГрафикПогашения
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус) КАК Статус
ПО ГрафикПогашения.ДатаПогашения >= Статус.Период
И ГрафикПогашения.Договор = Статус.Договор
СГРУППИРОВАТЬ ПО
ГрафикПогашения.Договор,
ГрафикПогашения.ДатаПогашения,
ГрафикПогашения.СуммаПогашения) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Статус КАК Статус,
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус) КАК Статус
ПО ВложенныйЗапрос.ДатаПогашения = Статус.Период
И ВложенныйЗапрос.Договор = Статус.Договор
ВЫБРАТЬ
ВложенныйЗапрос.Договор КАК Договор,
ВложенныйЗапрос.ДатаПогашения КАК ДатаПогашения,
ВложенныйЗапрос.СуммаПогашения КАК СуммаПогашения,
Статус.Статус КАК Статус
ИЗ
(ВЫБРАТЬ
ГрафикПогашения.Договор КАК Договор,
ГрафикПогашения.ДатаПогашения КАК ДатаПогашения,
ГрафикПогашения.СуммаПогашения КАК СуммаПогашения,
МАКСИМУМ(Статус.Период) КАК Период
ИЗ
РегистрСведений.ГрафикПогашения КАК ГрафикПогашения
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус) КАК Статус
ПО ГрафикПогашения.ДатаПогашения >= Статус.Период
И ГрафикПогашения.Договор = Статус.Договор
СГРУППИРОВАТЬ ПО
ГрафикПогашения.Договор,
ГрафикПогашения.ДатаПогашения,
ГрафикПогашения.СуммаПогашения) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Статус.Статус КАК Статус,
Статус.Период КАК Период,
Статус.Договор КАК Договор
ИЗ
РегистрСведений.СтатусыДоговоров КАК Статус) КАК Статус
ПО ВложенныйЗапрос.ДатаПогашения = Статус.Период
И ВложенныйЗапрос.Договор = Статус.Договор
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот