Вот я и пришел к выводу, что придется писать код
— для обновления промежуточных итогов
— для вытаскивания полных итогов, в с учетом наличия промежуточных
Думал, где-то это уже обобщили
Б>>Во-вторых, движение товаров может быть введено задним числом. Придется пересчитывать промежуточные итоги сразу за несколько периодов (тоже долго). MH>может, но это существенно реже чем ввод оперативных данных. MH>и пересчет идет обычно относительно небольшого количества конкретных позиций, что также ускоряет процесс до приемлемых времен.
Можно еще помечать промежуточные итоги как недействительные, а когда они понадобятся, то досчитывать их. Или отдельный сервис, который периодически пересчитывает промежуточные итоги.
Но тогда усложняется логика получения итоговых значений — дополнительно придется учитывать недействительные итоги.
MH>в БД есть материализованные вью, возможно их можно использовать для поддержки актуальности промежуточных итогов. MH>конкретно их не использовал, у нас с уровня приложения производился пересчет при корректировках задним числом.
А при движениях задним числом — сразу пересчитывали при добавлении движения, или отдельный сервис периодически?