Файл .cfe в базу 1С 8.3: загрузка, применение и проверка расширения

· 9 мин

Содержание

Чтобы загрузить расширение в 1С через конфигуратор, откройте базу в режиме Конфигуратора, выберите Конфигурация → Расширения конфигурации, добавьте новую строку кнопкой «Добавить» (или выделите существующее расширение для замены) и загрузите в неё файл .cfe командой «Загрузить конфигурацию из файла ». После этого нажмите F7 — «Обновить конфигурацию базы данных». Без этого шага расширение лежит в базе, но не работает .

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

Что подготовить перед загрузкой расширения

Расширение меняет поведение типовых объектов. Ошибка в чужом .cfe может сломать проведение документов или печать. Поэтому перед загрузкой в рабочую базу соберите минимум.

  • 📦 Резервная копия базы. Файл .dt через Администрирование → Выгрузить информационную базу в Конфигураторе, либо штатный бэкап СУБД для клиент-серверной базы. Загружать незнакомое расширение в рабочую базу без копии нельзя.
  • 📄 Файл расширения с расширением .cfe. Уточните у разработчика, под какую конфигурацию и какой релиз он собран.
  • 🔢 Версия платформы. Номер платформы на компьютере должен быть не ниже той, в которой сохранили расширение. Иначе файл просто не откроется.
  • 🔐 Права. Нужен пользователь с ролью «Полные права» (или «Администратор системы»), иначе вход в Конфигуратор будет недоступен.
  • 🧪 Копия базы для пробы. Если расширение новое для вас, сначала прогоните его на копии.

Если вы заменяете уже установленное расширение новой версией, сохраните старую в файл. В окне расширений выделите строку и выберите «Сохранить конфигурацию в файл». Откат займёт минуту.

Отдельно о монопольном режиме. Сама загрузка .cfe его не требует. Но если в расширении есть новые реквизиты или объекты с данными, при обновлении конфигурации базы данных платформе может понадобиться завершить сеансы. Планируйте установку на время, когда в базе мало людей.

Открываем базу в конфигураторе и окно расширений

  1. Запустите 1С и выделите базу в списке.
  2. Нажмите кнопку «Конфигуратор».
  3. Введите имя пользователя с полными правами и пароль.
  4. Если дерево конфигурации не открылось само, выберите Конфигурация → Открыть конфигурацию. Для работы с расширениями это не обязательно, но так удобнее сверять объекты.
  5. Откройте Конфигурация → Расширения конфигурации.

Появится окно со списком расширений этой базы. Колонки показывают имя, синоним, версию и признак активности. Внизу или в свойствах строки видны флаги «Активно», «Безопасный режим», «Защита от опасных действий».

Если пункт Расширения конфигурации недоступен, проверьте режим совместимости основной конфигурации. В режиме совместимости с 8.2 и ранее расширения не поддерживаются.

Загрузка файла .cfe: новое расширение или замена

Здесь два сценария. Их часто путают, и на этом теряется время.

СценарийЧто делатьЧто произойдёт
Расширения в базе ещё нет«Добавить» → новая строка → загрузить в неё .cfeСоздаётся новое расширение с содержимым из файла
Ставите новую версию того же расширенияВыделить существующую строку → загрузить .cfeСодержимое расширения полностью заменяется файлом
Нужно второе расширение рядом с первым«Добавить» ещё одну строкуОба расширения работают одновременно

Новое расширение

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

Замена существующего расширения

  1. Выделите строку нужного расширения.
  2. Тем же путём — меню «Конфигурация» в окне расширений → «Загрузить конфигурацию из файла…».
  3. Подтвердите замену.

Загружайте файл именно в ту строку, которую хотите изменить. Если выделить чужое расширение, его содержимое будет затёрто без возможности отмены. Спасает только сохранённый ранее .cfe или копия базы.

Расширение хранится внутри базы. После загрузки исходный .cfe можно убрать, но лучше держать его в папке с версиями доработок — пригодится при переносе на другую базу.

Что проверить в дереве расширения после загрузки

Двойной щелчок по строке в окне расширений открывает дерево расширения. Перед применением потратьте пару минут на осмотр.

  • 🏷 Имя и префикс. Префикс нужен, чтобы новые объекты расширения не пересекались с типовыми. Два расширения с одинаковым именем в одной базе не уживутся.
  • 🎯 Назначение. Свойство расширения: «Исправление», «Адаптация» или «Дополнение». Оно влияет на порядок применения, если расширений несколько.
  • ⚙️ Режим совместимости. Он не должен быть выше режима совместимости основной конфигурации.
  • 🧩 Заимствованные объекты. Это объекты типовой конфигурации, которые расширение дорабатывает. Если в вашем релизе какого-то объекта нет или он переименован, применение сорвётся.
  • 📝 Модули. Откройте пару модулей и посмотрите на аннотации &Перед, &После, &Вместо, &ИзменениеИКонтроль. Так вы поймёте, какие процедуры типовой конфигурации перехватываются.

Отдельно посмотрите флаги в окне расширений:

ФлагЧто значитКогда снимать
АктивноРасширение подключается при запускеСнимают временно, чтобы отключить доработку без удаления
Безопасный режимКод расширения не может работать с файлами, COM, внешними компонентамиТолько если разработчик прямо сказал, что это нужно, и вы доверяете коду
Защита от опасных действийПользователь получает предупреждение при потенциально опасных операцияхОбычно оставляют как есть

Снимать «Безопасный режим» у расширения из непроверенного источника опасно. Код без ограничений может читать файлы на сервере и запускать программы.

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

Загрузка файла только кладёт расширение в базу. Чтобы оно заработало, выполните:

  1. Конфигурация → Обновить конфигурацию базы данных или клавишу F7.
  2. Если появится окно со списком изменений структуры, просмотрите его и нажмите «Принять».
  3. Дождитесь сообщения в окне служебных сообщений об успешном обновлении.

При проблемах платформа выводит в окно сообщений список причин. Типичный текст начинается с Расширение … не может быть применено и дальше перечисляет объекты и свойства, которые не совпали с основной конфигурацией.

Пользователи, у которых 1С уже открыта, изменений не увидят. Им нужно закрыть программу и войти снова.

Если база подключена к хранилищу

У расширения своё хранилище, отдельное от хранилища основной конфигурации. Загрузка .cfe в базу разработчика, подключённую к хранилищу, без захвата объектов расширения не пройдёт. Порядок такой: захватить расширение в его хранилище, загрузить файл, поместить изменения. В рабочие базы, которые хранилищем не пользуются, расширение ставят обычной загрузкой файла.

Как понять, какая версия установлена

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

Если расширений несколько, а основную конфигурацию недавно обновляли, применяйте их по одному. Так сразу видно, какое из них конфликтует с новым релизом.

Проверка в режиме 1С:Предприятие и отладка

После F7 запустите базу в пользовательском режиме: в Конфигураторе Отладка → Начать отладку (F5) или обычным входом.

Что проверить:

  1. Откройте Все функции → Стандартные → Управление расширениями конфигурации. Расширение должно быть в списке и отмечено как активное. Если команды «Все функции» нет в меню, включите её в параметрах программы.
  2. В конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11) список расширений есть и в Администрирование → Печатные формы, отчёты и обработки → Расширения.
  3. Повторите действие, ради которого ставили доработку: проведите документ, откройте форму, сформируйте печатную форму.

Если доработка не срабатывает, переходите к отладке.

  • 🐞 Поставьте точку останова (F9) в модуле расширения прямо в Конфигураторе.
  • ▶️ Запустите отладку F5 и повторите действие. Если выполнение не останавливается, процедура не вызывается: проверьте имя перехватываемой процедуры и аннотацию.
  • 🔁 Проверьте, не перехватывает ли ту же процедуру другое расширение. Сразу отключите его флагом «Активно» и повторите.
  • 👤 Посмотрите права пользователя. Новые объекты расширения доступны только ролям, которые им заданы. Роль из расширения добавляют пользователю в его карточке.

Загрузка расширения из командной строки

Когда баз много или установку нужно делать по расписанию, удобен пакетный режим Конфигуратора. Одна команда загружает .cfe в расширение с заданным именем, вторая применяет изменения.

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /LoadCfg "D:\Ext\Dorabotka.cfe" -Extension "МоеРасширение" /Out "D:\Ext\load.log"

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /UpdateDBCfg -Extension "МоеРасширение" /Out "D:\Ext\update.log"

Пояснения:

  • /F — путь к файловой базе. Для клиент-серверной вместо него /S "сервер\имябазы".
  • -Extension — имя расширения в базе. Если его ещё нет, оно будет создано.
  • /Out — журнал. Читайте его после каждого запуска: при ошибке Конфигуратор просто завершится, без окна.
  • Путь к 1cv8.exe подставьте свой, по номеру установленной платформы.

Пароль в bat-файле хранится открытым текстом. Держите такой файл в папке с ограниченным доступом и не оставляйте его на общих ресурсах.

Выгрузить расширение в файл тем же способом можно ключом /DumpCfg с -Extension. Это удобно для резервной копии перед заменой.

Ошибки при загрузке и применении расширения

Ниже — симптомы, которые чаще всего встречаются на этом этапе, и что с ними делать.

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

Если основную конфигурацию обновляют регулярно, заведите правило: после каждого обновления релиза сразу нажимать F7 и смотреть сообщения о расширениях. Конфликт лучше поймать в Конфигураторе, чем узнать о нём от бухгалтера.

Частые вопросы

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