Обновление доработанной (измененной) типовой конфигурации 1С — одна из самых частых и ответственных задач разработчика и администратора. Некорректный перенос доработок или неправильный выбор способа обновления может привести к потере пользовательских изменений, сбоям в алгоритмах Библиотеки стандартных подсистем (БСП) и неполному заполнению служебных регистров сведений.
Рассмотрим по шагам, как правильно выполнять обновление измененной базы, почему при переносе файла .cf из файловой копии в клиент-серверный (SQL) вариант могут возникать ошибки заполнения данных и какие правила следует соблюдать для сохранения стабильности базы.
Проанализируем частую ситуацию: обновление успешно выполнено на файловой копии, но при перегрузке конфигурации в копию на SQL новые регистры сведений не заполняются или обработчики обновления завершаются с ошибками. Выясним основные причины такого поведения:
Загрузить конфигурацию из файла полностью переписывает структуру метаданных, но не обновляет конфигурацию поставщика корректно. Из-за этого сбиваются записи в служебном регистре ВерсииПодсистем, и БСП считает, что данные актуализировать не требуется.Рассмотрим рекомендуемый алгоритм обновления рабочей (боевой) базы с сохранением внесенных доработок. Платформа 1С поддерживает трехстороннее сравнение: Основная конфигурация, Старая конфигурация поставщика и Новая конфигурация поставщика.
.dt) или бэкап средствами SQL-сервера..cfu) или полным дистрибутивом (.cf) через меню Конфигурация — Поддержка — Обновить конфигурацию.Конфигурация — Сравнить, объединить с конфигурацией из файла, выбрав файл с подготовленными изменениями из тестовой базы, чтобы вернуть снятые доработки.Разберем еще один профессиональный подход к обновлению. Если доработка конфигурации вестся на постоянной основе в отдельной базе-разработчике, правильным решением будет создание собственной поставки:
Конфигурация — Поставка конфигурации — Создать комплект поставки..cfu или .cf собственного дистрибутива.Если после обновления структуры метаданных некоторые регистры или справочники остались незаполненными, проанализируем состояние процедур обновления внутри программы:
Администрирование — Обслуживание — Результаты обновления программы. Проверяем наличие незавершенных или завершившихся с ошибкой отложенных обработчиков.
1cv8.exe ENTERPRISE /IBName "РабочаяБаза" /C СтартОбновленияИнформационнойБазы
Для предотвращения подобного рода проблем в будущем наиболее эффективным подходом является вынос всех пользовательских доработок из состава основной конфигурации в расширения (.cfe). В этом случае основная конфигурация остается на нередактируемой поддержке и обновляется штатным файлом .cfu без риска потери кода и сбоев в работе БСП.