Как решить проблему разрастания регистра "Задания к распределению взаиморасчетов" и торможения базы в 1С:УТ 11.5 после обновления?

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

После обновления конфигурации "1С:Управление торговлей" до версии 11.5.25.85 и выше, многие пользователи сталкиваются с проблемой существенного замедления работы базы данных. Иногда это сопровождается тем, что штатные процедуры обновления зависают, и требуется проведение принудительного выполнения отложенного обновления информационной базы. Основной причиной замедления часто становится аномальный рост количества записей в регистре сведений ЗаданияКРаспределениюВзаиморасчетов, а также в связанных с ним регистрах, таких как ЗаданияКРаспределениюРасчетовСКлиентами и ЗаданияКРаспределениюРасчетовСПоставщиками. Это происходит, например, при массовом перепроведении документов товародвижения (заказов клиентов, реализаций), что провоцирует систему на создание множества заданий для отложенного проведения взаиморасчетов. Рассмотрим эту проблему подробнее и выясним, как ее эффективно решить.

Понимание назначения регистров "Задания к распределению взаиморасчетов" и "Задания к распределению расчетов с клиентами/поставщиками"

Для начала, давайте разберемся, какую роль играют эти регистры в системе 1С:УТ. Регистры ЗаданияКРаспределениюВзаиморасчетов, ЗаданияКРаспределениюРасчетовСКлиентами и ЗаданияКРаспределениюРасчетовСПоставщиками предназначены для регистрации потребностей системы в актуализации данных взаиморасчетов. В конфигурациях "1С:УТ 11" взаиморасчеты ведутся в два этапа: первичное (предварительное) проведение документа и последующее "допроведение" или актуализация движений. Записи в этих регистрах сигнализируют системе о том, что по определенной аналитике (партнер, объект расчетов, валюта, дата) данные взаиморасчетов могут быть неактуальными и требуют пересчета. Если в этих регистрах нет записей, система считает, что последовательность не нарушена и движения актуальны.

Почему записи плодятся даже в режиме "Онлайн"

Возникает логичный вопрос: почему записи в этих регистрах продолжают плодиться, если в версии 11.5 и выше "оффлайн" режим взаиморасчетов считается устаревшим и рекомендуется использовать "онлайн" режим (а в версии 11.5.27 поддержка "оффлайн" режима вовсе прекращается с принудительным переходом на "онлайн")? Мы выяснили, что записи всё равно могут появляться.

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

Как решить проблему разрастания регистров и восстановить актуальность взаиморасчетов

Основным и наиболее эффективным способом решения проблемы разрастания регистров и связанных с этим торможений базы, а также некорректного отображения данных в отчетах (например, в актах сверки), является правильная настройка и запуск регламентного задания — для контроля его стабильной работы подойдёт автоматический контроль за выполнением регламентных заданий в 1С.

Шаг 1: Включение и настройка регламентного задания

Мы установили, что ключевым является регламентное задание "Выполнение отложенных движений по расчетам с клиентами/поставщиками". Это задание отвечает за актуализацию взаиморасчетов и обработку "отложенных" движений. Для его включения и настройки выполните следующие действия:

  1. Перейдите в раздел Администрирование.
  2. Выберите пункт Обслуживание.
  3. В группе Регламентные операции найдите Регламентные и фоновые задания.
  4. В открывшемся списке найдите регламентное задание с именем "Выполнение отложенных движений по расчетам с клиентами/поставщиками".
  5. Откройте его для редактирования.
  6. Включите задание, установив соответствующий флажок.
  7. Настройте расписание выполнения. Рекомендуется установить выполнение каждые 30 минут или 1 час в течение рабочего времени. Это обеспечит регулярную обработку заданий и предотвратит чрезмерное накопление записей. Также для снижения рутины при большом количестве расхождений по объектам расчетов полезно использовать инструменты по автоматизации зачета авансов.
  8. Сохраните изменения.

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

Шаг 2: Мониторинг и поведение регистров

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

  1. Записи продолжают появляться, но после обработки регламентным заданием, реквизит Документ в них очищается.
  2. Важно: записи за предыдущий месяц могут удаляться в начале следующего месяца. Например, записи за февраль будут удалены в начале марта. Таким образом, регистр со временем стабилизируется по размеру, содержа записи только за текущий месяц или недавно обработанные.
  3. Аналогичное поведение проявляют и регистры ЗаданияКРаспределениюРасчетовСКлиентами и ЗаданияКРаспределениюРасчетовСПоставщиками. Регламентное задание "Выполнение отложенных движений по расчетам с клиентами/поставщиками" обрабатывает задания для всех этих регистров.

Таким образом, после запуска регламентного задания и перепроведения документов, записи в "ЗаданияКРаспределениюРасчетов" могут появляться, но быстро исчезают или обрабатываются, и акты сверки начинают заполняться корректно — восстановить актуальность взаиморасчетов поможет обработка диагностики закрытия месяца и автоперепроведения документов в 1С. Если же требуется навести порядок в самих расчетах, можно применить автоматическое групповое создание документов взаимозачета задолженности.

Другие связанные регламентные задания

В системе присутствуют и другие регламентные задания, которые могут быть связаны с обработкой очередей и фоновых заданий:

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

Что не следует делать: Принудительная очистка регистров

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

Влияние версии 11.5.25.85 и общие рекомендации

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

Для поддержания оптимальной производительности и корректности данных в 1С:УТ 11.5, помимо настройки регламентных заданий, мы рекомендуем:

  1. Переход на "онлайн" режим: Если вы еще не используете "онлайн" режим учета взаиморасчетов, настоятельно рекомендуется перейти на него. В версии 11.5.27 запланирован принудительный переход на этот режим, что подразумевает отказ от "оффлайн" функциональности.
  2. Мониторинг производительности: Регулярно отслеживайте размер и скорость работы базы данных. При необходимости проводите тестирование и исправление информационной базы, а также оптимизацию настроек SQL-сервера. Стоит также обратить внимание на ускорение формирования отчета "Валовая прибыль предприятия", если вы замечаете тормоза при работе с аналитикой.
  3. Осознанное перепроведение документов: Частые перепроведения большого количества документов товародвижения могут значительно увеличивать количество записей в этих регистрах, так как каждое изменение движений требует последующей актуализации взаиморасчетов. Старайтесь минимизировать ненужные перепроведения.
  4. Проверка заполненности документов: Наличие записей с пустым объектом расчетов может указывать на недозаполненные платежи. Начиная с версии 2.4.1 таких записей быть не должно, однако стоит проверить этот момент, если вы видите такие записи.
  5. Установка границ расчетов: В форме регистра сведений можно перезаполнить записи, включив видимость группы "Установка границ расчетов". Эта обработка создает задания к распределению, исходя из имеющихся движений по расчетам, начиная с определенной даты. Это может быть полезно для восстановления корректных данных, если возникли серьезные расхождения.

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

← На главную