Подключение файла .cfe к базе 1С 8.3 в режиме Конфигуратора

· 10 мин

Содержание

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

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

Что подготовить перед подключением расширения

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

Права пользователя

В Конфигуратор входите под пользователем с ролью полных прав (в типовых — «Полные права» или «Администратор системы»). Пользователь без административных прав не увидит команду работы с расширениями или получит отказ при сохранении.

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

Версия платформы и режим совместимости

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

Где посмотреть:

  • 🔹 номер платформы — Справка → О программе;
  • 🔹 режим совместимости основной конфигурации — палитра свойств корня дерева конфигурации;
  • 🔹 требования расширения — у разработчика, обычно в описании к файлу.

Резервная копия

Перед загрузкой чужого расширения в рабочую базу сделайте выгрузку: Администрирование → Выгрузить информационную базу (файл .dt). Для клиент-серверной базы подойдёт и бэкап средствами СУБД.

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

Как добавить расширение в 1С через Конфигуратор: пошаговый порядок

Ниже стандартный путь для готового файла .cfe, который прислал разработчик или франчайзи.

Шаг 1. Откройте список расширений

  1. Запустите базу в режиме Конфигуратор.
  2. Откройте дерево основной конфигурации (Конфигурация → Открыть конфигурацию). Без этого часть команд может быть недоступна.
  3. Выберите Конфигурация → Расширения конфигурации. Откроется окно со списком подключённых расширений.

Шаг 2. Создайте пустое расширение

  1. В окне списка нажмите Добавить.
  2. Платформа создаст расширение с именем вида Расширение1 и префиксом Расш1_. Имя и префикс сейчас не важны: при загрузке файла они заменятся значениями из .cfe.

Шаг 3. Загрузите файл .cfe

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

Шаг 3а. Просмотрите содержимое до применения

Пока не нажата F7, расширение загружено, но к базе не применено. Это удобный момент проверить чужой код.

  • 🔹 Разверните дерево расширения: заимствованные объекты отмечены особым значком, свои — без него. Так видно, какие документы и формы затронет доработка.
  • 🔹 Откройте модули с кодом и поищите по тексту (Ctrl+F) обращения к COMОбъект, УстановитьПривилегированныйРежим, работе с файлами и внешними адресами. Если они есть, расширению понадобится снятый безопасный режим — и вам стоит понимать, зачем.
  • 🔹 Посмотрите свойства корня расширения: имя, префикс, назначение, режим совместимости.

Если что-то смущает, просто удалите расширение из списка: в базу оно ещё ничего не записало.

Шаг 4. Обновите конфигурацию базы данных

  1. Находясь в дереве расширения, нажмите F7 или Конфигурация → Обновить конфигурацию базы данных.
  2. Если расширение добавляет реквизиты или новые объекты, платформа покажет список изменений структуры — примите его.
  3. Дождитесь окончания. Ошибки применимости, если они есть, появятся именно здесь (разбор — ниже).

Шаг 5. Проверьте в пользовательском режиме

Запустите 1С:Предприятие и откройте то место, которое меняет расширение: форму, отчёт, печатную форму. Если ничего не изменилось, проверьте флажок Активно в списке расширений и перезапустите сеанс.

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

Альтернатива: загрузка без Конфигуратора

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

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

Для нескольких баз или регламентного обновления пригодится пакетный запуск Конфигуратора. Файловая база, расширение с именем МоиДоработки:

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"" /LoadCfg "D:\Ext\MoiDorabotki.cfe" -Extension "МоиДоработки" /UpdateDBCfg -Extension "МоиДоработки" /Out "D:\Ext\log.txt"

Номер платформы в пути замените на свой. Результат смотрите в файле log.txt: при ошибке там будет текст, который в интерактивном режиме вы увидели бы в окне сообщений.

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

В окне Расширения конфигурации у каждой строки есть флажки. От них зависит, будет ли код работать так, как задумал разработчик.

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

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

Данные, которые хранит расширение

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

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

Как отключить или удалить расширение

  • 🔸 Временно отключить — снять флажок Активно, перезапустить сеанс пользователя.
  • 🔸 Удалить — выделить строку и нажать Удалить. Если расширение хранило свои данные (добавленные реквизиты, справочники), платформа предупредит, что эти данные пропадут.
  • 🔸 Заменить новой версией — не удалять, а повторно загрузить .cfe в то же расширение (шаг 3) и обновить конфигурацию БД. Так данные расширения сохранятся.

Порядок нескольких расширений

Если два расширения перехватывают одну и ту же процедуру, важен порядок их применения: он зависит от свойства Назначение (о нём ниже) и от очерёдности подключения. При конфликте сначала отключите одно из них и проверьте, какое даёт сбой.

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

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

Назначение и префикс

  • 🔹 Префикс — к нему автоматически добавляются имена новых объектов и процедур. Задайте осмысленный, например Склад_, чтобы не путать доработки разных подрядчиков.
  • 🔹 Назначение — Исправление (точечная правка ошибки), Адаптация (подгонка под конкретную компанию) или Дополнение (тиражируемая доработка). От назначения зависит порядок применения: исправления применяются раньше адаптаций, адаптации раньше дополнений.

Заимствование объектов

Чтобы изменить форму или модуль типового объекта, его сначала заимствуют: в дереве основной конфигурации правый клик по объекту → Добавить в расширение. В расширении появится «копия-ссылка» на объект, в которой можно менять форму и добавлять обработчики.

Перехват процедур аннотациями

Код типовой процедуры не переписывают целиком, а вызывают свой код до, после или вместо неё. Пример для модуля заимствованного документа — после стандартного проведения записать в журнал регистрации:

&После("ОбработкаПроведения")
Процедура Склад_ОбработкаПроведения(Отказ, РежимПроведения)
	Если Не Отказ Тогда
		ЗаписьЖурналаРегистрации("Склад.Проведение",
			УровеньЖурналаРегистрации.Информация, , Ссылка,
			"Документ проведён, номер " + Номер);
	КонецЕсли;
КонецПроцедуры

Какие аннотации есть:

  • 🔸 &Перед — ваш код выполняется до типового;
  • 🔸 &После — после типового;
  • 🔸 &Вместо — вместо типового; внутри можно вызвать оригинал через ПродолжитьВызов();
  • 🔸 &ИзменениеИКонтроль — правка внутри текста типовой процедуры через #Вставка и #Удаление (в свежих версиях платформы). Если после обновления типовой текст процедуры изменится, расширение перестанет применяться и потребует ручной сверки.

Предпочитайте &Перед и &После. &Вместо и &ИзменениеИКонтроль сильнее всего страдают при обновлении типовой конфигурации.

Отладка

Точки останова ставятся прямо в модулях расширения, как в основной конфигурации. Запустите Отладка → Начать отладку (F5), предварительно обновив конфигурацию БД (F7). Если изменили код и не обновили базу, отладчик будет останавливаться на старой версии.

Готовое расширение сохраняют в файл через меню Конфигурация окна списка → Сохранить конфигурацию в файл…. Именно этот .cfe передают в рабочую базу.

Обновление типовой конфигурации при подключённых расширениях

Главное преимущество расширений: основная конфигурация остаётся на поддержке, и её обновляют штатно, файлом .cfu. Расширение отдельно не трогают.

Порядок, который снижает риск:

  1. Обновите копию базы и проверьте, что расширения применяются без ошибок.
  2. Если проверка прошла — обновляйте рабочую базу.
  3. Если расширение «отвалилось» — запросите у разработчика версию под новый релиз до обновления рабочей базы.

Почему расширение может перестать работать после обновления:

  • 🔴 у заимствованного объекта изменилось контролируемое свойство (например, тип реквизита);
  • 🔴 переименовали или удалили реквизит, элемент формы или процедуру, на которую ссылается расширение;
  • 🔴 изменился текст процедуры, перехваченной через &ИзменениеИКонтроль;
  • 🔴 вырос режим совместимости основной конфигурации, а расширение использует устаревшее поведение.

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

Ошибки при подключении расширений 1С и их разбор

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

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

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

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

Частые вопросы о расширениях конфигурации

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