Новая версия расширения в базе: загрузка .cfe и применение в Конфигураторе

· 9 мин

Содержание

Чтобы обновить расширение конфигурации 1С через Конфигуратор, откройте Конфигурация → Расширения конфигурации, выделите нужное расширение и в подменю Конфигурация окна списка выберите Загрузить конфигурацию из файла…. Укажите новый файл .cfe, затем выполните Обновить конфигурацию базы данных в том же подменю. Пользователи получат новую версию при следующем входе в программу.

Типичная ситуация: программист прислал файл Доработки_v2.cfe с исправленной печатной формой счёта, а в базе стоит первая версия. Загрузить файл — пять минут. Но если расширение правили прямо в базе или после обновления типовой конфигурации, простая загрузка затрёт чужие изменения или не применится. Ниже — порядок для обоих случаев.

Механизм расширений появился в платформе 8.3.6, всё описанное относится к 8.3 и не зависит от конфигурации: в БП 3.0, ЗУП 3.1 и УТ 11 порядок одинаковый.

Подготовка базы к обновлению расширения

Расширение хранится в самой информационной базе. Если оно добавляет свои реквизиты, справочники или регистры, в нём лежат и данные. Поэтому подготовка важнее самой загрузки.

Что сделать до загрузки файла

  1. Сделайте копию базы . Для файловой — выгрузка Администрирование → Выгрузить информационную базу… в Конфигураторе или копия каталога с файлом 1Cv8.1CD при закрытой базе. Для клиент-серверной — резервная копия средствами СУБД.
  2. Сохраните текущую версию расширения в файл. В окне Расширения конфигурации выделите расширение и выберите в подменю Конфигурация команду Сохранить конфигурацию в файл…. Получится .cfe старой версии — это быстрый откат, если новая не заработает.
  3. Проверьте, правили ли расширение в базе. Если не уверены — сравните сохранённую копию с файлом от разработчика (см. раздел про сравнение ниже).
  4. Сверьте платформу. Файл .cfe, сохранённый на более новой версии платформы, может не загрузиться на старой. Номер версии платформы в базе должен быть не ниже той, на которой собирали расширение.
  5. Выберите время. Если расширение меняет структуру данных, обновление базы данных лучше делать, когда в программе никого нет.

Копия базы обязательна, если новая версия расширения удаляет объекты или реквизиты. Данные этих реквизитов будут удалены при обновлении конфигурации базы данных, и вернуть их можно только из копии.

Где посмотреть текущую версию расширения

Откройте расширение двойным щелчком в списке. В дереве объектов вызовите свойства корневого элемента. Там видны Имя, Синоним, Версия, Префикс имен, Назначение и Режим совместимости. Запишите версию и режим совместимости — пригодятся при разборе ошибок.

Загрузка нового файла расширения в Конфигуратор

Простой случай: расширение в базе не правили, у вас есть готовый файл от разработчика или поставщика.

Пошагово

  1. Запустите Конфигуратор под пользователем с полными правами.
  2. Откройте Конфигурация → Расширения конфигурации.
  3. В списке выделите расширение, которое обновляете. Выделять нужно именно его: загрузка заменит содержимое выделенной строки.
  4. В командной панели окна откройте подменю Конфигурация и выберите Загрузить конфигурацию из файла….
  5. Укажите файл .cfe. Платформа спросит подтверждение замены — согласитесь.
  6. Дождитесь окончания загрузки. Пока расширение загружено, но в базе ещё работает старая версия.

Если нужного расширения в списке ещё нет, это не обновление, а установка: нажмите Добавить, затем загрузите файл в новую строку.

Как понять, что файл загрузился

После загрузки откройте расширение и проверьте свойство Версия — оно должно совпасть с новой версией. Если разработчик не заполняет версию, проверьте объект, который точно поменялся: например, новый макет печатной формы или новый реквизит.

Держите файлы расширений с версией в имени: Доработки_1.0.3.cfe. Через полгода будет ясно, что стоит в базе и к чему откатываться.

Сравнение и объединение версий расширения

Если расширение дорабатывали прямо в базе (например, местный программист поправил макет), загрузка из файла сотрёт эти правки. Здесь нужно объединение.

Сравнение и объединение с файлом

  1. Выделите расширение в окне Расширения конфигурации.
  2. В подменю Конфигурация выберите Сравнить, объединить с конфигурацией из файла….
  3. Укажите новый .cfe. Откроется окно сравнения: слева текущее расширение, справа файл.
  4. Пройдите по объектам с отличиями. Флажок у объекта означает «взять из файла».
  5. Для модулей с правками с обеих сторон откройте сравнение модуля и выберите режим объединения по процедурам. Чужие процедуры берите из файла, свои — оставляйте.
  6. Нажмите Выполнить. Расширение в Конфигураторе обновится с учётом выбранных частей.

Когда что выбирать

СитуацияСпособРиск
Расширение не правили в базеЗагрузить из файлаМинимальный
В базе свои правки, файл от разработчикаСравнить, объединитьОшибка выбора флажков затрёт правку
Расширение подключено к хранилищуОбновить из хранилищаЧужие захваченные объекты
Файл не тот или сломанЗагрузить сохранённую старую копиюНужна копия из подготовки

Расширение в хранилище

Если расширение подключено к хранилищу конфигурации, файлы не нужны. Откройте расширение и в подменю хранилища этого расширения выберите обновление конфигурации из хранилища. Затем — обновление конфигурации базы данных, как в следующем разделе.

Если обновляется и типовая, и расширение

Частый случай: вышел новый релиз типовой, и разработчик сразу прислал версию расширения под него. Порядок такой:

  1. Сохраните старую версию расширения в файл.
  2. Обновите основную конфигурацию и примените её к базе обычным способом.
  3. Запустите Предприятие и дождитесь окончания обработчиков обновления типовой.
  4. Вернитесь в Конфигуратор и загрузите новую версию расширения.
  5. Выполните обновление конфигурации базы данных для расширения.

Если сделать наоборот, новое расширение может не примениться к старому релизу: в нём уже есть ссылки на объекты, которых в базе ещё нет.

Обновление конфигурации базы данных для расширения

Загрузка файла и обновление конфигурации базы данных — два разных шага. Пока второй не выполнен, программа работает со старой версией расширения.

Как применить расширение

  1. В окне Расширения конфигурации выделите расширение.
  2. В подменю Конфигурация выберите Обновить конфигурацию базы данных.
  3. Если расширение меняет структуру данных, появится окно со списком изменений. Прочитайте его: строки об удалении реквизитов означают потерю данных в них.
  4. Нажмите Принять.

Если открыто дерево самого расширения, удобнее нажать 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 после каждого запуска. Пакетный режим не показывает окон: ошибку применения расширения вы увидите только в журнале.

Ошибки при обновлении расширения

Большинство проблем возникает не при загрузке файла, а при применении расширения: после обновления типовой конфигурации или при несовпадении версий.

Диагностика: выберите симптом

Если ничего не помогло

  1. Загрузите сохранённый перед обновлением файл старой версии и выполните Обновить конфигурацию базы данных.
  2. Если старая версия тоже не применяется, значит, конфликт с новым релизом типовой. Выключите флажок Активно, чтобы пользователи могли работать, и передайте разработчику текст ошибки.
  3. Если пострадали данные расширения — восстановите базу из копии.

Проверка расширения и выпуск в работу

Расширение могли проверить на тестовой копии, но рабочая база всегда отличается: другие пользователи, права, накопленные данные.

Что проверить сразу после обновления

  1. Запустите Предприятие под администратором. Сообщений о неприменённых расширениях быть не должно.
  2. Пройдите сценарий, ради которого расширение обновляли: распечатайте исправленную форму, проведите документ с новым реквизитом.
  3. Зайдите под обычным пользователем. Если расширение добавило объекты, проверьте, что у его роли есть права на них.
  4. Откройте журнал регистрации (Администрирование → Журнал регистрации в Конфигураторе) и отфильтруйте события с ошибками за последние полчаса.

Тестовая копия до рабочей базы

Для расширений, которые меняют проведение документов или расчёты, сначала обновите копию базы. Порядок такой:

  • 📦 выгрузите рабочую базу в .dt и загрузите в отдельную тестовую базу;
  • 🔧 обновите расширение на тестовой копии теми же шагами;
  • 🧪 проверьте два-три реальных документа за прошлый месяц и сравните результат с рабочей базой;
  • ✅ только после этого повторите обновление в рабочей базе.
Расширение выпущено в работу
Выполнено: 0 / 6

Частые вопросы об обновлении расширений

Можно ли обновить расширение без Конфигуратора?
Да. В типовых конфигурациях на БСП есть форма управления расширениями в режиме Предприятия, в разделе Администрирование. Через неё можно заменить расширение файлом, но объединения с локальными правками там нет.
Слетит ли расширение при обновлении типовой конфигурации?
Нет, расширение остаётся в базе. Но после нового релиза оно может перестать применяться, если изменились заимствованные объекты. Проверяйте расширения после каждого обновления типовой.
Нужно ли снимать конфигурацию с поддержки, чтобы обновить расширение?
Нет. Расширение живёт отдельно от основной конфигурации, режим поддержки на него не влияет.
Как узнать, какие расширения стоят в базе?
В Конфигураторе — список Конфигурация → Расширения конфигурации. В Предприятии — форма управления расширениями в разделе администрирования.
Сохранятся ли данные расширения при загрузке новой версии?
Сохранятся данные в объектах и реквизитах, которые остались в новой версии с теми же именами. Данные удалённых или переименованных реквизитов пропадут при обновлении базы данных.