Алгоритм расчета.
1. Количество дней на остатке - сумма наличия товара. По каждому дню проверяем наличие товара на остатке. Если позиция была на начало дня и на конец дня (остаток >0), то наличие = 1. Если позиция на начало дня > 0, но на конец дня = 0 или на начало дня = 0 и на конец дня > 0, то наличие в этот день равно 1/2. Если позиция отсутствовала на начало дня и на конец дня, то наличие = 0.
2. Средний остаток в периоде. Суммируется остатки товара на начало дня и конец дня по каждому дню из выбранного периода. Получившаяся сумма делится на (2*количество дней в периоде);
3. Скорость продаж = Продажи за период / Количество дней на остатке.
4. Средняя оборачиваемость = Средний остаток в периоде / (продажи за период / количество дней в периоде).
5. Оборачиваемость на конец периода = остаток на конец периода / (продажи за период / количество дней в периоде).
6. Если продаж за период нет, то оборачиваемость бесконечна, но подстановка числа типа 9999 засоряет отчет и дает большие значения для групп, поэтому в этом случае устанавливается в 0.
Решения для повышения производительности.
1. Количество дней на остатке и Средний остаток в периоде рассчитываются не за каждый день, а периодами с одинаковыми остатками.
2. Применяются временные таблицы. Конструкция ВЫБРАТЬ РАЗРЕШЕННЫЕ используется только в одном запросе к регистрам продаж и остатков. Временные таблицы удаляются по мере их использования.
Сортировка и оформление
1. Сортировка по убыванию скорости продаж.
2. Зеленый цвет - конечный остаток > 0 и продажи > 0. Красный цвет конечный остаток = 0 и продажи > 0
Отличия:
1. Учитываются случаи отсутствия товара на границах периода.
2. Можно выводить все позиции и только проданные за период (параметр "Вывести позиции").
3. Существенно повышена скорость выполнения.
4. Группировки можно свернуть до нужного уровня. Для этого в расширении достаточно в форму отчета вставить кнопку и команду в модуль формы.
Прочее.
1. Отчет тестировался на УТ 11.1.5, 11.1.9, 11.2.3, 11.4.12.
2. В последнем запросе можно выбрать АналитикуУчетаНоменклатуры, а также связать с категориями и характеристиками, особенно по группам товаров-субститутов.
3. По данным отчета можно вычислить коэффициент уходимости, время "жизни на полке" и прочие маркетингово-логистические показатели.