v0.1.8
Исправлено
- Тихий недосчёт в агрегатах устранён системно. Аналитика занижала годовые
итоги на «шумных» базах: выборки стояли под общимODATA_MAX_ROWS=1000, и при1000 документов хвост периода молча отбрасывался (выплаты ИП за год — на ~3 млн
₽; затронуты иget_sales,get_cashflow,get_debtors,get_inventory).
Введён единый безопасный путь агрегации (src/odata/aggregate.ts): высокий
потолокODATA_ANALYTICS_MAX_ROWS(200000), и вместо тихой обрезки — громкая
ошибка при переполнении либо авто-чанкинг по месяцам (большой период
досчитывается полностью по окнам). Также:get_debtors/get_inventoryсчитали
общий итог только по показанным top-N строкам — теперь по всем. - Деньги в аналитике суммируются в целых копейках (без float-дрейфа на тысячах
сумм).
Добавлено
- Поля
from/to/asOfвалидируются как дата YYYY-MM-DD (формат + диапазон
месяца/дня) + проверкаfrom ≤ to; раньше кривая дата уходила в OData как есть. - В ответах аналитики — блок
scan(documentsScanned/windows/elapsedMs):
видно, что выборка полная и сколько просканировано.
Изменено
- Выборки по типам документов в
get_payments_breakdown/get_cashflowидут
параллельно (быстрее на больших периодах).
Удалено
- Неиспользуемый
odataDateTime(латентный UTC-сдвиг даты).