Решил попробовать в задачке использовать регистр расчетов и запутался с ним.
Задача: вести учет займов - выдача (траншами), начисление процентов, пеней, платежей, реструктуризации.
Но пока не могу до конца понять как его правильно использовать, т.к. в большинстве случаев, работа с записями регистра, подразумевает что у них есть период действия, то в случае с изменениями сумм их быть не может, и получается что проще использовать регистр сведений или накоплений.
Попробуем по порядку:
Сам документ у меня содержит основную сумму, ставку и процент для первоначального расчёта графика платежей.
В отдельных регистрах храню историю их изменений, так же как версию графика и сам график платежей.
В регистре расчета хочу отражать только движение фактических сумм.
Например: если выдача займа делается несколькими траншами, то проценты должны начисляться только на фактически выданную сумму (при этом у документа общая сумма займа не меняется) - один из моментов почему решил использовать регистр расчета.
Регистр расчета:
1. Для этого создаю регистр с одним измерением - Займ (ссылка на документ) и ресурсом "Сумма".
2. Т.к. начисление процентов зависит от основного долга (одно начисление от другого), пени зависят от разницы между начисленным платежом и суммой гашения) - ставлю в настройках галку "Базовый период" - тогда в настройках ПВР (планы видов расчета) появляется зависимость от базы.
3. Ставлю галку "Период действия", что бы была возможность делать виды расчета с вытеснением.
Регистр расчета просит указать график - т.к. наличие праздников на расчеты не влияют, то для графика создаю регистр, где на каждую Дату Значение графика = 1.
План видов расчета:
4. Создаю ПВР с настройками "использует период действия" - нужно что бы было "вытеснение".
Зависимость от базы - по периоду действий - и указываю в базовые планы самого себя.
5. Создаю виды расчетов (как сам их понимаю): Основной долг
Вытесняющие: корректировка, реструктуризация. (Корректировка - как раз отражает транши); выдали транш - начинает действовать новая сумма основного долга с даты записи
Ведущие - корректировка.
Вот тут уже поплыл - как регистр себя ведет:
Нужно пересчитывать основной долг в строке? Корректировка сама разобьет основной долг на две строки по периодам действия? Или не трогать, и он будет просто браться из корректировки?
Если две корректировки без даты окончания, они будут друг друга перекрывать?
Проценты
Базовые: Основной долг Будут ли учитываться корректировки?
Ведущие: корректировка Если была введена корректировка основного долга за прошлый периоды, то по идее должны пересчитатся последующие проценты.
С периодом действия тут ещё куда понятней - период действия, по сути период за который происходит начисление процентов. За январь - столько-то, за февраль столько-то. Саму ставку для расчета будет брать из регистра сведений по периоду.
Пени
Базовые: проценты, основной долг, гашение процентов, гашение тела;
Ведущие: корректировка; логику расчета пени пока упустил, просто указал от чего зависит.
ГашениеТела ГашениеПроцентов
Ни базовых, ни вытесняющих, ни ведущих - т.к. отражает только факт гашения. Когда и сколько, согласно проводкам.
Реструктуризация
Вытесняющие: Корректировка
Сам вид расчета нужен для обнуления пеней, начисленных процентов, изменения основной суммы долга.
Корректировка
Вытесняющие: Реструктуризация
Вид расчета для исправления ручных ошибок, задним числом - например ошиблись и не ту сумму вбили при реструктуризации. Так же - отражение траншей.
Собственно насколько верна логика построения ПВР и регистра?
И все движения по регистру прописываю вручную?
Например первоначальное оформление:
Вид расчета: Основной долг, Сумма: 1000
Нужно ли у строки указывать период действия?
В догонку вопрос.
Если я периодичность регистра расчета задаю месяц, а займ например выдается на 12 месяцев.
То мне нужно собирать код, который сделает мне запись на каждый расчетный период?
С базовым периодом понятно - весь срок действия займа... хотя не понятно, если период действия нужно разбивать по периодам расчета, то нужно ли разбивать базовый период? Правильно понимаю, что , в принципе, мне база вернется та, которую я запрошу на конкретный день - т.е. попадет в базовый период записи, и не задублирует, т.к. период действия остальных 11 записей не действуют... ?