К статье
Практический материал

Разработка и Конфигурация · 11 мин

Где хранится расширение конфигурации 1С

Где хранится расширение конфигурации 1С: в базе данных, таблицы хранения, пути к файлам .cfe, экспорт и загрузка через конфигуратор и командную строку.

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

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

Как платформа 1С хранит расширения внутри базы

Расширение конфигурации — это самостоятельный объект метаданных, который платформа применяет поверх основной конфигурации при запуске сеанса. Сами данные расширения (модули, формы, роли, макеты) сериализуются платформой и записываются в служебные таблицы информационной базы. В файловом варианте это данные внутри файла 1Cv8.1CD, в клиент-серверном — таблицы в базе MS SQL Server, PostgreSQL, Oracle или IBM Db2.

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

Важное следствие: расширение привязано к конкретной информационной базе. Если скопировать файл 1Cv8.1CD или сделать SQL-копию базы, расширения копируются вместе с ней. А вот при загрузке конфигурации из файла .cf расширения не переносятся — они не входят в состав файла конфигурации.

Где найти расширения в конфигураторе и в режиме предприятия

Основная точка управления — конфигуратор: меню «Конфигурация» → «Расширения конфигурации». Откроется список всех расширений, подключённых к базе, с колонками «Имя», «Версия», «Безопасный режим», «Защита от опасных действий», «Используется». Здесь же выполняются добавление, обновление из файла, выгрузка в файл и удаление расширений.

В режиме «1С:Предприятие» список доступен через «Все функции» → «Стандартные» → «Расширения конфигурации» (в типовых конфигурациях путь может отличаться, например раздел «Администрирование» → «Печатные формы, отчеты и обработки» для расширений с дополнительными отчётами). Управлять составом объектов расширения из режима предприятия нельзя — только просматривать и отключать.

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

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

Файлы .cfe: где лежат и как с ними работать

Файл с расширением имеет расширение .cfe (Configuration Extension). Платформа не хранит такой файл постоянно — он создаётся только в момент выгрузки и лежит там, куда его сохранил пользователь: в папке проекта, в системе контроля версий, в сетевом каталоге обмена. Никакого каталога «по умолчанию», где платформа держала бы .cfe, не существует.

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

bash
"C:\Program Files\1cv8\bin\1cv8.exe" DESIGNER /F"D:\Bases\Trade" /N Администратор /DumpCfgExtensionToFile "D:\Backup\Ext1.cfe" -Extension MyExtension

Загрузка из файла выполняется симметрично: кнопка «Обновить из файла» / «Добавить из файла» в конфигураторе или параметр /LoadCfgExtensionFromFiles в командной строке. После загрузки расширения из файла требуется обновление конфигурации базы данных, чтобы изменения вступили в силу.

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

Файловый и клиент-серверный варианты: отличия хранения

В файловом варианте все данные базы, включая расширения, находятся в едином файле 1Cv8.1CD в каталоге базы. Рядом могут лежать служебные файлы (журнал регистрации, файлы блокировок), но расширений среди них нет. Копирование каталога с 1Cv8.1CD при закрытых сеансах переносит и расширения.

В клиент-серверном варианте расширения — это записи в таблицах SQL-базы. Типичные признаки и различия удобно свести в сопоставление.

ПараметрФайловый вариантКлиент-серверный вариант
Где физически лежит расширениеВнутри файла 1Cv8.1CDВ системных таблицах базы СУБД
Перенос копированием файловДа, вместе с 1Cv8.1CDТолько через backup/restore СУБД или выгрузку .dt
Просмотр содержимогоТолько через конфигураторТолько через конфигуратор (прямой SQL не поддерживается)
Выгрузка в .cfeКонфигуратор или командная строкаКонфигуратор или командная строка через /S

Выгрузка базы в файл .dt также сохраняет расширения — это штатный способ переноса базы целиком между разными СУБД и платформами. После загрузки .dt расширения появляются в списке автоматически.

Расширения в хранилище конфигурации и при обновлении

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

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

После каждого обновления типовой конфигурации проверяйте список расширений и исправляйте несовместимости: откройте расширение, выполните проверку применимости (кнопка в окне расширения) и устраните конфликты заимствованных объектов.

Типичные ошибки
01
Поиск расширения как отдельного файла в каталоге базы — его там нет, оно внутри 1Cv8.1CD или таблиц СУБД
02
Перенос базы загрузкой .cf и удивление пропаже расширений — .cf их не содержит, нужен .dt или отдельная выгрузка .cfe
03
Отсутствие выгруженной копии .cfe — при порче базы без бэкапа расширение теряется безвозвратно
04
Игнорирование отключённых расширений после обновления — функционал молча перестаёт работать у пользователей

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

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

Контрольные точки

Как проверить результат

Список расширений в конфигураторе
Норма

Расширение присутствует, признак «Используется» установлен

Тревожный признак

Расширения нет в списке или оно снято с использования

Проверка применимости
Норма

Проверка завершается без ошибок несовместимости

Тревожный признак

Сообщения о конфликтах с основной конфигурацией

Поведение в режиме предприятия
Норма

Добавленные расширением формы, печатные формы и команды видны пользователям

Тревожный признак

Функционал отсутствует, в журнале регистрации ошибки применения расширения

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

Маршрут решения

Как выбрать действие

Нужно перенести базу целиком с расширениямиИспользуйте выгрузку/загрузку .dt или копию СУБД — расширения перенесутся автоматически
Нужно передать только расширение в другую базуВыгрузите его в файл .cfe и загрузите в целевой базе через конфигуратор
Расширение пропало после обновления конфигурацииОткройте список расширений, проверьте журнал регистрации и устраните конфликты применимости
Нужна страховка на случай порчи базыРегулярно выгружайте .cfe в отдельное хранилище вместе с бэкапами

Часто задаваемые вопросы

Можно ли открыть файл .cfe без базы и посмотреть содержимое?

Напрямую как текст — нет: .cfe — бинарный формат платформы. Чтобы увидеть состав расширения, его нужно загрузить в любую информационную базу через конфигуратор и открыть дерево объектов. Для версионирования в системах контроля версий расширение можно выгружать в XML-файлы конфигуратора.

Почему после копирования каталога файловой базы расширение есть, а после загрузки .cf — нет?

Копирование 1Cv8.1CD переносит всё содержимое базы, включая системные таблицы расширений. Файл .cf содержит только конфигурацию (метаданные) без расширений. Для переноса расширений используйте выгрузку .dt или отдельную выгрузку в .cfe.

Где хранятся расширения веб-сервера при публикации базы?

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

Удаляются ли расширения при тестировании и исправлении базы?

Штатное тестирование и исправление не удаляет расширения. Опасны другие операции: загрузка .cf поверх базы, восстановление из старой копии СУБД без расширений, ручное вмешательство в таблицы. Перед такими работами выгрузите расширения в .cfe.

Как узнать, какие расширения применены в текущем сеансе пользователя?

Программно — через РасширенияКонфигурации.Получить(), который возвращает применённые в сеансе расширения. Также события применения и ошибок фиксируются в журнале регистрации, доступном в конфигураторе через «Администрирование» → «Журнал регистрации».

Можно ли восстановить расширение, если база испорчена, а .cfe не выгружался?

Только из резервной копии базы (файл 1Cv8.1CD, бэкап СУБД или выгрузка .dt), сделанной до повреждения. Если копий нет, восстановить расширение штатными средствами невозможно — поэтому регулярная выгрузка .cfe считается обязательной практикой.

Итог

Что важно запомнить

Расширение конфигурации 1С хранится внутри информационной базы: в файле 1Cv8.1CD (файловый вариант) или в системных таблицах СУБД (клиент-серверный). Отдельного файла в каталоге базы нет; .cfe создаётся только при выгрузке. Расширения переносятся с копией базы или через .dt, но не через загрузку .cf. Регулярно выгружайте расширения в файлы и проверяйте их применимость после обновлений конфигурации.