В конфигурациях «1С:Управление торговлей 11», «1С:Комплексная автоматизация 2» и «1С:ERP 2» пользователи часто сталкиваются с ситуацией, когда регламентное задание по предварительному расчету себестоимости отрабатывает, создает документ, но в отчетах себестоимость проданных товаров остается нулевой. При этом окончательное закрытие месяца за тот же период отрабатывает корректно. Рассмотрим подробнее, почему так происходит, разберем внутренние механизмы системы и выясним, как добиться корректного отображения данных.
Для начала проанализируем, в чем заключается принципиальная разница между этими двумя режимами. Система 1С разделяет эти процессы для оптимизации производительности. Окончательный расчет — это ресурсоемкая операция, которая выполняется один раз в конце месяца, учитывая все нюансы: доп. расходы, сложные цепочки перепродаж (Intercompany), фактические цены поступления и партионный учет (если он включен). Предварительный расчет предназначен для оперативного получения оценочных данных в течение месяца.
Основное техническое различие кроется в месте хранения данных:
Стоимость товаров: Сюда записываются результаты предварительного расчета. Это не регистр накопления, он не делает «движений» в привычном понимании, а просто хранит актуальную цену единицы товара на определенный момент.Себестоимость товаров: В этом регистре отражаются только результаты окончательного расчета. Именно движения этого регистра мы привыкли видеть в большинстве стандартных отчетов.Разберем ситуацию, когда документ Расчет себестоимости товаров сформирован регламентным заданием, но в графе «Расход» отчета мы видим только количество. Причина кроется в алгоритмах построения самого отчета. Проанализируем логику системы: отчет настроен на работу с регистром накопления. Однако в нем прописано условие: если в системе отсутствует проведенный документ Расчет себестоимости товаров с типом операции «Фактический», то отчет пытается подтянуть данные из регистра сведений Стоимость товаров.
Если вы уже хотя бы один раз за текущий месяц запускали окончательное закрытие месяца (фактический расчет), отчет переключается на работу только с регистром накопления. Даже если вы потом удалите «фактический» документ, система может продолжать игнорировать предварительные данные из-за кэширования или специфики работы очереди заданий. Чтобы вернуть расчет предварительной себестоимости в отчет, необходимо убедиться, что за данный период нет ни одного проведенного документа окончательного расчета.
В отличие от отчета по себестоимости, отчет Валовая прибыль более гибок. Он специально спроектирован так, чтобы управленец мог видеть прибыль «здесь и сейчас», не дожидаясь конца месяца. Рассмотрим, как он работает: если данных в основном регистре себестоимости еще нет, он автоматически обращается к регистру сведений Стоимость товаров. Если вы видите прибыль в этом отчете, значит, предварительный расчет на самом деле работает, а проблема заключается лишь в настройках или выборе отчета для проверки.
Выясним причину, по которой регламентное задание может игнорировать документы реализации. Запуск расчета (как предварительного, так и окончательного) инициируется записями в техническом регистре Задания к расчету себестоимости. Каждое проведение документа (приход, расход, перемещение) создает запись в этой «очереди».
Иногда возникают ситуации, когда очередь «зависает». Например, если вы удалили документ окончательного расчета вручную, записи в очереди заданий могут не появиться автоматически. В этом случае регламентное задание запустится, увидит, что «заданий нет», и завершится за секунду, ничего не пересчитав. Чтобы исправить это, попробуйте перепровести документы за нужный период или воспользуйтесь обработкой для ручной регистрации заданий к расчету.
Проанализируем ситуации, когда предварительная себестоимость будет неточной или вовсе не рассчитается:
Передача товаров между организациями.Рассмотрим несколько подходов, которые используют специалисты для решения данной проблемы.
Подход 1: Использование только окончательного расчета
Если производительность сервера позволяет, можно отказаться от предварительного расчета и настроить регламентное задание на выполнение полного расчета себестоимости несколько раз в день. Это даст максимально точные данные в регистре накопления Себестоимость товаров, и все отчеты будут работать корректно.
Подход 2: Автоматизация «отката» расчета
Можно создать небольшую доработку или использовать внешнюю обработку, которая будет работать по следующему алгоритму:
Это позволит системе всегда держать регистр сведений Стоимость товаров в актуальном состоянии, а отчеты будут подтягивать данные оттуда, так как «фактический» расчет будет отсутствовать.
Для программистов будет полезно проверить содержимое регистра сведений напрямую. Если регламентное задание работает, то записи в нем должны обновляться. Посмотрим на структуру этого регистра. Основными измерениями являются АналитикаУчетаНоменклатуры и Организация, а ресурсами — Стоимость и СтоимостьБезНДС.
Вы можете использовать консоль запросов, чтобы убедиться, что данные попадают в этот регистр:
ВЫБРАТЬ
СтоимостьТоваров.Номенклатура,
СтоимостьТоваров.Организация,
СтоимостьТоваров.Стоимость,
СтоимостьТоваров.Период
ИЗ
РегистрСведений.СтоимостьТоваров КАК СтоимостьТоваров
ГДЕ
СтоимостьТоваров.Период >= &НачалоМесяца
Если запрос возвращает данные, значит, регламентное задание исправно выполняет свою функцию, и проблему следует искать исключительно в логике построения конкретного отчета или в наличии проведенных документов Расчет себестоимости товаров с типом «Фактический».
Подведем итог и составим план действий для исправления ситуации:
НСИ и администрирование -> Финансовый результат и контроллинг, включен ли флаг Рассчитывать предварительную себестоимость регламентным заданием.Расчет себестоимости товаров с установленным флагом «Окончательный расчет».Себестоимость товаров организаций, попробуйте переключиться на отчет Валовая прибыль для проверки корректности данных.Задания к расчету себестоимости. Если он пуст, а себестоимость не рассчитана — принудительно перепроведите документы реализации.Помните, что предварительный расчет — это лишь упрощенная модель. Для получения юридически значимых и финансово точных данных всегда требуется процедура Закрытие месяца, которая выполнит распределение всех затрат и окончательно сформирует финансовый результат предприятия.