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