Итак, коллеги, давайте разберемся, как можно расчитать оборачиваемость товара в системе 1С. Будем расматривать на конфигурации УТ 10, УПП
Формула расчета оборачиваемости в днях = Средние остатки * количество дней в периоде/Товароооборот за период:
Итак:
1. Самый простой способ расчета (прост в исполнении, прост в реализации и прост с учетом нагрузки на систему) можно сделать так: (((Остаток на начало + Остаток на конец)/2) * Количество дней)/Продажи. Данный способ расчета самый простой, но не "совсем" точный.
2. Самы точный это расчет среднего остатка (Сред ( остатки товара на каждый день в периоде) * Количество дней)/Продажи. Данный метод сложнее в реализации тем, что мы должны рассчитывать остатки на каждый день. Если мы хотим подсчитать за месяц - ничего, а если мы хотим расчитать за год, то это идет нагрузка на систему.
Хочу предоставить вам расчет среднего (точный расчет) без расчета остатка на каждый день. Пример расчета среднего склада выкладываю в EXL. Теперь немного описании расчета данного примера в рамках 1С запроса:
ВЫБРАТЬ
ОстаткиТоваровКомпанииОстатки.Номенклатура,
-1 * ОстаткиТоваровКомпанииОстатки.КоличествоОстаток * РАЗНОСТЬДАТ(&Дата01011900, &НачДата, ДЕНЬ) КАК БаксоДни
ПОМЕСТИТЬ ТЗОстаткиШтукоДни
ИЗ
РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&НачДата, ) КАК ОстаткиТоваровКомпанииОстатки
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ОстаткиТоваровКомпанииОстатки.Номенклатура,
ОстаткиТоваровКомпанииОстатки.КоличествоОстаток * РАЗНОСТЬДАТ(&Дата01011900, &КонДата, ДЕНЬ)
ИЗ
РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&КонДата,) КАК ОстаткиТоваровКомпанииОстатки
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ОстаткиТоваровКомпании.Номенклатура,
СУММА(ВЫБОР
КОГДА ОстаткиТоваровКомпании.ВидДвижения = &ВидВдиженияРасход
ТОГДА ОстаткиТоваровКомпании.Количество * РАЗНОСТЬДАТ(&Дата01011900, ОстаткиТоваровКомпании.Период, ДЕНЬ)
ИНАЧЕ -1 * ОстаткиТоваровКомпании.Количество * РАЗНОСТЬДАТ(&Дата01011900, ОстаткиТоваровКомпании.Период, ДЕНЬ)
КОНЕЦ)
ИЗ
РегистрНакопления.ПартииТоваровКомпании КАК ОстаткиТоваровКомпании
ГДЕ
ОстаткиТоваровКомпании.Период МЕЖДУ &НачДата И &КонДата
СГРУППИРОВАТЬ ПО
ОстаткиТоваровКомпании.Номенклатура
;
ВЫБРАТЬ
ТЗОстаткиШтукоДни.Номенклатура,
СУММА(ТЗОстаткиШтукоДни.БаксоДни) КАК ШтукоДни,
СУММА(ТЗОстаткиШтукоДни.БаксоДни) / РАЗНОСТЬДАТ(&НачДата, &КонДата, ДЕНЬ) КАК СреднийСклад,
ИЗ
ТЗОстаткиШтукоДни КАК ТЗОстаткиШтукоДни
Немного описания
РАЗНОСТЬДАТ(&Дата01011900, &НачДата, ДЕНЬ) использовна дата = 01.01.1900 как точка отсчета (в EXL, если число умножить на дату, дата переводится в разность в днях между датой и датой 01.01.1900).
&ВидВдиженияРасход = ВидДвижения.Расход
Данный пример показывает расчет среднего остатка в количественном выражении. Для того, чтобы перевести в деньги, умножьте на продажную цену товара. Таким же макаром можно посчитать среднюю ДЗ (дебиторскую задолженность) ил КЗ (кредиторскую задолженность).
Краткое описание XL файла
на 01.04.2011 остаток склада 3000 в денежном выражении
01.04.2011 поступает товар в размере 1000 денежных единиц
16.04.2011 происходит расход товара -2000 денежныхединиц
на 01.05.2011 остаток склада 2000 денежных единиц.
формулы в ячейках скажут сами за себя.
Спасибо за внимание.