Как исправить ошибку «Обнаружены ненулевые остатки по суммам при нулевом остатке по количеству в регистре себестоимости» в 1С:УТ 11?

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

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

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

В этой статье мы подробно разберем, почему возникает данная коллизия, как локализовать проблемный документ-источник и какие практические шаги нужно предпринять для исправления ситуации.

Основные причины возникновения ошибки

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

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

Пошаговая методика диагностики проблемы

Обычное перепроведение последнего документа продажи редко приносит желаемый результат, так как первопричина ошибки чаще всего лежит глубже в истории движения товара. Выясним причину с помощью системного анализа.

Шаг 1. Анализ через «Универсальный отчет» по регистрам

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

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

Шаг 2. Проверка аналитики учета номенклатуры

Часто в регистре себестоимости мы видим нулевой общий итог по количеству и ненулевой по сумме, но если развернуть отчёт по ключам аналитики, картина проясняется. Выведем в Универсальном отчете по регистру Себестоимость товаров поле Аналитика учета номенклатуры.

Если мы обнаружим строки вида:

Это означает, что система некорректно сопоставила приход и расход из-за пересортицы по складам или иным аналитическим разрезам. Общий остаток по количеству равен 0, но на остатке зависает сумма -20 руб. Нам необходимо исправить первичные документы, чтобы ключи аналитики прихода и расхода совпадали.

Шаг 3. Анализ заполнения «Видов запасов»

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

Рассмотрим пример запроса, который поможет быстро локализовать документы с пустыми видами запасов в регистре себестоимости:


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

Если этот запрос возвращает строки, это прямое свидетельство программного сбоя при проведении документов. Программа "забыла" записать вид запасов в регистр себестоимости, из-за чего алгоритм закрытия месяца не может сопоставить стоимостные партии.

Методы устранения ошибки и решения проблемы

В зависимости от причин, приведших к возникновению ошибки, выберите один из следующих вариантов решения.

Решение 1. Обновление релиза конфигурации (Рекомендуемое)

Как совершенно справедливо отметил один из участников обсуждения на форуме, в старых версиях УТ 11 (например, в релизе 11.4.6.230) присутствовала зарегистрированная программная ошибка разработчиков 1С. Она заключалась в том, что при определенных цепочках документов виды запасов не записывались в движения регистра себестоимости, несмотря на их наличие в самом документе.

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

Решение 2. Переформирование «Видов запасов» в ручном или автоматическом режиме

Если быстрое обновление релиза невозможно (например, конфигурация сильно кастомизирована и находится на поддержке с доработками), можно попробовать принудительно заставить систему пересчитать виды запасов в проблемном документе:

  1. Откройте проблемный документ реализации.
  2. Перейдите в меню Еще (в правом верхнем углу формы документа) и выберите команду Открыть виды запасов.
  3. В открывшемся окне нажмите кнопку Указать виды запасов вручную, затем очистите автоматически созданные строки и нажмите Заполнить виды запасов по умолчанию (или переформируйте их вручную, выбрав нужную партию/поставщика). Если документов с ошибками много, можно настроить программного робота для автоматизации действий пользователя в 1С и избежать ручного ввода.
  4. Сохраните изменения, нажав ОК.
  5. Проведите документ. Проверьте движения документа по регистру Себестоимость товаров — поле Вид запасов должно заполниться корректным значением.

Решение 3. Использование документа «Перерасчет себестоимости»

В конфигурациях УТ 11/КА 2/ERP 2 предусмотрен специальный служебный механизм для принудительной очистки стоимостных движений и их полной перезаписи. Мы можем создать документ Перерасчет себестоимости:

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

Решение 4. Корректировка регистров ручным способом

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

  1. Перейдите в раздел Операции — Корректировка регистров и создайте новый документ.
  2. В настройках состава регистров добавьте регистр накопления Себестоимость товаров.
  3. Добавьте строку в табличную часть регистра со знаком «Расход» (или «Приход» в зависимости от знака зависшей суммы).
  4. Укажите организацию, номенклатуру, пустой склад (или тот склад, на котором зависла сумма) и заполните поле Стоимость той суммой, которую необходимо списать. Важно: поле количества оставьте пустым (равным нулю).
  5. Поле Вид запасов и Аналитика учета номенклатуры заполните теми значениями, которые указаны в зависшей строке Универсального отчета.
  6. Проведите документ корректировки. После этого запустите расчет себестоимости — зависшая сумма спишется, и месяц закроется без ошибок.

Регулярно следите за актуальностью релизов вашей базы данных 1С и контролируйте отрицательные остатки товаров в течение месяца. Это позволит избежать подобных ошибок в будущем и обеспечит быструю и бесперебойную работу механизма закрытия месяца.

← На главную