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