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