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

Администрирование · 10 мин

Где находятся расширения 1С и как их найти

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

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

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

Где хранятся подключенные расширения в информационной базе

Когда расширение загружается в базу через конфигуратор или режим «1С:Предприятие», платформа записывает его содержимое в специальное хранилище внутри самой базы данных. Для файловой базы это данные внутри файла 1Cv8.1CD, для клиент-серверной — таблица Extensions (или аналогичная таблица хранения расширений) в базе данных SQL Server, PostgreSQL или другой СУБД.

Практическое следствие: искать подключенное расширение в виде файла на диске бессмысленно. Даже если вы знаете каталог базы, файл CFE там не появится — он «растворён» в структуре базы. Чтобы получить расширение обратно в виде файла, его нужно выгрузить штатными средствами.

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

Каждое расширение в списке имеет имя, префикс, версию и статус активности. Именно префикс добавляется к объектам расширения в дереве конфигурации — по нему можно понять, какой объект откуда пришёл.

Где лежат исходные файлы расширений CFE

Файл .cfe — это переносимый контейнер расширения, аналог файла .cf для конфигурации. Платформа никуда не копирует его автоматически: файл остаётся там, куда его положил разработчик или администратор. Типичные места, где стоит искать:

  • рабочий стол, «Загрузки» или сетевые папки, откуда расширение подключали;
  • каталог проекта разработки, если расширение ведётся через EDT или конфигуратор с выгрузкой в файлы;
  • репозиторий хранилища конфигурации или Git, если команда использует версионирование;
  • каталоги обмена между базами, например папки выгрузки обновлений.

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

Где находится кэш расширений на клиентском компьютере

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

  • %APPDATA%\1C\1cv8\ — роуминговый кэш, включая служебные файлы;
  • %LOCALAPPDATA%\1C\1cv8\ — локальный кэш метаданных баз, в подпапках с GUID базы.

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

Как очистить кэш расширений
  1. 1
    Завершите все сеансы пользователя с проблемной базой.
  2. 2
    Закройте конфигуратор и 1С:Предприятие.
  3. 3
    Перейдите в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8.
  4. 4
    Найдите папку с GUID нужной базы и удалите её (либо удалите базу из списка и добавьте заново).
  5. 5
    Запустите сеанс заново — кэш будет перестроен автоматически.

Для сервера 1С существует свой кэш — каталог srvinfo (обычно C:\Program Files\1cv8\...\srvinfo на Windows или /var/lib/1cv8/... на Linux), где в папках reg_1541 и аналогичных лежат служебные данные кластера. Очищать его вручную следует только с остановленной службой сервера и пониманием последствий.

Как найти расширение и понять, что оно активно

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

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

В клиент-серверном варианте список расширений можно получить и программно — через метод ПолучитьРасширенияКонфигурации() (на английском синтаксисе ConfigurationExtensions.Get()). Это удобно для автоматической проверки перед обновлением конфигурации.

bsl
МассивРасширений = РасширенияКонфигурации.Получить();
Для Каждого Расширение Из МассивРасширений Цикл
    Сообщить(Расширение.Имя + " | " + Расширение.Версия);
КонецЦикла;

Как выгрузить, перенести и удалить расширение

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

Удаление выполняется из того же списка. Важный нюанс: если расширение добавляло собственные данные (справочники, регистры, реквизиты), при удалении эти данные будут потеряны. Платформа предупредит об этом, но перед удалением рабочего расширения стоит сделать резервную копию базы.

Для пакетной работы удобны параметры командной строки конфигуратора: /ExtensionLoadFromFile, /ExtensionSaveToFile, /ExtensionDelete с указанием имени расширения. Это позволяет автоматизировать установку расширений в сценариях обновления.

Типичные ошибки
01
Искать подключенное расширение в виде файла в каталоге базы — его там нет, оно хранится внутри данных базы.
02
Удалять расширение без резервной копии, когда оно содержит собственные данные — данные будут потеряны безвозвратно.
03
Забывать очистить кэш клиента после отключения расширения и получать ошибки от уже удалённых объектов.
04
Подключать расширение только через конфигуратор и не проверять его в режиме предприятия — часть проверок совместимости выполняется при применении.

Частые проблемы и способы их решения

Самая частая жалоба — «расширение подключено, но не работает». Проверьте три вещи: активен ли флажок использования, не включён ли безопасный режим, блокирующий нужные операции, и перезапускался ли сеанс после подключения. Изменения расширения применяются при новом запуске сеанса.

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

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

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

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

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

Расширение присутствует, флажок использования установлен, ошибок применения нет

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

Расширение отсутствует, отключено или помечено ошибкой

Дерево конфигурации
Норма

Объекты расширения видны с его префиксом

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

Объектов нет — расширение не применилось

Режим предприятия
Норма

Новый функционал доступен пользователям после перезапуска сеанса

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

Поведение старое — вероятен устаревший кэш клиента

FAQ

Можно ли открыть файл CFE как архив и посмотреть содержимое?

Нет, CFE — это бинарный контейнер внутреннего формата платформы. Просмотреть структуру расширения можно только через конфигуратор: подключите файл к тестовой базе или откройте расширение на редактирование. Для анализа исходного кода удобно выгрузить расширение в файлы конфигурации или открыть его проект в 1C:EDT.

Хранятся ли расширения в копии базы при выгрузке DT?

Да. Расширения являются частью информационной базы, поэтому при выгрузке в файл .dt и последующей загрузке они переносятся вместе с конфигурацией и данными. Отдельно выгружать расширения в CFE при таком переносе не требуется.

Где искать расширения, если база клиент-серверная на SQL?

Физически данные расширений лежат в таблицах базы данных на СУБД, но работать с ними напрямую через SQL-запросы не следует. Используйте конфигуратор, режим предприятия или программный интерфейс РасширенияКонфигурации — это гарантирует целостность метаданных.

Почему после удаления расширения пользователи видят ошибки?

Чаще всего причина в кэше метаданных на клиентских компьютерах: сеансы продолжают обращаться к кэшированным объектам удалённого расширения. Завершите сеансы пользователей, очистите кэш в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 или удалите базу из списка и добавьте заново.

Можно ли хранить несколько версий одного расширения в базе?

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

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

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

Итог

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

Подключенные расширения хранятся внутри информационной базы, исходные CFE — там, куда их сохранил разработчик, а временные копии — в кэше клиента в профилях %APPDATA% и %LOCALAPPDATA%. Все операции с расширениями выполняйте штатными средствами платформы, а перед удалением или обновлением делайте резервную копию.