При обслуживании типовых конфигураций 1С:Предприятие многие специалисты задаются вопросом: существует ли принципиальная разница между использованием файлов обновлений с расширением .cfu и полных файлов конфигурации .cf? На первый взгляд, результат кажется одинаковым — конфигурация базы данных приводится к нужному релизу. Однако под капотом платформы скрываются важные технологические отличия, которые напрямую влияют на сохранность ваших данных.
Файлы .cfu (Configuration Update) представляют собой пакеты обновлений, созданные разработчиком специально для перехода между конкретными версиями конфигурации. Основная их ценность заключается не только в изменении структуры метаданных, но и в наличии встроенных алгоритмов по миграции данных.
Представим типичную ситуацию, с которой сталкиваются разработчики 1С при изменении логики работы объектов:
Рекв в документе Док.Рекв переименовывается во временный объект, например, Удалить_Рекв.Рекв с требуемым типом данных..cfu включается специальная процедура-обработчик, которая при первом запуске программы «перекачивает» значения из Удалить_Рекв в новый Рекв.Удалить_Рекв удаляется из конфигурации.Использование .cfu гарантирует, что эта последовательность будет выполнена платформой в автоматическом режиме. Система распознает объекты по внутренним идентификаторам (GUID), что обеспечивает корректную миграцию информации без потерь.
Файл .cf — это «чистая» структура конфигурации, содержащая полное описание всех объектов метаданных. При использовании метода «Сравнить и объединить» с файлом .cf вы фактически сообщаете платформе: «Приведи мою текущую структуру к этой версии». И здесь возникают серьезные риски:
.cf не содержит инструкций для запуска обработчиков обновления данных. В описанном выше примере при обновлении через .cf платформа просто удалит старый реквизит и создаст новый. Данные, хранившиеся в старом реквизите, будут безвозвратно утеряны, так как этап «перекачки» данных (преобразования) не произойдет..cf, не используя режим обновления «Поддержка», платформа может воспринять переименованные или перемещенные объекты как удаленные, а на их месте создать новые, не имеющие никакой связи с накопленными данными.Важно понимать, что независимо от того, используете вы .cf или .cfu, существует строгое понятие «цепочки совместимости». Обновление конфигурации 1С — это не разовое действие, а последовательный процесс. Нельзя «перепрыгнуть» через несколько релизов, применив один файл, если это не предусмотрено планом обновления поставщика конфигурации.
Для корректного перехода с сильно устаревших версий на актуальные рекомендуется:
v8upd.htm, который поставляется с обновлениями, для определения допустимой цепочки обновлений.Если вы вынуждены обновлять очень старую базу, где выпущено множество промежуточных релизов, процесс будет выглядеть как многократное применение цепочки файлов. Попытка ускорить процесс, пропуская промежуточные этапы путем прямого объединения с .cf последней версии, практически гарантированно приведет к нарушению целостности учетных данных и логическим ошибкам в работе программы.
Проанализировав ситуацию, можно сделать вывод: использование .cfu — это стандарт безопасности, заложенный производителем для защиты целостности вашей базы данных. Если вы занимаетесь обновлением конфигураций, придерживайтесь следующих правил:
.cfu через меню «Поддержка и обслуживание»..cf оправдано только в специфических задачах (например, для доработанных конфигураций), где администратор четко осознает, что именно он делает, и готов вручную компенсировать отсутствие автоматических обработчиков данных.Помните, что экономия времени на «быстром» обновлении через .cf может обернуться необходимостью долгого восстановления данных из резервных копий или исправления критических ошибок в учете.