Почему реализации не попадают в акт сверки и ведомость расчетов в 1С:Управление торговлей 11.5

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

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

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

Архитектура «офлайн» взаиморасчетов в УТ 11.5

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

  1. Первичные движения: При проведении накладной записываются данные в основной регистр Расчеты с клиентами. Это позволяет оперативно видеть общую сумму задолженности.
  2. Детальные движения: Формирование данных в регистре Расчеты с клиентами по срокам происходит фоновым заданием или отложенным регламентом. Именно из этого регистра система берет данные для построения Акта сверки и Ведомости расчетов по срокам.

Если цепочка на втором этапе прерывается, документ «зависает»: он вроде бы проведен, но для регламентированных отчетов и сверки его «не существует».

Анализ причины: роль регистра «Задания к распределению взаиморасчетов»

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

Проанализируем критическую ошибку, которую часто совершают администраторы и программисты при попытке ускорить работу базы. Если программно отключить запись в регистр ЗаданияКРаспределениюВзаиморасчетов (например, для оптимизации при массовом перепроведении), система перестает видеть необходимость актуализации расчетов. Рассмотрим пример кода, который может привести к такой проблеме:


// ОПАСНО: Пример кода, который ломает механизм взаиморасчетов
Процедура ПередЗаписьюРегистраЗаданий(Источник, Отказ)
    Если ПараметрыСеанса.ОтключитьЗаданияРаспределения Тогда
        // Система не запишет задание, и документ не попадет в акт сверки
        Возврат; 
    КонецЕсли;
КонецПроцедуры

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

Способ решения №1: Использование типовой обработки заполнения регистров

Если проблема уже возникла и часть документов не попала в отчеты, проанализируем самый эффективный метод исправления — использование типовой обработки «Заполнение регистров взаиморасчетов». Этот инструмент позволяет принудительно пересчитать данные по конкретному контрагенту, игнорируя наличие или отсутствие записей в регистре заданий.

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

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

Эта обработка заново проанализирует первичные документы (Заказы, Реализации, Платежи) и восстановит отсутствующие записи в регистре Расчеты с клиентами по срокам.

Способ решения №2: Переключение режима на «Онлайн»

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

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

В режиме «Онлайн» все движения по всем регистрам (включая сроки и объекты расчетов) формируются мгновенно в момент нажатия кнопки «Провести». Это исключает зависимость от регламентных заданий и очередей в регистрах сведений, однако может немного замедлить работу пользователей при очень интенсивном документообороте.

Дополнительные факторы, влияющие на результат

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

1. Объект расчетов: В УТ 11.5 акт сверки строится строго в разрезе Объекта расчетов. Если в реализации указан один договор, а в платежном поручении — другой (или расчеты ведутся по заказам, а платеж привязан к договору), система может некорректно распределить суммы. Проверьте поле Объект расчетов в движениях регистра Расчеты с клиентами.

2. Дата запрета редактирования: Посмотрим, не попадают ли документы в закрытый период. Иногда регламентное задание не может сформировать движения, если дата документа меньше даты запрета изменения данных. Несмотря на то что распределение — это сервисная операция, 1С строго следит за целостностью периодов.

3. Корректность аналитики в договоре: Выясним, соответствует ли договор связке Организация - Партнер - Контрагент. Если в документе программно (через обмен или обработку) был подставлен договор, принадлежащий другому контрагенту, движения по срокам могут не сформироваться из-за ошибки контроля целостности данных.

Заключение

Подводя итог, отметим: если реализации не попадают в акты сверки в УТ 11.5, первым делом проверьте состояние регламентных заданий и наличие записей в регистре ЗаданияКРаспределениюВзаиморасчетов. Никогда не очищайте этот регистр вручную и не блокируйте запись в него.

← На главную