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

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

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

Почему возникает ошибка: анализируем причины

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

Рассмотрим основные факторы, приводящие к расхождениям:

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

Способ №1: Полное перепроведение регламентных документов

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

Пошаговый алгоритм действий:

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

Способ №2: Использование документа «Корректировка регистров»

Если перепроведение не помогло, перейдем к более «хирургическому» методу — ручному исправлению записей в регистре. Рассмотрим подробнее, как это сделать правильно.

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

После того как проблемные строки найдены, выполним следующие действия:

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

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


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

Результат = Запрос.Выполнить().Выгрузить();

Полученную таблицу значений можно использовать для автоматического заполнения документа Корректировка регистров.

Способ №3: Проверка и исправление ключей аналитики

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

  1. Перейдем в раздел НСИ и администрирование — Обслуживание — Корректировка данных.
  2. Найдем пункт «Правила проверки учета». Запустим проверку по разделу «Склад».
  3. Если штатные средства не справляются, можно применить специализированное исправление ключей аналитики учета номенклатуры и видов запасов, которое исправляет проблемы в уже проведенных документах без их перезаполнения.
  4. Также можно воспользоваться встроенной обработкой Исправление ошибок в данных партионного учета.

Профилактика возникновения ошибок

Чтобы в будущем не сталкиваться с «зависшими» суммами, проанализируйте и внедрите следующие правила работы в системе:

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

← На главную