Подключение файла .cfe к базе 1С 8.3: из пользовательского режима и через Конфигуратор
Содержание
Чтобы добавить расширение конфигурации
в 1С 8.3, откройте в типовой конфигурации Администрирование → Печатные формы, отчеты и обработки → Расширения, нажмите «Добавить из файла…» и выберите файл .cfe. После перезапуска программы расширение заработает у всех пользователей. Второй путь — Конфигуратор: Конфигурация → Расширения конфигурации, загрузка файла и обновление конфигурации
базы данных для расширения.
Обычно файл присылает программист или франчайзи: доработанная печатная форма, новый отчёт, исправление ошибки типового релиза. Сам по себе файл ничего не меняет, пока его не загрузили в базу и не перезапустили сеансы. Чаще всего проблема не в загрузке, а в том, что расширение молча не применилось — это тоже разберём.
Что нужно до подключения расширения
Механизм расширений появился в платформе 8.3.6, и с тех пор сильно развился. Для современной конфигурации на платформе 8.3.2x ограничений по версии практически нет. Перед загрузкой проверьте четыре вещи.
- 🔑 Права. Пользователь должен иметь полные права (роль «Администратор» или «Полные права» в типовых) либо право «Администрирование расширений конфигурации». Без него команда добавления недоступна или выдаёт ошибку.
- 🧩 Режим совместимости. У расширения есть свойство «Режим совместимости». Он должен быть не выше режима совместимости основной конфигурации. Если расширение собрано под более новую платформу, база его не примет.
- 📦 Источник файла. Расширение исполняет код на сервере с правами пользователя. Подключайте только файлы от известного разработчика.
- 💾 Резервная копия. Расширение может добавлять реквизиты и таблицы. Перед первым подключением сделайте выгрузку
.dtили копию файловой базы — это единственный способ откатиться, если что-то пойдёт не так.
Расширение или внешняя обработка
Разработчики иногда передают одну и ту же доработку в двух видах. Разница существенная.
| Что | Внешняя обработка (.epf, .erf) | Расширение (.cfe) |
|---|---|---|
| Меняет типовые формы и модули | Нет | Да |
| Добавляет реквизиты к документам | Нет | Да |
| Подключение | Дополнительные отчёты и обработки | Список расширений |
| Переживает обновление релиза | Да, почти всегда | Нужна проверка применимости |
| Риск для данных | Низкий | Выше: меняет поведение программы |
Если доработке не нужно трогать типовые объекты, внешняя обработка проще в сопровождении. Если нужно исправить форму, добавить поле или перехватить проведение документа — только расширение.
Подключение расширения в режиме «Предприятие»
Этот способ подходит, когда у вас нет доступа к Конфигуратору или база опубликована в облаке. Он работает в БП 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на БСП.
- Зайдите в 1С под пользователем с полными правами.
- Откройте
Администрирование → Печатные формы, отчеты и обработки → Расширения. - Нажмите «Добавить из файла…» и укажите файл
.cfe. - Программа покажет предупреждение о том, что расширение получает доступ к данным. Подтвердите, если доверяете источнику.
- В строке расширения проверьте флажок «Безопасный режим». Оставьте его, если разработчик не указал обратного.
- Перезапустите 1С. Остальным пользователям тоже нужно перезайти: расширения подключаются при старте сеанса.
Если раздела «Расширения» нет
В нетиповой или старой конфигурации может не быть этой формы. Тогда используйте платформенный механизм.
- Включите режим технического специалиста: меню «Сервис и настройки» (значок шестерёнки) →
Параметры→ флажок «Режим технического специалиста». - Откройте
Все функции → Стандартные → Управление расширениями конфигурации. - Добавьте файл кнопкой добавления в командной панели.
Безопасный режим ограничивает расширение: оно не может работать с файлами на сервере, запускать внешние программы и подключать внешние компоненты. Если доработка грузит файлы банка или печатает на нестандартный принтер, разработчик сам предупредит, что безопасный режим нужно снять.
Роли расширения и группы доступа
Расширение может принести собственные роли. Если флажок «Использовать основные роли для всех пользователей» снят, их нужно раздать вручную.
- Откройте
Администрирование → Настройки пользователей и прав → Профили групп доступа. - Откройте профиль, которым пользуются бухгалтеры, и найдите роли с префиксом расширения.
- Отметьте нужные роли и запишите профиль.
- Попросите пользователей перезайти в программу.
В конфигурациях без БСП роли назначаются в Конфигураторе: Администрирование → Пользователи, вкладка «Прочие», где роли расширения выводятся вместе с основными.
Загрузка .cfe через Конфигуратор
Конфигуратор даёт больше контроля: видно состав расширения, можно сравнить версии и отладить код. Порядок такой.
- Запустите базу в режиме «Конфигуратор» под администратором.
- Откройте
Конфигурация → Расширения конфигурации. - В окне списка нажмите
Действия → Добавить. Появится пустое расширение с именем «Расширение1». - Выделите его и выберите
Действия → Загрузить из файла…, укажите.cfe. Имя, префикс и назначение подтянутся из файла. - Откройте дерево расширения и выполните
Конфигурация → Обновить конфигурацию базы данных(клавишаF7), пока активно окно расширения. - Запустите «Предприятие» и проверьте результат.
Загрузка файла и обновление конфигурации базы данных — два разных шага. Пока не выполнен шаг 5, расширение лежит в базе, но пользователи его не получают.
Свойства, которые стоит проверить
Откройте свойства корня расширения (Alt+Enter на верхнем узле дерева).
- 🏷️ Префикс — например,
Расш1_. Им начинаются имена всех новых объектов и процедур. Два расширения с одинаковым префиксом сложно сопровождать. - 🎯 Назначение — «Исправление», «Адаптация» или «Дополнение». Определяет порядок применения: сначала исправления, затем адаптация, затем дополнения.
- 🛡️ Безопасный режим и Защита от опасных действий — настраиваются здесь же или в форме списка в «Предприятии».
- 👥 Использовать основные роли для всех пользователей — если флажок снят, новые объекты расширения увидят только те, кому назначены его роли.
Пакетная загрузка из командной строки
Когда одно расширение нужно разложить по десятку баз, удобнее bat-файл. Ключ -Extension указывает, к какому расширению относится команда.
@echo off
set V8="C:\Program Files\1cv8\<версия платформы>\bin\1cv8.exe"
set BASE="D:\Bases\Buh"
set EXT=Исправление_Печать
%V8% DESIGNER /F%BASE% /N"Администратор" /P"" ^
/LoadCfg "D:\ext\Fix.cfe" -Extension %EXT% ^
/UpdateDBCfg -Extension %EXT% ^
/Out "D:\ext\log.txt"
Для серверной базы вместо /F используйте /S"сервер\имя_базы". Результат смотрите в файле журнала, указанном в /Out. Выгрузить расширение обратно в файл можно ключом /DumpCfg "файл.cfe" -Extension Имя.
Если в базе работают пользователи, а расширение добавляет новые реквизиты, обновление структуры может не пройти. Запускайте пакетную загрузку вне рабочего времени.
Как проверить, что расширение работает, и отладить его код
Расширение в списке ещё не гарантия, что его код выполняется. Проверьте по шагам.
- Флажок активности. В списке расширений в «Предприятии» строка должна быть включена. Отключённое расширение лежит в базе, но не применяется.
- Применимость. В Конфигураторе в окне
Конфигурация → Расширения конфигурациивыполните проверку применимости из меню «Действия». Платформа перечислит объекты, которые не удалось сопоставить с основной конфигурацией. - Видимый результат. Новая печатная форма появится в меню «Печать», новый реквизит — на форме документа. Если не появились — перезапустите сеанс.
Отладка подключённых модулей
Код расширения отлаживается так же, как код основной конфигурации.
- Откройте дерево расширения в Конфигураторе.
- Найдите модуль, например
Документы → РеализацияТоваровУслуг → Модуль объекта. - Поставьте точку останова (
F9) в процедуре с аннотацией. - Запустите отладку (
F5) и выполните действие, которое вызывает этот код.
В модулях расширения вы встретите аннотации:
| Аннотация | Что делает |
|---|---|
&Перед("Имя") | Код выполняется до типовой процедуры |
&После("Имя") | Код выполняется после типовой процедуры |
&Вместо("Имя") | Заменяет типовую процедуру; типовая вызывается через ПродолжитьВызов() |
&ИзменениеИКонтроль("Имя") | Копия типовой процедуры с правками; платформа сверяет её с оригиналом |
Если точка останова не срабатывает в клиент-серверной базе, проверьте, что на сервере 1С включена отладка. Для этого служба агента запускается с ключом -debug. Включать его на рабочем сервере лучше на время отладки: перезапуск службы оборвёт сеансы всех пользователей, планируйте его на нерабочее время.
Быстрый способ убедиться, что расширение вообще отрабатывает, — временно добавить в обработчик Сообщить("Расширение сработало");. После проверки строку уберите.
Обновление версий: новое расширение и новый релиз конфигурации
С расширениями два вида обновлений: вы получаете новую версию .cfe или обновляете саму типовую конфигурацию
.
Новая версия файла расширения
- Сохраните текущую версию: в Конфигураторе
Действия → Сохранить в файл…в списке расширений. Это ваш откат. - Загрузите новый файл в то же расширение — не создавайте второе с тем же префиксом.
- Выполните обновление конфигурации базы данных для расширения.
- Проверьте номер в свойстве «Версия» корня расширения. Его заполняет разработчик; если поле пустое, попросите его вести номера.
В режиме «Предприятие» обновление делается в той же форме списка расширений: выделите строку и замените файл через команды формы. Удалять и добавлять расширение заново не нужно и опасно — см. раздел ниже.
Обновление релиза конфигурации
После установки нового релиза БП или ЗУП типовые объекты могут измениться. Расширение, которое на них опирается, перестаёт применяться.
- Перед обновлением выгрузите все расширения в файлы.
- Обновите конфигурацию.
- Выполните проверку применимости расширений в Конфигураторе.
- Процедуры с
&ИзменениеИКонтрольпроверяются особенно строго: если типовой код изменился, разработчику нужно перенести правки.
Для команды разработчиков расширение можно подключить к хранилищу конфигурации — тогда видна история изменений и кто их вносил.
Удаление расширения и что происходит с данными
Удалить расширение можно в той же форме списка. Последствия зависят от его состава.
- 🖨️ Расширение только с печатными формами и отчётами удаляется без потерь.
- 🗃️ Если расширение добавляло реквизиты или справочники, при удалении эти данные будут потеряны безвозвратно. Платформа предупредит, но многие жмут «Да» не читая.
- 🔄 Отключение флажком активности данные не удаляет. Это безопасный способ временно выключить доработку.
Поэтому для диагностики сначала отключайте, а не удаляйте.
Ошибки при подключении расширения и как их устранить
Если не помогло
- Отключите все расширения, кроме проблемного, и проверьте снова. Два расширения могут перехватывать одну процедуру и мешать друг другу.
- Проверьте расширение на копии базы с тем же релизом конфигурации. Если на копии работает, разница в данных или правах.
- Выгрузите файл из базы и сравните с тем, что присылал разработчик: иногда в базе оказывается старая версия.