Новая версия расширения в базе: загрузка .cfe и применение в Конфигураторе
Содержание
Чтобы обновить расширение конфигурации
1С через Конфигуратор, откройте Конфигурация → Расширения конфигурации, выделите нужное расширение и в подменю Конфигурация окна списка выберите Загрузить конфигурацию из файла…. Укажите новый файл .cfe, затем выполните Обновить конфигурацию базы данных в том же подменю. Пользователи получат новую версию при следующем входе в программу.
Типичная ситуация: программист прислал файл Доработки_v2.cfe с исправленной печатной формой счёта, а в базе стоит первая версия. Загрузить файл — пять минут. Но если расширение правили прямо в базе или после обновления типовой конфигурации, простая загрузка затрёт чужие изменения или не применится. Ниже — порядок для обоих случаев.
Механизм расширений появился в платформе 8.3.6, всё описанное относится к 8.3 и не зависит от конфигурации: в БП 3.0, ЗУП 3.1 и УТ 11 порядок одинаковый.
Подготовка базы к обновлению расширения
Расширение хранится в самой информационной базе. Если оно добавляет свои реквизиты, справочники или регистры, в нём лежат и данные. Поэтому подготовка важнее самой загрузки.
Что сделать до загрузки файла
- Сделайте копию базы
. Для файловой — выгрузка
Администрирование → Выгрузить информационную базу…в Конфигураторе или копия каталога с файлом1Cv8.1CDпри закрытой базе. Для клиент-серверной — резервная копия средствами СУБД. - Сохраните текущую версию расширения в файл. В окне
Расширения конфигурациивыделите расширение и выберите в подменюКонфигурациякомандуСохранить конфигурацию в файл…. Получится.cfeстарой версии — это быстрый откат, если новая не заработает. - Проверьте, правили ли расширение в базе. Если не уверены — сравните сохранённую копию с файлом от разработчика (см. раздел про сравнение ниже).
- Сверьте платформу. Файл
.cfe, сохранённый на более новой версии платформы, может не загрузиться на старой. Номер версии платформы в базе должен быть не ниже той, на которой собирали расширение. - Выберите время. Если расширение меняет структуру данных, обновление базы данных лучше делать, когда в программе никого нет.
Копия базы обязательна, если новая версия расширения удаляет объекты или реквизиты. Данные этих реквизитов будут удалены при обновлении конфигурации базы данных, и вернуть их можно только из копии.
Где посмотреть текущую версию расширения
Откройте расширение двойным щелчком в списке. В дереве объектов вызовите свойства корневого элемента. Там видны Имя, Синоним, Версия, Префикс имен, Назначение и Режим совместимости. Запишите версию и режим совместимости — пригодятся при разборе ошибок.
Загрузка нового файла расширения в Конфигуратор
Простой случай: расширение в базе не правили, у вас есть готовый файл от разработчика или поставщика.
Пошагово
- Запустите Конфигуратор под пользователем с полными правами.
- Откройте
Конфигурация → Расширения конфигурации. - В списке выделите расширение, которое обновляете. Выделять нужно именно его: загрузка заменит содержимое выделенной строки.
- В командной панели окна откройте подменю
Конфигурацияи выберитеЗагрузить конфигурацию из файла…. - Укажите файл
.cfe. Платформа спросит подтверждение замены — согласитесь. - Дождитесь окончания загрузки. Пока расширение загружено, но в базе ещё работает старая версия.
Если нужного расширения в списке ещё нет, это не обновление, а установка: нажмите Добавить, затем загрузите файл в новую строку.
Как понять, что файл загрузился
После загрузки откройте расширение и проверьте свойство Версия — оно должно совпасть с новой версией. Если разработчик не заполняет версию, проверьте объект, который точно поменялся: например, новый макет печатной формы или новый реквизит.
Держите файлы расширений с версией в имени: Доработки_1.0.3.cfe. Через полгода будет ясно, что стоит в базе и к чему откатываться.
Сравнение и объединение версий расширения
Если расширение дорабатывали прямо в базе (например, местный программист поправил макет), загрузка из файла сотрёт эти правки. Здесь нужно объединение.
Сравнение и объединение с файлом
- Выделите расширение в окне
Расширения конфигурации. - В подменю
КонфигурациявыберитеСравнить, объединить с конфигурацией из файла…. - Укажите новый
.cfe. Откроется окно сравнения: слева текущее расширение, справа файл. - Пройдите по объектам с отличиями. Флажок у объекта означает «взять из файла».
- Для модулей с правками с обеих сторон откройте сравнение модуля и выберите режим объединения по процедурам. Чужие процедуры берите из файла, свои — оставляйте.
- Нажмите
Выполнить. Расширение в Конфигураторе обновится с учётом выбранных частей.
Когда что выбирать
| Ситуация | Способ | Риск |
|---|---|---|
| Расширение не правили в базе | Загрузить из файла | Минимальный |
| В базе свои правки, файл от разработчика | Сравнить, объединить | Ошибка выбора флажков затрёт правку |
| Расширение подключено к хранилищу | Обновить из хранилища | Чужие захваченные объекты |
| Файл не тот или сломан | Загрузить сохранённую старую копию | Нужна копия из подготовки |
Расширение в хранилище
Если расширение подключено к хранилищу конфигурации, файлы не нужны. Откройте расширение и в подменю хранилища этого расширения выберите обновление конфигурации из хранилища. Затем — обновление конфигурации базы данных, как в следующем разделе.
Если обновляется и типовая, и расширение
Частый случай: вышел новый релиз типовой, и разработчик сразу прислал версию расширения под него. Порядок такой:
- Сохраните старую версию расширения в файл.
- Обновите основную конфигурацию и примените её к базе обычным способом.
- Запустите Предприятие и дождитесь окончания обработчиков обновления типовой.
- Вернитесь в Конфигуратор и загрузите новую версию расширения.
- Выполните обновление конфигурации базы данных для расширения.
Если сделать наоборот, новое расширение может не примениться к старому релизу: в нём уже есть ссылки на объекты, которых в базе ещё нет.
Обновление конфигурации базы данных для расширения
Загрузка файла и обновление конфигурации базы данных — два разных шага. Пока второй не выполнен, программа работает со старой версией расширения.
Как применить расширение
- В окне
Расширения конфигурациивыделите расширение. - В подменю
КонфигурациявыберитеОбновить конфигурацию базы данных. - Если расширение меняет структуру данных, появится окно со списком изменений. Прочитайте его: строки об удалении реквизитов означают потерю данных в них.
- Нажмите
Принять.
Если открыто дерево самого расширения, удобнее нажать F7 — команда применится к активному расширению.
Что происходит с пользователями
- 🟢 Расширение без новых данных (формы, макеты, модули): обновляется без выгона пользователей. Новые сеансы сразу получат новую версию, открытые продолжат работать со старой до перезапуска.
- 🟡 Расширение с новыми объектами и реквизитами: нужна реструктуризация таблиц. Если таблицы заняты, платформа может предложить отложить обновление или сообщить, что нужно завершить работу пользователей .
- 🔴 Удаление объектов с данными: делайте только при отсутствии пользователей и после копии базы.
Если для обновления нужно завершить сеансы пользователей — предупредите их заранее. Принудительное завершение сеанса обрывает несохранённую работу: открытый незаписанный документ пропадёт.
Флажки в списке расширений
В списке расширений есть колонки Активно, Безопасный режим и Защита от опасных действий. После обновления проверьте, что Активно включено. Если расширение работает с файлами, внешними компонентами или COM, для него может понадобиться выключить безопасный режим. Это решение администратора: в безопасном режиме расширение не может выполнять потенциально опасные операции.
Обновление расширения в пакетном режиме
Если баз много или обновление идёт по расписанию, Конфигуратор можно запустить из командной строки без интерфейса. Ключ -Extension указывает, к какому расширению относится команда.
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER ^
/F "D:\Bases\Buh" /N "Администратор" /P "пароль" ^
/DisableStartupDialogs ^
/DumpCfg "D:\Backup\Dorabotki_old.cfe" -Extension "Доработки" ^
/Out "D:\Logs\ext_update.log"
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER ^
/F "D:\Bases\Buh" /N "Администратор" /P "пароль" ^
/DisableStartupDialogs ^
/LoadCfg "D:\Ext\Dorabotki_1.0.3.cfe" -Extension "Доработки" ^
/UpdateDBCfg -Extension "Доработки" ^
/Out "D:\Logs\ext_update.log"
Первая команда сохраняет текущую версию в файл, вторая загружает новую и применяет её. Номер версии в пути замените на свой.
Для клиент-серверной базы вместо /F укажите /S "сервер\имя_базы". Пароль в bat-файле храните только на защищённом сервере: файл читается любым, у кого есть доступ к папке.
Смотрите журнал из /Out после каждого запуска. Пакетный режим не показывает окон: ошибку применения расширения вы увидите только в журнале.
Ошибки при обновлении расширения
Большинство проблем возникает не при загрузке файла, а при применении расширения: после обновления типовой конфигурации или при несовпадении версий.
Если ничего не помогло
- Загрузите сохранённый перед обновлением файл старой версии и выполните
Обновить конфигурацию базы данных. - Если старая версия тоже не применяется, значит, конфликт с новым релизом типовой. Выключите флажок
Активно, чтобы пользователи могли работать, и передайте разработчику текст ошибки. - Если пострадали данные расширения — восстановите базу из копии.
Проверка расширения и выпуск в работу
Расширение могли проверить на тестовой копии, но рабочая база всегда отличается: другие пользователи, права, накопленные данные.
Что проверить сразу после обновления
- Запустите Предприятие под администратором. Сообщений о неприменённых расширениях быть не должно.
- Пройдите сценарий, ради которого расширение обновляли: распечатайте исправленную форму, проведите документ с новым реквизитом.
- Зайдите под обычным пользователем. Если расширение добавило объекты, проверьте, что у его роли есть права на них.
- Откройте журнал регистрации (
Администрирование → Журнал регистрациив Конфигураторе) и отфильтруйте события с ошибками за последние полчаса.
Тестовая копия до рабочей базы
Для расширений, которые меняют проведение документов или расчёты, сначала обновите копию базы. Порядок такой:
- 📦 выгрузите рабочую базу в
.dtи загрузите в отдельную тестовую базу; - 🔧 обновите расширение на тестовой копии теми же шагами;
- 🧪 проверьте два-три реальных документа за прошлый месяц и сравните результат с рабочей базой;
- ✅ только после этого повторите обновление в рабочей базе.
Частые вопросы об обновлении расширений
Можно ли обновить расширение без Конфигуратора?
Администрирование. Через неё можно заменить расширение файлом, но объединения с локальными правками там нет.Слетит ли расширение при обновлении типовой конфигурации?
Нужно ли снимать конфигурацию с поддержки, чтобы обновить расширение?
Как узнать, какие расширения стоят в базе?
Конфигурация → Расширения конфигурации. В Предприятии — форма управления расширениями в разделе администрирования.