CDB3-8946 Зміна логіки для поля martialLawDisclamer (умови під час дії військового стану)
Current state:
При публікації процедури LL* Організатор може передати в обʼєкті поле martialLawDisclaimer з одним із двох значень: true або false
АБО
НЕ передавати поле martialLawDisclaimer в обʼєкті процедури взагалі.
Якщо Організатор НЕ передає при публікації це поле, то ЦБД його заповнює автоматично - martialLawDisclaimer: true
Expected state:
При публікації процедури LL* Організатор може передати в обʼєкті поле martialLawDisclaimer з тільки одним можливим значенням: false
АБО
НЕ передавати поле martialLawDisclaimer в обʼєкті процедури взагалі.
Якщо Організатор НЕ передає при публікації це поле, то ЦБД його заповнює автоматично - martialLawDisclaimer: false
Правило має працювати для всіх обʼєктів, які будуть опубліковані з дати релізу.
Прилад перехідного етапу:
Дата події | Подія |
---|---|
01.02.2025 |
Опубліковано Процедуру LL*-1 з martialLawDisclaimer: true |
02.02.2025 |
Відбувся реліз, який забороняє публікувати нові обʼєкти з martialLawDisclaimer: true |
03.02.2025 |
Організатор редагує Процедуру LL*-1 і змінює будь-яке поле із доступних При надсиланні запиту Організатор отримає валідаційну помилку "martialLawDisclaimer: Value must be FALSE only" |
- ЦБД ніколи сама не змінює martialLawDisclaimer: true --> false
- Перевірка при створенні процедури
- Перевірка при редагуванні будь-якого поля на рівні процедури
- Не робимо перевірку при редагуванні вкладенних сутностей типу items чи documents
Бізнесовий опис:
В закон України про Оренду державного і комунального майна були внесені зміни і прибрана особливість оренди під час дії військового стану.
Дослівно: "Так в перехідних закону про оренду була норма про обмеження строку дії договорів, які укладалися під час ВС не більше ніж 12 міс після його припинення, норму прийняли 01.04.22, а виключили 30.05.2023р. Тому дійсно виглядає, що це поле більше не потрібне"
Погодження ТУТ (для історії)
Особливості:
Значення в полі martialLawDisclaimer напряму має вплив на логіку розрахунку білінгу. Бізнесовий опис ТУТ
Коли ми внесемо зміни і поле martialLawDisclaimer завжди буде мати значення false в нових процедурах, то білінг буде рахувати для тої кількості місяців, яку вказав Організатор.
Для прикладу:
- Якщо я публікую Аукціон де Строк оренди 8 місяців + martialLawDisclaimer: TRUE == білінг і протоколи розрахуються для 12 місяців
- Якщо я публікую Аукціон де Строк Оренди 8 місяців + martialLawDisclaimer: FALSE == білінг і протоколи розрахуються для 8 місяців
- Якщо я публікую Аукціон де Строк оренди 20 місяців - білінг і протоколи розрахуються для 12 місяців незалежно від martialLawDisclaimer: TRUE/FALSE
Після внесення змін сценарій 1. буде неможливий. Тобто, martialLawDisclaimer: FALSE завжди в нових процедурах і тоді може бути тільки 2. або 3. сценарій.
Тестові кейси є ТУТ