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