При обслуживании доработанных конфигураций «1С:Бухгалтерия 8» (редакция 3.0) специалисты часто сталкиваются с ситуацией, когда база не обновлялась несколько месяцев или даже полгода. Последовательная установка десятков файлов обновлений (*.cfu) требует колоссальных затрат времени. Возникает логичный вопрос: можно ли ускорить процесс и сразу обновить базу, применив полный файл конфигурации поставщика (*.cf) последнего релиза? Разберем подробно, как ведет себя платформа в таком сценарии, с какими подводными камнями можно столкнуться и как правильно организовать процедуру.
Рассмотрим, что происходит внутри системы при попытке обновить конфигурацию сразу на целевой релиз. В современные типовые решения 1С встроена Библиотека Стандартных Подсистем (БСП). В ней заложен специальный регистр сведений ВерсииПодсистем и программные обработчики обновления, которые запускаются при первом открытии базы от имени администратора в режиме «1С:Предприятие».
Если база была обновлена конфигуратором с версии, например, 3.0.120 до 3.0.140 за один шаг, БСП при запуске определит текущую версию данных и целевую версию конфигурации. Система попытается последовательно вызвать алгоритмы пересчета и переноса данных для каждого из 20 пропущенных релизов.
Однако в этой схеме скрывается ключевой риск, связанный с удалением и переименованием реквизитов или табличных частей.
Проанализируем классическую схему, по которой разработчики фирмы «1С» проводят реструктуризацию данных в типовых конфигурациях. Оптимизация или изменение структуры метаданных обычно проходит в несколько этапов:
Адрес, в котором хранятся важные пользовательские данные.УдалитьАдрес, а новые данные теперь должны храниться в отдельном регистре сведений. В этот релиз закладывается обработчик обновления, который считывает данные из УдалитьАдрес и записывает их в новый регистр.УдалитьАдрес окончательно удаляется из структуры метаданных конфигурации.Теперь посмотрим на ситуацию, если мы перескакиваем с Релиза 1 сразу на Релиз 3 с помощью одного *.cf файла:
УдалитьАдрес удаляется из базы физически вместе со всеми сохраненными в нем данными пользователей.УдалитьАдрес, чтобы перенести данные в новый регистр.Аналогичная ситуация периодически возникает и с регистрами сведений (например, при реструктуризации регистров учета НДС или сведений о физических лицах).
Выясним, как минимизировать риски и при этом не тратить время на установку каждого промежуточного дистрибутива. Оптимальный подход заключается в обновлении через узловые (опорные) релизы.
Фирма «1С» регулярно публикует порядок обновления релизов, в котором указано, с каких именно версий допускается переход на текущий релиз. Каждые несколько месяцев выходят опорные релизы, на которых фиксируются крупные изменения БСП и структуры данных.
Рассмотрим пошаговый алгоритм безопасности при обновлении нетиповой конфигурации:
*.dt) или копию файла 1Cv8.1CD (для файлового варианта), либо бэкап на СУБД.Конфигурация — Поддержка — Обновить конфигурацию, где выбираем файл поставщика *.cf.*.cf обязательно запускаем базу в режиме «1С:Предприятие» под пользователем с административными правами.Администрирование — Обслуживание — Результаты обновления программы.Чтобы в будущем полностью исключить сложности при накатывании обновлений на измененную конфигурацию, рекомендуется выносить доработки из основного дерева метаданных в расширения конфигурации (*.cfe). Это позволяет вернуть основную конфигурацию на полный типовой режим поддержки, после чего регулярные обновления *.cf файлами будут проходить быстро и без риска повреждения пользовательского кода.