01 / Ситуация
Изменение расходов не дошло до формулы
Рентабельность по клиенту рассчитывают отдельным запросом. Нормы часов обслуживания и постоянных расходов находятся в его тексте. Аренда или стоимость часа изменилась, но итог продолжает использовать прежнее значение.
Нормы хотят вынести из запроса, чтобы менять их без переписывания расчёта. Но тогда новая норма может примениться и к обслуживанию, которое было до изменения.
02 / Причина
Текущая оценка и расчёт за прошлые периоды — разные задачи
Текущая оценка
Сравнивает обслуживание клиентов с выбранной действующей нормой.
Исторический расчёт
Требует понимать, какая ставка относится к конкретному периоду работы.
Оба подхода полезны, но из подписи отчёта должно быть понятно, какой выбран. Простая замена числа в запросе не даст точности за прошлые месяцы: нужны даты действия норм и правило выбора.
03 / Подход
Проверяем норму внутри каждой суммы
Найти параметры
Разбираем, какие часы, ставки и постоянные расходы зафиксированы в запросе и кто сейчас меняет эти значения.
Уточнить дату изменения
Сопоставляем действующие условия и прежние нормы. Выясняем, какой месяц должен использоваться при оценке обслуживания клиента.
Вынести нормы из запроса
Определяем, где хранить нормы с периодами и как показать в отчёте, какая ставка применена.
04 / Нюансы
Что учесть
Обслуживание было до изменения аренды
Нужно решить, считать ли прошлую работу по прежним расходам или по текущей себестоимости. Если смешать оба подхода, сравнение теряет смысл.
Параметр вынесли в отдельное поле
Само поле не сохраняет смысл исторических значений. Проверяем, что произойдёт с прежними расчётами после очередной правки.
Отчёт пересчитали
Свежий запуск не обновляет норму: запрос со старым параметром снова посчитает по старым условиям.
05 / Первый шаг
Запрос и последнее изменение расходов
На одном клиенте разберём, какая норма вошла в итог и за какой период её применили.
- Текст расчёта и текущие параметры.
- Прежние и действующие нормы с датами.
- Период обслуживания выбранного клиента.
Согласуем, как менять нормы и как пересчитывать прошлые периоды, чтобы отчёт не менял смысл незаметно.