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