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

· 11 мин

Содержание

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

Файл с расширением .cfe — это не файл обмена данными, хотя его часто так называют. Внутри него лежит расширение конфигурации : доработка, которая добавляет печатные формы, отчёты, реквизиты или исправляет поведение типовой программы, не снимая её с поддержки. Механизм расширений есть в платформе начиная с версии 8.3.6. Файлы обмена (выгрузки из одной базы для загрузки в другую) обычно имеют вид .xml или .zip, и грузят их совсем другими обработками.

Что проверить до загрузки файла .cfe

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

  • 📄 Для какой конфигурации сделан файл. Расширение пишут под конкретную конфигурацию и обычно под диапазон её релизов. Спросите у разработчика, на какой редакции и каком релизе он его проверял. Узнать свой релиз можно в окне Справка → О программе (значок «i» или меню в правом верхнем углу).
  • 🧩 Версия платформы. У расширения есть свойство «Режим совместимости». Если оно выставлено под более новую платформу, чем установлена у вас, файл не загрузится. Номер платформы виден в том же окне «О программе»: он должен быть не ниже того, что требует разработчик.
  • 🔑 Права пользователя. Добавлять расширения может пользователь с полными правами (роль «Полные права» или право «Администрирование»). Под обычным бухгалтером кнопки добавления не будет.
  • 💾 Резервная копия. Для расширений, которые меняют только интерфейс и печатные формы, это формальность. Для расширений, которые добавляют свои таблицы или реквизиты в документы, — обязательный шаг.

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

  • 📁 Где лежит файл. Загрузка в пользовательском режиме идёт с компьютера, на котором запущен клиент 1С. Если вы работаете через удалённый рабочий стол или веб-клиент, файл должен быть доступен именно там.

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

Способ выбирают не по вкусу, а по тому, что внутри расширения и кто его ставит.

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

Параметры подключения: база, путь к файлу, учётная запись

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

Файловая база задаётся каталогом, где лежит 1Cv8.1CD. В свойствах базы в окне запуска это строка вида File="D:\Bases\Buh". В командной строке тот же путь передают параметром /F.

Клиент-серверная база задаётся именем сервера и именем базы в кластере: Srvr="srv1c";Ref="buh_main". В командной строке это параметр /S"srv1c\buh_main". Если агент сервера слушает нестандартный порт (не 1540), порт пишут через двоеточие после имени сервера.

Учётная запись — пользователь 1С с полными правами: /N"Администратор" /P"пароль". Если в базе включена аутентификация операционной системы и вы входите под нужным доменным пользователем, логин и пароль можно не передавать.

Путь к файлу .cfe лучше давать без пробелов и кириллицы, если загрузка идёт скриптом: C:\1C\ext\PrintForms.cfe. Сетевой путь \\fileserver\1c\ext\PrintForms.cfe тоже работает, если у пользователя, под которым запущен скрипт, есть права на чтение этой папки.

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

Загрузка CFE в 1С по шагам

Через раздел «Администрирование»

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

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

Через «Управление расширениями конфигурации»

Команда Все функции по умолчанию скрыта. Включите её: меню с тремя полосками или шестерёнкой → Параметры → флажок «Отображать команду “Все функции”». Затем Все функции → Стандартные → Управление расширениями конфигурации.

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

Через Конфигуратор

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

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

Почему расширение не загружается или не применяется

Чаще всего проблемы видны по тексту сообщения. Ниже — что означают типичные ответы программы.

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

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

Безопасный режим и защита от опасных действий

Флажок «Безопасный режим» ограничивает расширение: оно не может работать с файлами на диске, запускать внешние программы, подключать внешние компоненты и COM-объекты. Для печатной формы этого обычно достаточно. Для обмена с сайтом или загрузки банковских файлов — нет.

«Защита от опасных действий» — отдельная настройка. С ней программа предупреждает пользователя перед тем, как расширение выполнит потенциально опасную операцию.

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

Установка расширения из командной строки

Пакетный запуск Конфигуратора нужен, когда баз много или установку ставят в планировщик. Платформа принимает параметр /LoadCfg с ключом -Extension, а затем /UpdateDBCfg с тем же ключом.

Файловая база:

"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER ^
  /F"D:\Bases\Buh" ^
  /N"Администратор" /P"пароль" ^
  /LoadCfg "C:\1C\ext\PrintForms.cfe" -Extension "ПечатныеФормы" ^
  /UpdateDBCfg -Extension "ПечатныеФормы" ^
  /DisableStartupDialogs ^
  /Out "C:\1C\logs\ext_buh.log"

Серверная база — то же самое, только /S"srv1c\buh_main" вместо /F. Номер платформы в пути замените на свой: каталог установленной версии видно в C:\Program Files\1cv8\.

Пояснения к параметрам:

  • -Extension "ПечатныеФормы" — имя расширения внутри базы. Если такого нет, оно будет создано; если есть — содержимое заменится.
  • /UpdateDBCfg — то самое обновление конфигурации базы данных. Без него получится только половина работы.
  • /DisableStartupDialogs — подавляет стартовые окна, иначе скрипт может зависнуть в ожидании нажатия.
  • /Out — лог. После запуска откройте его: при ошибке текст сообщения будет там, а код возврата 1cv8.exe будет ненулевым.

Код возврата удобно проверять в том же bat-файле:

if %ERRORLEVEL% NEQ 0 (
  echo Ошибка загрузки расширения, смотрите лог
  exit /b 1
)

Для доработчиков есть и программный путь: расширение можно записать из кода через менеджер РасширенияКонфигурации. Метод Создать() возвращает объект расширения, у которого задают свойство БезопасныйРежим и вызывают Записать() с двоичными данными файла. Так устроена сама форма «Управление расширениями». Для разовой установки это избыточно, для собственного механизма автообновления — рабочий вариант.

Много баз и тяжёлые расширения: как не остановить работу

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

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

Ставьте базы последовательно, а не параллельно. Десять одновременных запусков Конфигуратора на одном сервере 1С и одном сервере СУБД дают нагрузку, при которой каждая загрузка идёт дольше. Простой цикл по списку баз надёжнее:

for /f "tokens=1,2 delims=;" %%A in (bases.txt) do (
  "C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER /S"%%A" /N"Администратор" /P"пароль" ^
    /LoadCfg "C:\1C\ext\PrintForms.cfe" -Extension "ПечатныеФормы" ^
    /UpdateDBCfg -Extension "ПечатныеФормы" ^
    /DisableStartupDialogs /Out "C:\1C\logs\%%B.log"
)

Файл bases.txt содержит строки вида srv1c\buh_main;buh_main — путь к базе и имя для лога.

Перед массовой установкой завершите сеансы корректно. Блокировку начала сеансов ставят в консоли администрирования кластера или в самой программе в разделе Администрирование → Обслуживание. Пользователей нужно предупредить: при принудительном завершении несохранённые данные пропадут. Делайте это вечером или в выходные.

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

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

После установки расширения
Выполнено: 0 / 6

Частые ошибки при загрузке CFE

  • ❌ Загрузили как новое вместо обновления. В списке два расширения с похожими именами, одно из них не применяется. Удалите лишнюю строку и обновите исходное.
  • ❌ Забыли F7 в Конфигураторе. Расширение загружено, но в программе не работает. Это самая частая причина вопроса «я загрузил, а ничего нет».
  • ❌ Поставили расширение прямо в рабочую базу после обновления релиза. Проверку на копии пропустили, а расширение перехватывало изменённый объект — документ перестал проводиться у всех.
  • ❌ Перепутали CFE и CF. Файл .cf — это вся конфигурация. Загрузка его через «Загрузить конфигурацию из файла» заменит основную конфигурацию базы целиком. Расширения всегда идут в .cfe.
  • ❌ Удалили расширение с данными, не подумав. Вместе с ним удаляются реквизиты и таблицы, которые оно добавило, и данные в них. Если расширение нужно временно выключить, снимите флажок «Активно».

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

Чем расширение .cfe отличается от внешней обработки .epf?
Внешняя обработка открывается как отдельный файл и не меняет программу. Расширение встраивается в конфигурацию: может добавить реквизит в документ, кнопку в форму или изменить код типового модуля.
Нужно ли выгонять пользователей, чтобы загрузить расширение?
Для расширения без собственных данных — нет: оно заработает у каждого после перезапуска сеанса. Для расширения, которое добавляет реквизиты или таблицы, нужно обновление структуры с монопольным доступом.
Как выгрузить расширение обратно в файл .cfe?
В Конфигураторе в окне «Расширения конфигурации» выделите расширение и выберите сохранение в файл. Из командной строки — параметр /DumpCfg с ключом -Extension.
Слетит ли расширение после обновления конфигурации?
Нет, оно остаётся в базе. Но если в новом релизе изменились объекты, которые оно дорабатывает, расширение может перестать применяться, и понадобится его новая версия.
Можно ли открыть CFE без загрузки в базу, чтобы посмотреть содержимое?
Да: создайте пустую или тестовую базу той же конфигурации, загрузите в неё расширение через Конфигуратор и изучите объекты и модули там, не трогая рабочую.