Переход с устаревшей версии ЗУП 2.5 на актуальную ЗУП 3.1 часто сопровождается трудностями при конвертации исторических данных. Одной из самых критических ошибок, с которой сталкиваются специалисты, является сообщение о том, что табличная часть объекта Начальная штатная расстановка содержит более 99 999 строк. Давайте разберем, почему это происходит и как мы можем с этим справиться.
Системная архитектура платформы 1С:Предприятие накладывает физическое ограничение на размер табличной части любого объекта, включая документ Перенос данных. Если в процессе выгрузки данных алгоритм пытается записать в один документ более 99 999 строк, происходит аварийное завершение процесса записи. В контексте ЗУП 3.1 документ Начальная штатная расстановка является контейнером для исторических записей, и при выборе «полного» варианта переноса (так называемый 1-й вариант) система пытается перенести всю историю начислений, переводов и индексаций за много лет, что неизбежно приводит к переполнению.
Прежде чем запускать повторный перенос, необходимо провести подготовительные мероприятия. Проанализируем состояние базы:
XML и потребление оперативной памяти.Разберем варианты, которые предлагает помощник перехода:
Перенос данных не рассчитан на такие объемы.Если вы все же вынуждены переносить полный объем данных, учтите следующие технические аспекты:
Потребление оперативной памяти: Процесс rphost может потреблять десятки гигабайт оперативной памяти при десериализации XML-файла. Убедитесь, что сервер 1С имеет достаточный запас ОЗУ. Если процесс «зависает» на сутки, скорее всего, происходит бесконечное разрастание табличной части в памяти.
Анализ структуры: Если есть возможность, используйте отладчик для мониторинга процедуры ПослеЗагрузкиОбъекта в модуле ПереносДанныхЗарплатаКадры. Это позволит увидеть, на каком именно сотруднике или начислении происходит разрастание строк.
Если вы хотите избежать «боданий» с пользователями по поводу отсутствующих данных, но при этом система «падает», попробуйте применить стратегию упрощения. Например, вместо переноса всей истории индексаций, перенесите только итоговые плановые начисления, актуальные на дату перехода. Это можно сделать через настройку правил конвертации или предварительную свертку регистров в ЗУП 2.5.
Помните, что перенос данных — это не просто выгрузка и загрузка файла, а процесс подготовки данных. Если в ЗУП 2.5 накоплено 17 ГБ данных, попытка «затолкнуть» их все в ЗУП 3.1 без предварительной фильтрации — путь к долгой и нестабильной работе системы.