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