Подключаем готовое расширение .cfe к базе 1С 8.3: три способа и проверка

· 9 мин

Содержание

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

Механизм общий для платформы 8.3, начиная с версии 8.3.6, и не зависит от конфигурации. Различается только то, где удобнее нажать кнопку. Основную конфигурацию снимать с поддержки не нужно: расширение подключается поверх неё и не трогает типовой код.

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

Пять минут подготовки избавят от большинства отказов при подключении.

  • 📄 Файл именно .cfe. Это формат расширения. Файл .epf — внешняя обработка, .erf — внешний отчёт, .cf — целая конфигурация. Их через окно расширений не загрузить.
  • 🔑 Права. У пользователя должна быть роль с правом «Администрирование расширений конфигурации» или полные права. В типовых конфигурациях это профиль «Администратор».
  • 🧩 Совместимость. Режим совместимости расширения не должен быть выше режима совместимости основной конфигурации. Узнайте у разработчика, под какую конфигурацию и какой релиз собран файл.
  • 🗂 Версия платформы. Номер платформы на компьютере должен быть не ниже того, на котором расширение сохраняли. Свою версию видно в окне «О программе».
  • 💾 Резервная копия. Расширение, которое добавляет свои справочники или реквизиты, меняет структуру базы. Перед первой загрузкой выгрузите базу в .dt или сделайте копию средствами СУБД.

Попросите у разработчика имя расширения и его префикс (например, Расш1_). Если в базе уже есть расширение с таким же именем, новое заменит старое, а не встанет рядом.

Ещё один момент — сеансы. Загрузка в пользовательском режиме не требует выгонять всех из базы. Но новые объекты и формы появятся у каждого пользователя только после перезапуска его сеанса.

Способ 1. Добавление расширения из файла в режиме 1С:Предприятие

Подходит для типовых конфигураций на БСП. Конфигуратор не нужен, база остаётся рабочей.

  1. Откройте базу под пользователем с правами администратора.
  2. Перейдите в Администрирование → Печатные формы, отчеты и обработки.
  3. Включите флажок «Расширения», если он не стоит, и перейдите по ссылке «Расширения».
  4. В списке нажмите «Добавить из файла…».
  5. Программа покажет предупреждение безопасности. Прочитайте его и подтвердите, что доверяете источнику файла.
  6. Выберите файл .cfe на диске. Расширение появится в списке.
  7. Перезапустите программу. Без перезапуска изменения не применятся даже у вас.

Если раздела нет или конфигурация самописная, используйте стандартную функцию платформы. Откройте меню «Все функции» (включается в Сервис и настройки → Параметры → Отображать команду «Все функции»). Там: Стандартные → Управление расширениями конфигурации. Кнопка «Добавить» в этой форме открывает выбор файла .cfe.

Форма БСП при загрузке сама проверяет, применимо ли расширение к текущей конфигурации. Если нет — покажет текст ошибки и откатит загрузку. Стандартная функция платформы делает то же самое, но сообщения у неё короче.

Способ 2. Загрузка расширения конфигурации из файла через Конфигуратор

Этот путь нужен, когда вы хотите сразу посмотреть код расширения, сравнить его с предыдущей версией или загрузить в базу без БСП.

Запуск Конфигуратора и окно расширений

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

Загрузка файла

  1. В окне «Расширения конфигурации » нажмите «Добавить». Задайте имя, синоним и префикс. Лучше сразу указать имя из исходного файла.
  2. Выделите созданное расширение. В командной панели окна откройте меню «Конфигурация» (в некоторых версиях платформы команды собраны в меню «Действия») и выберите «Загрузить из файла…».
  3. Укажите файл .cfe и согласитесь с заменой содержимого пустого расширения.
  4. Откройте дерево расширения и убедитесь, что объекты на месте.

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

Сравнение перед заменой

При обновлении существующего расширения сначала сохраните текущую версию в файл через ту же группу команд («Сохранить в файл…»). Получится откат на случай, если новая версия не заработает. Для внимательной проверки используйте сравнение и объединение с файлом: окно покажет, какие модули и формы изменились.

Перенос расширения из тестовой базы в рабочую

Частый сценарий: расширение отладили на копии, теперь его нужно перенести. Порядок такой.

  1. В тестовой базе откройте окно расширений, выделите нужное и выполните «Сохранить в файл…». Получится свежий .cfe.
  2. Проверьте, что релиз типовой конфигурации в тестовой и рабочей базе совпадает. Номер релиза смотрите в окне «О программе».
  3. В рабочей базе сохраните в файл текущую версию расширения, если оно уже есть.
  4. Загрузите новый файл любым способом из этой статьи и примените его.

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

Свойства расширения после подключения

Сразу после загрузки откройте свойства расширения. В форме БСП это колонки и флажки в списке. В Конфигураторе — свойства строки в окне расширений.

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

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

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

Назначение расширения

У самого расширения есть свойство «Назначение» в его свойствах конфигурации: «Исправление», «Адаптация» или «Дополнение». От него зависит порядок применения, если расширений несколько. Сначала применяются исправления, затем адаптации, затем дополнения. Менять назначение без разработчика не стоит.

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

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

  • 🖥 В пользовательском режиме форма «Расширения» и стандартная функция применяют расширение сами при загрузке. Отдельно ничего обновлять не нужно, достаточно перезапуска.
  • 🛠 В Конфигураторе загрузка лишь записывает расширение в конфигурацию расширения. Чтобы оно заработало, выполните для него обновление конфигурации базы данных: в окне расширений выделите его и выберите команду обновления конфигурации БД, либо Конфигурация → Обновить конфигурацию базы данных (F7), когда расширение открыто.

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

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

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

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

После загрузки и перезапуска проверьте четыре вещи.

  1. Расширение активно. В списке расширений флажок «Активно» стоит, ошибок применения нет.
  2. Видны новые объекты. Откройте то, что добавляет расширение: печатную форму в подменю «Печать», новый реквизит на форме документа, новую команду.
  3. Нет ошибок при работе. Проведите тестовый документ или сформируйте отчёт, который затрагивает расширение.
  4. Права настроены. Зайдите под обычным пользователем, а не администратором.

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

Сначала на копии базы

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

Проверка в Конфигураторе

В Конфигураторе для расширения доступна синтаксическая проверка (Конфигурация → Проверка конфигурации, когда расширение открыто). Она найдёт ссылки на отсутствующие объекты и ошибки в модулях. Применимость к основной конфигурации проверяет отдельная команда в окне «Расширения конфигурации».

Для отладки запустите базу из Конфигуратора в режиме отладки (F5). Модули расширения откроются в том же дереве, точки останова в них работают как в основной конфигурации.

Подключение расширения из файла через командную строку

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

"C:\Program Files\1cv8\8.3.24.1342\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /LoadCfg "D:\Ext\MyExt.cfe" -Extension MyExt /UpdateDBCfg -Extension MyExt /Out "D:\Ext\log.txt"

Что тут важно:

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

Не храните пароль администратора в bat-файле на общем диске. Запускайте скрипт под отдельной учётной записью и удаляйте его после развёртывания.

Ошибки при добавлении расширения из файла

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

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

Можно ли подключить расширение в базу на поддержке без снятия с поддержки?
Да. Расширение не меняет основную конфигурацию, поэтому типовая база остаётся на полной поддержке и обновляется как обычно.
Сколько расширений можно подключить к одной базе?
Жёсткого лимита для обычной работы нет. Но каждое расширение увеличивает время запуска сеанса, а пересечения в заимствованных объектах усложняют обновления.
Как удалить расширение, загруженное из файла?
В списке расширений выделите его и нажмите «Удалить». Если расширение хранило свои данные, они удалятся вместе с ним — сначала сделайте копию базы.
Где хранится расширение после загрузки?
В самой информационной базе, а не в папке с файлом. Исходный .cfe после загрузки можно не держать на компьютере, но лучше сохранить его для отката.
Попадёт ли расширение в выгрузку .dt?
Да, расширения входят в выгрузку информационной базы и восстанавливаются вместе с ней.