Почему возникает отрицательная себестоимость в 1С:УТ 11 и как ее исправить

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При ведении учета в программе 1С:Управление торговлей 11 пользователи периодически сталкиваются с ситуацией, когда процедура закрытия месяца выполнена без системных ошибок (все регламентные операции отмечены зелеными индикаторами), однако в отчете Валовая прибыль предприятия по отдельным позициям номенклатуры отображается отрицательная себестоимость. Разберем логику расчета себестоимости, выясним причины искажения данных и рассмотрим практические способы устранения проблемы.

Принцип расчета себестоимости за месяц

В конфигурации 1С:УТ 11 расчет себестоимости выполняется в рамках процедуры закрытия месяца регламентным заданием или обработкой Закрытие месяца. Себестоимость рассчитывается с учетом всех поступлений и перемещений за отчетный месяц, а не только по тем закупкам, по которым были зафиксированы продажи. Программа формирует стоимостные оценки по средней за месяц или по методу ФИФО (скользящая/взвешенная оценка) в зависимости от выбранной учетной политики.

В системе параллельно рассчитываются два вида стоимости:

  1. Регламентированная стоимость — формируется в соответствии с правилами регламентированного учета по организации.
  2. Управленческая стоимость — рассчитывается для целей управленческого учета предприятия в целом с учетом межфирменных взаиморасчетов (Интеркампани).

Причины возникновения отрицательной себестоимости

Проанализируем основные факторы, приводящие к отрицательным суммовым значениям себестоимости в отчетах:

  1. Неактуальные виды запасов в документах расхода: при изменении цепочки поставок или редактировании документов задним числом в табличной части ВидыЗапасов расходных документов остаются старые ссылки на партии или организации, что приводит к некорректным движениям по регистрам.
  2. Хронологические разрывы внутри месяца: реализация проведена по времени раньше, чем документ поступления. В момент оперативного проведения образуется временный отрицательный остаток, который искажает расчет партий.
  3. Ошибки в документах возврата и корректировок: возврат от покупателя оформлен без привязки к документу продажи или по произвольной завышенной цене, либо корректировка приобретения уменьшила сумму больше, чем остаточная стоимость партии.
  4. Зависшие суммовые остатки при нулевом количестве: когда количество номенклатуры списано в ноль, но из-за копеечных округлений в регистре накопления СебестоимостьТоваров остался суммовой остаток. При следующем расходе этот «хвост» распределяется на новую операцию.
  5. Кольцевые перемещения: перемещение номенклатуры между складами или организациями по замкнутому циклу (Склад 1 → Склад 2 → Склад 1) внутри одного месяца.

Способ 1. Полное перепроведение документов с распроведением

Обычное групповое перепроведение документов (без предварительной отмены проведения) в 1С:УТ 11 часто не обновляет сформированные ранее служебные таблицы и виды запасов. Разберем правильный порядок действий:

  1. Отменяем проведение документов движения номенклатуры (поступления, реализации, перемещения, возвраты, списания) за проблемный месяц.
  2. Выполняем последовательное проведение документов в строгом хронологическом порядке: сначала документы поступления, затем внутренние перемещения, после чего — документы списания и реализации.
  3. Запускаем заново обработку Закрытие месяца и выполняем расчет себестоимости.

Способ 2. Программное перезаполнение видов запасов

Если документов много, эффективнее использовать механизм принудительного обновления видов запасов перед проведением объекта. В типовых конфигурациях на базе 1С:УТ 11 для этого используется свойство ПерезаполнитьВидыЗапасов в структуре дополнительных свойств объекта.

Посмотрим на пример программной обработки проблемных документов реализации:


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

После отработки алгоритма табличная часть ВидыЗапасов перезаполнится актуальными данными в соответствии с текущими остатками и правилами передачи товаров.

Способ 3. Диагностика и ручная корректировка зависших сумм

Если перепроведение не помогло устранить отрицательные значения, выполним детальную диагностику регистров:

  1. Сформируем отчет Себестоимость товаров с максимальной детализацией по группировкам: Организация — Склад — Номенклатура — Документ движения.
  2. Включим отображение начальных остатков, прихода, расхода и конечных остатков по количеству и стоимости.
  3. Найдем документ-регистратор, на котором суммовой остаток уходит в минус при положительном или нулевом количестве.
  4. Сверим данные с регистром накопления ТоварыНаСкладах, чтобы убедиться в отсутствии количественных расхождений.
  5. В случае зависших суммовых хвостов прошлых закрытых периодов введем документ Корректировка регистров по регистру СебестоимостьТоваров, выравнивая суммовой остаток в ноль.
  6. Повторно выполним расчет себестоимости в процедуре Закрытие месяца.
← На главную