Подключение файла .cfe к базе 1С 8.3 в режиме Конфигуратора
Содержание
Чтобы добавить расширение
в 1С через Конфигуратор, откройте Конфигурация → Расширения конфигурации, нажмите Добавить, затем загрузите в новое расширение файл .cfe и выполните Обновить конфигурацию базы данных (F7). Без последнего шага расширение висит в списке, но в пользовательском режиме не работает.
Частое заблуждение — что расширение «встраивается» в типовую конфигурацию и снимает её с поддержки. Это не так. Расширение хранится отдельно, основная конфигурация остаётся нетронутой, а типовые обновления ставятся как обычно. Механизм появился в платформе 8.3.6 и работает одинаково во всех конфигурациях на 8.3: БП 3.0, ЗУП 3.1, УТ 11, ERP.
Что подготовить перед подключением расширения
Подключение расширения — операция с небольшим риском, но в рабочей базе ошибка в чужом коде может сломать проведение документов. Поэтому до начала проверьте три вещи.
Права пользователя
В Конфигуратор входите под пользователем с ролью полных прав (в типовых — «Полные права» или «Администратор системы»). Пользователь без административных прав не увидит команду работы с расширениями или получит отказ при сохранении.
Если в базе нет ни одного пользователя, Конфигуратор откроется без авторизации и ограничений по правам не будет.
Версия платформы и режим совместимости
У каждого расширения есть свойство Режим совместимости. Оно должно быть не выше режима совместимости основной конфигурации, а платформа на компьютере — номер не ниже той, под которую собран .cfe.
Где посмотреть:
- 🔹 номер платформы —
Справка → О программе; - 🔹 режим совместимости основной конфигурации — палитра свойств корня дерева конфигурации;
- 🔹 требования расширения — у разработчика, обычно в описании к файлу.
Резервная копия
Перед загрузкой чужого расширения в рабочую базу сделайте выгрузку: Администрирование → Выгрузить информационную базу (файл .dt). Для клиент-серверной базы подойдёт и бэкап средствами СУБД.
Ещё лучше — сначала подключить расширение к копии базы и прогнать типовые сценарии: открыть формы, которые оно меняет, провести пару документов, сформировать отчёты.
Как добавить расширение в 1С через Конфигуратор: пошаговый порядок
Ниже стандартный путь для готового файла .cfe, который прислал разработчик или франчайзи.
Шаг 1. Откройте список расширений
- Запустите базу в режиме
Конфигуратор. - Откройте дерево основной конфигурации (
Конфигурация → Открыть конфигурацию). Без этого часть команд может быть недоступна. - Выберите
Конфигурация → Расширения конфигурации. Откроется окно со списком подключённых расширений.
Шаг 2. Создайте пустое расширение
- В окне списка нажмите
Добавить. - Платформа создаст расширение с именем вида
Расширение1и префиксомРасш1_. Имя и префикс сейчас не важны: при загрузке файла они заменятся значениями из.cfe.
Шаг 3. Загрузите файл .cfe
- Выделите только что созданное расширение.
- В командной панели окна откройте меню
Конфигурацияи выберитеЗагрузить конфигурацию из файла…. - Укажите файл
.cfeи подтвердите замену содержимого. - После загрузки откроется дерево расширения. Проверьте, что имя и префикс теперь совпадают с теми, что задал разработчик.
Шаг 3а. Просмотрите содержимое до применения
Пока не нажата F7, расширение загружено, но к базе не применено. Это удобный момент проверить чужой код.
- 🔹 Разверните дерево расширения: заимствованные объекты отмечены особым значком, свои — без него. Так видно, какие документы и формы затронет доработка.
- 🔹 Откройте модули с кодом и поищите по тексту (
Ctrl+F) обращения кCOMОбъект,УстановитьПривилегированныйРежим, работе с файлами и внешними адресами. Если они есть, расширению понадобится снятый безопасный режим — и вам стоит понимать, зачем. - 🔹 Посмотрите свойства корня расширения: имя, префикс, назначение, режим совместимости.
Если что-то смущает, просто удалите расширение из списка: в базу оно ещё ничего не записало.
Шаг 4. Обновите конфигурацию базы данных
- Находясь в дереве расширения, нажмите F7 или
Конфигурация → Обновить конфигурацию базы данных. - Если расширение добавляет реквизиты или новые объекты, платформа покажет список изменений структуры — примите его.
- Дождитесь окончания. Ошибки применимости, если они есть, появятся именно здесь (разбор — ниже).
Шаг 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С и их разбор
Безопасный режим — только если доверяете источнику.Активно или пользователь не перезапускал сеанс.Активно, проверьте проведение. Если без расширения всё работает, откройте журнал регистрации: в событии ошибки виден модуль и строка.Если не помогло
Когда расширение блокирует работу, а разбираться некогда, отключите его флажком Активно и перезапустите сеансы — база продолжит работать на типовом коде. Удалять расширение при этом не нужно: его данные сохранятся, и после исправления его просто включают обратно.
Если же ошибка появилась при обновлении конфигурации БД и Конфигуратор не даёт закончить, восстановите базу из выгрузки .dt, сделанной перед подключением, и тестируйте расширение на копии.
Частые вопросы о расширениях конфигурации
Снимается ли типовая конфигурация с поддержки после добавления расширения?
Нужен ли монопольный режим, чтобы подключить расширение?
Чем расширение отличается от внешней обработки?
.epf, который запускается сам по себе. Расширение меняет поведение типовых объектов: формы, проведение, печать, права.Где посмотреть, какие расширения уже подключены?
Конфигурация → Расширения конфигурации. В пользовательском режиме типовых конфигураций — Администрирование → Печатные формы, отчеты и обработки → Расширения.