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

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

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

Различие в регистрах: почему отчеты показывают разные данные

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

  1. Регистр «Товары на складах»: отвечает за оперативный количественный учет. Движения по нему делают почти все товарные документы в момент проведения. Если здесь «все красиво», значит, физически товар на складе числится.
  2. Регистр «Себестоимость товаров»: отвечает за стоимостной учет. В этом регистре данные хранятся в разрезе организаций, разделов учета и ключей аналитики. Именно этот регистр используется при расчете финансового результата.

Ситуация, когда на складе товар есть, а в себестоимости его нет, означает, что цепочка документов по количеству сомкнулась, а по стоимости — нет. Рассмотрим подробнее, какие факторы приводят к такому «разрыву».

Анализ документов с помощью регистратора

Для поиска конкретной ошибки нам недостаточно видеть итоговые цифры. Проанализируем детальные движения. В отчете Себестоимость товаров организаций необходимо добавить группировку Регистратор. Это позволит увидеть, какой именно документ сделал расход, не имея прихода в этом конкретном регистре.

Рассмотрим ситуацию: перемещение товаров или продажа показывают отрицательный остаток. Если мы видим, что перед этим документом был приход (например, Возврат товаров от клиента), но этот возврат не создал движений по регистру Себестоимость товаров, значит, корень проблемы именно в нем. Выясним, почему документ может «игнорировать» этот регистр.

Специфика документа «Возврат товаров от клиента»

Документ возврата в УТ 11 — один из самых сложных с точки зрения формирования себестоимости. Разберем основные причины отсутствия движений:

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

Проверка ключей аналитики учета номенклатуры

Иногда причина кроется не в самих документах, а в системных справочниках. В УТ 11 используется механизм Ключей аналитики. Это скрытые элементы, которые объединяют в себе склад, номенклатуру, характеристики, назначение и другие параметры.

Проанализируем ситуацию: в документе прихода ключ аналитики сформировался одним образом, а в документе расхода — другим (например, из-за изменения настроек учета НДС или изменения назначения товара). Программа будет считать, что вы пытаетесь списать товар с другого «аналитического разреза», которого нет в наличии в регистре Себестоимость товаров, хотя в количественном учете (складах) эти разрезы могут игнорироваться.

Как проверить: в отчете по себестоимости добавьте все возможные поля аналитики (Склад, Организация, Раздел учета, Вид запасов). Если вы видите по одной строке «плюс», а по другой «минус» с одинаковым итогом — проблема в несовпадении аналитик.

Влияние раздельного учета НДС и Intercompany

Выясним влияние настроек налогообложения. Если в организации включен раздельный учет по налогу на добавленную стоимость, в регистре себестоимости появляется измерение, разделяющее товары «с НДС» и «без НДС».

Если товар был закуплен для деятельности, облагаемой НДС, а продан (или перемещен на склад для розницы) под деятельность ЕНВД/без НДС, без правильно оформленных корректировок возникнет отрицательный остаток по одной аналитике. В складской ведомости при этом все будет выглядеть корректно, так как склад не «видит» налоговое назначение товара.

Также стоит проверить настройки Intercompany (передачи между организациями). Даже если в базе ведется учет по одной компании, ошибочно созданные или недооформленные документы передачи товаров могут «повесить» остатки в регистре себестоимости на виртуальный склад «Товары в пути».

Технические методы исправления ситуации

Если перепроведение документов не помогает, рассмотрим более глубокие методы решения проблемы:

1. Работа с заданиями к расчету

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

2. Использование обработки «Исправление ключей аналитики»

В разделе «Обслуживание» — «Корректировка данных» найдем стандартные обработки для проверки целостности данных. Запустим поиск дублей ключей аналитики. Если система найдет разные ключи для идентичных настроек, их нужно «схлопнуть». Это часто лечит «зависшие» копейки и отрицательные остатки в стоимостном выражении при нулевом количестве.

3. Ручная корректировка регистров

В самых тяжелых случаях, когда ошибка тянется из закрытых периодов и перепроводить документы нельзя, используем документ Корректировка регистров. Помните, что для исправления себестоимости нужно синхронно корректировать три регистра:

Пример кода для программного анализа записей регистра (для разработчиков):


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	Себестоимость.АналитикаУчетаНоменклатуры,
    |	Себестоимость.КоличествоОстаток,
    |	Себестоимость.СтоимостьОстаток
    |ИЗ
    |	РегистрНакопления.СебестоимостьТоваров.Остатки(&Период, ) КАК Себестоимость
    |ГДЕ
    |	Себестоимость.КоличествоОстаток < 0";
Запрос.УстановитьПараметр("Период", КонецМесяца);
Результат = Запрос.Выполнить();

Проанализировав результаты такого запроса, мы сможем точечно выявить «проблемную» аналитику и принять решение о методе исправления (перепроведение возврата или ручная корректировка).

Итоги и рекомендации

Для предотвращения подобных ошибок в будущем рекомендуем придерживаться следующих правил:

  1. Всегда оформляйте Возврат товаров от клиента на основании Реализации. Это гарантирует правильное наследование себестоимости.
  2. Следите за статусами документов. Не оставляйте документы в промежуточных статусах при закрытии месяца.
  3. Регулярно проверяйте отчет Контроль оперативного учета, который в автоматическом режиме сравнивает остатки по разным регистрам и указывает на расхождения.
  4. Перед закрытием месяца всегда выполняйте обработку Исправление отрицательных остатков (если включена опция превышения остатков в настройках склада).

Таким образом, решение проблемы отрицательных остатков в себестоимости сводится к поиску «разорванной» цепочки в регистрах и восстановлению стоимостных движений в документах прихода или возврата.

← На главную