Переход на ветку 1С:ERP 2.4.6 является одним из самых технически сложных этапов в жизненном цикле продукта. Многие специалисты сталкиваются с ситуацией, когда после обновления система начинает массово изменять документы прошлых периодов, а проверка логической целостности выдает сотни ошибок, связанных с вспомогательными данными таблиц. В этой статье мы подробно разберем причины такого поведения системы и разработаем пошаговый план минимизации рисков и исправления возникших ошибок.
Одной из ключевых особенностей релиза 2.4.6 стало внедрение «Онлайн-взаиморасчетов». Рассмотрим подробнее, что это значит для базы данных. В предыдущих версиях распределение платежей по документам происходило непосредственно в момент проведения документа. Теперь же система переходит к модели расчета «на лету» с использованием фоновых заданий.
Проанализируем ситуацию: когда вы впервые запускаете систему после обновления, стартуют масштабные обработчики обновления. Они пересчитывают остатки и движения по регистрам накопления РасчетыСКлиентами и РасчетыСПоставщиками. Это объясняет, почему в журнале документов «Реализация товаров и услуг» или «Приобретение товаров и услуг» за все прошлые периоды начинают появляться отметки об изменении. Система актуализирует аналитику, чтобы старые данные корректно легли в новые регистры, такие как РасчетыСКлиентамиПоСрокам.
Выясним, как управлять этим процессом. В системе за это отвечает константа НоваяАрхитектураВзаиморасчетов. Если вы видите массовые изменения, значит, механизм уже запущен.
Часто при тестировании и исправлении (ТиИ) после обновления возникают ошибки вида: ОбщийРеквизит.ОбластьДанныхОсновныеДанные = 0. Разберем по шагам, почему это происходит именно на версии 2.4.6.
Проблема кроется в сочетании версии конфигурации и платформы (особенно актуально для 8.3.13.1644). В этом релизе ERP были существенно изменены составы индексов и агрегатов для регистров НДС. Платформа 8.3.13 в некоторых случаях некорректно обрабатывает вспомогательные таблицы итогов при наличии включенных общих реквизитов с разделением данных. Даже если ваша база не является мультисервисной (SaaS), эти реквизиты присутствуют в структуре метаданных.
Чтобы решить эту проблему, рассмотрим следующие действия:
Выясним причину, по которой ошибки часто локализуются в регистрах НДСЗаписиКнигиПродаж и НДСЗаписиКнигиПокупок. Обновление до 2.4.6 готовило систему к переходу на ставку НДС 20% (актуально для документов 2018-2019 годов).
Система принудительно пересматривает записи в этих регистрах для документов прошлых периодов, чтобы корректно сформировать цепочки по авансам. В Сообщении 9 форума пользователь отмечает, что ошибки сыпались даже по документам 2015 года. Это связано с тем, что алгоритмы формирования книги покупок/продаж стали требовать заполнения новых служебных полей, которые ранее были пустыми или имели другие значения по умолчанию.
Рассмотрим правильную последовательность действий, которая поможет избежать «зависания» базы и бесконечных ошибок:
Перед началом обновления на 2.4.6 обязательно выполните полное тестирование и исправление текущей базы на релизе 2.4.5. Убедитесь, что в базе нет «битых» ссылок и ошибок итогов. Проанализируем состояние фоновых заданий: все ли расчеты по старой архитектуре завершены?
Не рекомендуется делать «прыжок» с ранних версий сразу на 2.4.6.174. Посмотрим на практику: безопаснее сначала обновиться до промежуточного стабильного релиза (например, 2.4.6.85). После этого запустите систему в режиме «Предприятие» и дождитесь окончания работы всех отложенных обработчиков обновления.
Зайдите в раздел Администрирование — Обслуживание — Результаты обновления программы. Перейдите по ссылке «Отложенные обработчики обновления». Пока статус всех заданий не станет «Выполнено», не начинайте никаких проверок конфигурации и не переходите к следующему этапу обновления. Именно на этом этапе заполняется ДатаПереходаСобственности в документах реализации и пересчитываются взаиморасчеты.
Если после завершения всех обработчиков ТиИ все еще выдает ошибки ОбщийРеквизит.ОбластьДанныхОсновныеДанные, выполните следующие действия в Конфигураторе:
Если перепроведение документов вручную невозможно из-за их огромного количества, воспользуйтесь типовой обработкой «Регистрация движений по регистрам НДС». Она позволяет актуализировать записи регистров без изменения даты и авторства самих документов, что критично для закрытых периодов.
Подводя итог, можно сказать, что описанные проблемы не являются признаком «битой» базы. Это следствие глубокой архитектурной трансформации 1С:ERP. Основные ключи к успеху: современная платформа (8.3.14+), терпение при ожидании фоновых обработчиков и обязательный пересчет итогов после завершения всех процедур обновления.