При разработке в масштабных конфигурациях (таких как 1С:ERP Управление предприятием, 1С:Комплексная автоматизация или 1С:Управление производственным предприятием) программисты нередко сталкиваются с ситуацией, когда добавление, переименование или удаление даже простого объекта метаданных — например, формы справочника или реквизита — приводит к зависанию Конфигуратора на десятки минут или даже несколько часов. Разберем основные причины такого поведения платформы 1С:Предприятие и рассмотрим пошаговые способы решения проблемы.
Главная причина многочасового сохранения при удалении или переименовании объектов метаданных — встроенный механизм поиска ссылок и автоматического рефакторинга. При любом изменении состава метаданных Конфигуратор по умолчанию пытается просканировать абсолютно все модули, формы, макеты и общие команды огромной конфигурации, чтобы найти и обновить старые ссылки на удаляемый или изменяемый объект.
Чтобы отключить эту ресурсоемкую фоновую проверку, выполним следующие шаги в Конфигураторе:
После отключения этих проверок удаление форм и реквизитов будет выполняться практически мгновенно, так как платформа не станет сканировать миллионы строк кода конфигурации ERP.
Если процесс обновления или сохранения уже запущен и Конфигуратор перестал отвечать, пытаясь выполнить сопоставление метаданных, не обязательно аварийно завершать процесс через диспетчер задач. Аварийное завершение 1cv8.exe может привести к повреждению кэша или блокировкам в таблицах базы данных.
Попробуем использовать стандартную комбинацию клавиш для прерывания операции:
Проанализируем архитектурный подход к модификации типовых конфигураций. Внесение изменений непосредственно в основную конфигурацию ERP усложняет последующие обновления и увеличивает нагрузку на служебные таблицы базы данных.
Оптимальным решением для добавления новых форм или переопределения существующего интерфейса является использование расширений конфигурации:
Если сохранение конфигурации продолжает занимать длительное время даже после отключения рефакторинга, выясним причины, связанные с накоплением служебного «мусора»:
Config и ConfigSave: при регулярных сохранениях и динамических обновлениях таблицы метаданных накапливают устаревшие версии бинарных данных. Для полной пересборки структуры выгрузим информационную базу в файл .dt и загрузим ее обратно в чистую базу.%LOCALAPPDATA%\1C\1Cv8 и %APPDATA%\1C\1Cv8.1cv8.exe, rphost.exe, ragent.exe, rmngr.exe) и временный каталог %TEMP% в исключения антивирусного мониторинга, чтобы исключить блокировку файлов при записи метаданных.При работе в клиент-серверном варианте обратим внимание на параметры базы данных на сервере СУБД:
Full, масштабные изменения структуры метаданных вызывают лавинообразный рост журнала транзакций (.ldf). На время выполнения тяжелых обновлений целесообразно переключать модель восстановления в режим Simple.tempdb расположена на быстрых накопителях (NVMe/SSD) и имеет достаточное количество файлов данных для параллельной обработки запросов.