В работе с программой 1С:Управление торговлей 11.4 (а также в ERP и Комплексной автоматизации) пользователи часто сталкиваются с ситуацией, когда отчет "Валовая прибыль предприятия" начинает показывать "космические" цифры себестоимости. Особенно странно это выглядит, когда в одном месяце данные корректны, а в следующем — суммы реализации завышаются в разы без видимых на то причин (отсутствие дополнительных расходов или изменения цен поставщиков). Разберем по шагам, почему это происходит и как работает механизм предварительного расчета.
Для начала проанализируем, как система 1С:УТ 11 подходит к оценке стоимости товаров. В программе реализовано два принципиально разных механизма:
Закрытие месяца. Только этот расчет учитывает реальные партии (при ФИФО), дополнительные расходы (ТЗР), корректно распределяет возвраты и перемещения между складами.Рассмотрим ситуацию автора темы: в декабре данные были верны, а в январе — искажены. Главная причина кроется в том, что процедура Закрытие месяца не выполнялась никогда. Посмотрим, к чему это приводит на уровне регистров.
Основным источником данных для всех отчетов по прибыли является регистр накопления СебестоимостьТоваров. Когда мы проводим документ реализации, система делает запись в этот регистр. Если месяц не закрыт, программа не может определить точную стоимость списания и записывает в регистр "предварительные" данные.
Выясним причину завышения цифр в январе. Предварительный расчет за текущий месяц (январь) всегда опирается на входящие остатки, которые были сформированы в предыдущем месяце (декабре). Если декабрь не был закрыт фактически, то система берет за основу предварительные итоги декабря. Если в декабре была хоть одна корректировка, возврат или перемещение, которые не были "схлопнуты" итоговым расчетом, в регистре накапливаются стоимостные "хвосты".
Проанализируем ситуацию на примере: На складе осталась 1 единица товара с предварительной стоимостью 100 рублей. В январе вы закупаете еще 1 единицу за 200 рублей. При отсутствии закрытия декабря система может некорректно учесть предыдущие движения (например, не списать стоимость при возврате), и накопленная "ошибочная" сумма добавится к стоимости нового прихода. В итоге средняя цена одной единицы может вырасти до тысяч процентов.
Многие пользователи ошибочно полагают, что если им не нужен бухгалтерский баланс, то и Закрытие месяца делать не обязательно. Однако в 1С:УТ 11 это техническая необходимость. Рассмотрим, что именно делает программа при закрытии:
ВыручкаИСебестоимостьПродаж, на основе которого строится отчет "Валовая прибыль".Если закрытие не делается, записи в регистре СебестоимостьТоваров остаются со статусом "Предварительный". Предварительный расчет последующего месяца "не видит" реальной картины и начинает "умножать сущности", что и приводит к завышению цифр.
Выясним, как восстановить корректный учет. К сожалению, просто запустить расчет за текущий месяц недостаточно. Процесс должен быть последовательным:
Финансовый результат и контроллинг — Закрытие месяца. Выберите самый ранний незакрытый месяц и запустите выполнение операций.Фоновый расчет себестоимости. Но помните: его данные станут достоверными только после того, как будет закрыт предыдущий месяц.Если вы решите программно анализировать движения, обратите внимание на структуру регистра СебестоимостьТоваров. Важные поля, которые влияют на расчет:
РазделУчета — определяет, к чему относится запись (товары на складах, товары в пути и т.д.).ВидЗапасов — критически важный аналитический разрез, по которому часто "разъезжается" себестоимость, если используются механизмы Интеркампани.Стоимость и СтоимостьБезНДС — именно эти ресурсы анализирует отчет по валовой прибыли.Посмотрим на пример логики, которую использует система при расчете среднего значения (упрощенно):
// Логика предварительного расчета (упрощенная модель)
СтоимостьОстаткаНаНачало = РегистрСебестоимость.Остатки(НачалоМесяца);
СтоимостьПрихода = РегистрСебестоимость.Обороты(НачалоМесяца, КонецПериода, "Приход");
КоличествоИтого = ОстатокКолНаНачало + ПриходКол;
СредняяЦена = (СтоимостьОстаткаНаНачало + СтоимостьПрихода) / КоличествоИтого;
СтоимостьСписания = СредняяЦена * КоличествоПродажи;
Важный момент: если СтоимостьОстаткаНаНачало содержит ошибки из-за отсутствия закрытия прошлого месяца, то и СредняяЦена в текущем месяце будет абсолютно неверной. Именно это мы и наблюдаем в ситуации автора: "хвосты" из декабря перекочевали в расчет января.
Для корректной работы отчетов по прибыли в 1С:УТ 11.4 необходимо придерживаться следующих правил:
Таким образом, "непонятные цифры" — это не сбой программы, а следствие нарушения цепочки расчетов. После выполнения закрытия декабря, цифры в январе автоматически придут в норму.