Переход на новые версии 1С:ERP, в частности с 2.5.6 на 2.5.7, зачастую сопровождается длительным выполнением обработчиков обновления данных. В процессе обновления система может «зацикливаться» на определенных записях, что приводит к многодневному ожиданию завершения фоновых заданий. Рассмотрим, как проанализировать причины такого поведения и какие действия предпринять для успешного завершения обновления.
Первым делом проанализируем поведение системы. Если фоновое задание начинается и практически сразу завершается (или постоянно перезапускается), это верный признак того, что обработчик натыкается на «проблемную» запись. Чтобы не гадать, выполним следующие действия:
Технологического журнала. Это позволит увидеть, на каком именно объекте система прерывает выполнение операции.Объект не найден. Такие записи часто становятся причиной сбоев алгоритмов обработки.Одной из частых проблем является зависание обработчика РеестрДокументов. Если алгоритм не справляется с существующим объемом данных из-за их повреждения или неоптимальности процесса, у нас есть несколько путей решения.
Если мы видим, что обработчик постоянно стартует заново, разберем код в отладчике. Нередко логика построена по принципу «выбрать одну запись — обработать — удалить — повторить». Если на каком-то этапе возникает ошибка транзакции, система откатывает изменения и начинает цикл снова. Найдя конкретный Документ или Запись, вызывающую исключение, мы сможем исправить данные вручную.
В ситуациях, когда исправление данных невозможно или слишком трудозатратно, можно применить метод очистки. Рассмотрим логику процесса:
Реестр документов часто является вторичной структурой, предназначенной для ускорения поиска и отображения данных в журналах. Если мы очистим таблицу регистра, система при следующем выполнении регламентного задания или перепроведении документов заполнит его заново. Заполнение «с чистого листа» зачастую проходит значительно быстрее, чем попытки модификации 80 000+ существующих записей, содержащих ошибки.
Внимание: Перед очисткой любого регистра обязательно выполняем резервное копирование базы данных и проверяем поведение в тестовой копии. Также убедимся, что пользователи не потеряют доступ к журналам на время пересчета данных.
При обновлении до версий 2.5.7 и выше важно учитывать изменения в методологии учета:
Стоимости или СПИ (сроку полезного использования), необходимо проверить наличие заполненных данных по управленческому учету в старых документах.Актуализация данных распределения запасов было запущено и успешно завершилось. Если после завершения в отчетах наблюдаются «минуса», это сигнализирует о наличии Legacy-данных (старых документов), которые требуют перепроведения для корректного формирования движений по новой логике.Чтобы минимизировать риски при обновлении системы, следуем проверенному алгоритму:
Тестирование и исправление базы данных для удаления логической нецелостности.Отладчик для выявления точки отказа.Распределение запасов и Реестр документов, запуская соответствующие регламентные задания в ручном режиме, если они не стартовали автоматически.Помним, что обновление 1С:ERP — это процесс, требующий последовательности. Если обработчик выполняется слишком долго (например, более 30 часов), стоит не просто ждать, а проверять наличие блокировок и корректность данных в регистрах, на которых «спотыкается» система.