Новая версия .cfe в рабочей базе: загрузка, применение и откат
Содержание
Чтобы обновить расширение
1С через конфигуратор, откройте Конфигурация → Расширения конфигурации, выделите нужное расширение, выберите в меню окна Конфигурация → Загрузить конфигурацию из файла..., укажите новый файл .cfe и затем выполните Конфигурация → Обновить конфигурацию базы данных для этого расширения. Пока второй шаг не сделан, пользователи продолжают работать со старой версией.
Частая ошибка — удалить старое расширение и добавить новое «с нуля». Так теряются данные, которые расширение хранило в собственных справочниках и реквизитах, а заодно настройки флажков «Активно» и «Безопасный режим». Загрузка поверх существующего расширения такой проблемы не создаёт. Порядок ниже подходит для платформы 8.3 (расширения появились в 8.3.6) и любой типовой конфигурации: БП 3.0, ЗУП 3.1, УТ 11, КА, ERP.
Что меняется при обновлении расширения 1С
Расширение — отдельный слой поверх основной конфигурации. Оно хранится в базе как самостоятельный объект со своим именем, префиксом и версией. Основная конфигурация при его обновлении не трогается, снимать её с поддержки не нужно.
Обновлять расширение приходится в трёх случаях:
- 📦 разработчик или поставщик прислал новую версию
.cfeс исправлениями или новыми функциями; - 🔄 вы обновили основную конфигурацию, и старое расширение перестало к ней подходить: заимствованный объект переименован, у формы изменился состав элементов;
- 🛠 сами доработали расширение в другой базе (копии, базе разработчика) и переносите изменения в рабочую.
Что внутри расширения, влияет на риск обновления:
| Что содержит расширение | Что происходит при обновлении | Риск |
|---|---|---|
| Только заимствованные формы, модули, макеты печатных форм | Меняется код и интерфейс, данные не затрагиваются | Низкий |
| Собственные реквизиты у заимствованных справочников и документов | Платформа реструктурирует таблицы расширения | Средний |
| Собственные справочники, регистры, документы | Реструктуризация; удаление объекта в новой версии удаляет его данные | Высокий |
Если в новой версии разработчик удалил реквизит или справочник, данные в нём пропадут после обновления базы данных. Поэтому перед загрузкой полезно спросить у разработчика, менялся ли состав объектов, или сравнить версии самому (как — в разделе 3).
Подготовка к обновлению расширения: копии и совместимость
Сохраните текущую версию расширения
Это главная страховка: именно эта копия понадобится для быстрого отката.
- Откройте базу в режиме конфигуратора.
- Выберите
Конфигурация → Расширения конфигурации. - Выделите расширение и в меню окна выберите
Конфигурация → Сохранить конфигурацию в файл.... - Сохраните файл с версией в имени, например
МоеРасширение_1.0.3.cfe.
Номер текущей версии виден в свойствах расширения: дважды щёлкните его корневой элемент в дереве и найдите свойство «Версия».
Сделайте выгрузку всей базы
Если в расширении есть собственные данные, одного .cfe мало: он хранит структуру, а не записи. Нужна выгрузка .dt (Администрирование → Выгрузить информационную базу...) или резервная копия средствами СУБД для серверной базы.
Выгрузка .dt требует, чтобы в базе не было других пользователей. Планируйте её на нерабочее время и предупредите сотрудников: их сеансы придётся завершить.
Проверьте совместимость новой версии
Перед загрузкой сверьте три вещи:
- 🔢 Для какого релиза конфигурации собрана версия. Поставщики обычно пишут это в описании. Если новая версия расширения рассчитана на свежий релиз БП, а у вас старый, сначала обновите основную конфигурацию.
- 🧩 Режим совместимости. Он задан в свойствах расширения. Если он новее, чем поддерживает ваша платформа, расширение не загрузится.
- 🏷 Имя расширения. У загружаемого файла и у расширения в базе оно должно совпадать. Иначе вы получите в списке два разных расширения с одинаковым назначением.
Самый надёжный способ проверить совместимость — повторить обновление на копии базы. Загрузите .dt в новую пустую базу, обновите расширение там и откройте пару документов, которых оно касается.
Пошаговое обновление расширения в конфигураторе
Есть два способа. Первый — прямая загрузка: новая версия полностью заменяет старую. Второй — сравнение и объединение: вы видите, что именно изменилось, и решаете по каждому объекту.
| Способ | Когда выбрать | Риски |
|---|---|---|
Загрузить конфигурацию из файла... | Расширение целиком от поставщика, в базе его никто не правил | Локальные правки в расширении будут потеряны |
Сравнить, объединить с конфигурацией из файла... | В рабочей базе вносили свои правки в это расширение | Требует внимательного разбора отличий |
Способ 1. Загрузка новой версии из файла
- Откройте базу в конфигураторе под пользователем с правами администратора.
- Выберите
Конфигурация → Расширения конфигурации. - Выделите в списке расширение, которое обновляете.
- В меню окна выберите
Конфигурация → Загрузить конфигурацию из файла.... - Укажите новый файл
.cfeи подтвердите замену. - Выберите
Конфигурация → Обновить конфигурацию базы данныхв том же окне расширений. - Если платформа покажет список изменений структуры, прочитайте его. Строки про удаление объектов означают потерю их данных.
- Подтвердите обновление и дождитесь сообщения о завершении.
После загрузки откройте свойства расширения и проверьте, что номер в свойстве «Версия» сменился на новый.
Способ 2. Сравнение и объединение
Этот путь нужен, если кто-то правил расширение прямо в рабочей базе: поправил макет, добавил реквизит на форму. При прямой загрузке эти правки исчезнут.
- В окне расширений откройте нужное расширение (двойной щелчок или
Конфигурация → Открыть конфигурацию). - В меню окна расширений выберите
Конфигурация → Сравнить, объединить с конфигурацией из файла...и укажите новый.cfe. - В окне сравнения отметьте флажками объекты, которые берёте из файла. Ваши локальные правки оставьте без отметки или объедините на уровне модуля.
- Нажмите «Выполнить» и сохраните расширение.
- Выполните обновление конфигурации базы данных для расширения.
Окно сравнения само по себе полезно: даже если правок не было, через него видно, какие объекты разработчик удалил. Это и есть быстрая проверка из первого раздела.
Проверьте флажки расширения
В списке расширений у каждого есть настройки, которые влияют на работу:
- ✅ «Активно» — если снят, расширение загружено, но не работает ;
- 🔒 «Безопасный режим» — ограничивает код расширения (нет доступа к файлам, внешним компонентам, COM). Если новая версия работает с файлами или внешним оборудованием, поставщик обычно пишет, что флажок нужно снять;
- 🛡 «Защита от опасных действий» — включает предупреждения при опасных операциях.
После загрузки убедитесь, что флажки стоят так же, как стояли до обновления, и что разработчик не требует их изменить.
Обновление расширения в файловой, серверной и облачной базе
Файловая база. Порядок тот же. Если расширение добавляет собственные объекты, реструктуризация в файловой базе может не пройти при работающих пользователях — конфигуратор скажет об этом прямо. В таком случае попросите всех выйти и повторите обновление.
Клиент-серверная база
. Действия в конфигураторе те же. Подключение к базе указывайте через сервер (Сервер\ИмяБазы). Изменения увидят пользователи, которые заново откроют программу; у работающих остаётся старая версия до перезапуска. Если пользователи получают сообщение о смене версии и предложение перезапуститься — это нормально.
Облако. В сервисах на технологии 1cFresh доступа к конфигуратору у пользователя нет. Расширения загружают из режима предприятия, и они проходят проверку провайдера по его регламенту — уточните порядок у вашего поставщика облака. При аренде отдельного сервера (VDS, RDP-доступ к своей базе) конфигуратор доступен, и работает обычная инструкция.
Без конфигуратора, из режима «Предприятие». В БП 3.0, ЗУП 3.1 и УТ 11 расширения управляются формой Администрирование → Печатные формы, отчеты и обработки → Расширения. Там новую версию загружают из файла поверх существующей. Так удобно, когда у бухгалтера нет доступа к конфигуратору, но сравнения версий и разбора отличий в этом режиме нет.
Автоматизация обновления: пакетный режим конфигуратора
Если расширение нужно обновлять в нескольких базах или по расписанию, хватит командной строки. Платформа поддерживает загрузку и обновление расширения в пакетном режиме конфигуратора через ключ -Extension.
Пример для файловой базы (bat-файл):
@echo off
set V8="C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe"
set BASE=D:\Bases\Buh
set EXT=МоеРасширение
set CFE=D:\Ext\МоеРасширение_1.0.4.cfe
rem 1. Сохраняем текущую версию для отката
%V8% DESIGNER /F"%BASE%" /N"Админ" /P"пароль" /DumpCfg "D:\Ext\backup_%EXT%.cfe" -Extension "%EXT%" /Out "D:\Ext\dump.log"
rem 2. Загружаем новую версию и обновляем базу данных
%V8% DESIGNER /F"%BASE%" /N"Админ" /P"пароль" /LoadCfg "%CFE%" -Extension "%EXT%" /UpdateDBCfg -Extension "%EXT%" /Out "D:\Ext\update.log"
Номер платформы в пути V8 подставьте свой. Для серверной базы вместо /F"путь" укажите /S"Сервер\ИмяБазы".
Что учесть в скрипте:
- 📝 Ключ
/Outпишет лог. Проверяйте его после каждого запуска: конфигуратор в пакетном режиме не показывает окон с ошибками. - 🔐 Пароль в bat-файле — уязвимое место. Держите скрипт в каталоге, доступном только администратору, или передавайте пароль из защищённого хранилища.
- 📂 Если расширение хранится в Git в виде XML-файлов (так работают в EDT и при групповой разработке), вместо
/LoadCfgиспользуют/LoadConfigFromFilesс тем же ключом-Extension.
Для массовых обновлений администраторы применяют готовые инструменты на OneScript, например vanessa-runner. Они оборачивают те же команды конфигуратора и добавляют логирование. Набор команд и ключей смотрите в справке самой утилиты: он меняется от версии к версии.
Запускайте пакетное обновление в нерабочее время. Если реструктуризация затронет таблицы расширения, открытые сеансы будут мешать, а пользователи в середине документа потеряют несохранённые данные.
Проверка после обновления и откат расширения
Что проверить сразу
- В конфигураторе откройте свойства расширения и сверьте номер версии.
- Зайдите в режим «Предприятие» под обычным пользователем, а не только под администратором: права на объекты расширения задаются его ролями.
- Откройте формы и печатные формы, которые меняет расширение, и проверьте новую функцию из описания версии.
- Посмотрите журнал регистрации (
Администрирование → Журнал регистрациив конфигураторе или в разделе «Администрирование» в режиме предприятия) за время после обновления — нет ли ошибок с именем расширения.
Если расширение меняет печатную форму или проведение документов, сравните результат на одном и том же документе до и после обновления. Удобно сделать это на копии базы, где осталась старая версия.
Как откатить расширение
Если новая версия работает с ошибками, откат делается той же процедурой, что и обновление:
- Откройте
Конфигурация → Расширения конфигурации. - Выделите расширение и выполните
Конфигурация → Загрузить конфигурацию из файла..., указав сохранённый до обновления.cfe. - Обновите конфигурацию базы данных.
Откат через .cfe возвращает код и структуру, но не данные. Если новая версия добавила реквизиты, а пользователи уже их заполнили, при откате эти значения удалятся. Если новая версия что-то удалила, старые данные не вернутся — их можно взять только из выгрузки .dt.
Восстановление из .dt откатит всю базу на момент выгрузки, включая документы, введённые после неё. Поэтому выгрузку делают непосредственно перед обновлением, а не за неделю.
Ошибки при обновлении расширения и их причины
Частые вопросы об обновлении расширений 1С
Нужно ли снимать основную конфигурацию с поддержки, чтобы обновить расширение?
Можно ли обновить расширение, пока пользователи работают в базе?
В каком порядке обновлять конфигурацию и расширение?
Сохраняются ли данные расширения при загрузке новой версии?
Где взять файл .cfe, если поставщик прислал только архив?
.cfe. Если внутри каталоги с XML-файлами, это исходники — их загружают через Загрузить конфигурацию из файлов... в меню расширения.