Какие расширения стоят в базе 1С и как это проверить за пять минут
Содержание
Посмотреть расширения в 1С:Предприятии 8.3 проще всего так: в типовых конфигурациях откройте Администрирование → Печатные формы, отчеты и обработки → Расширения. В Конфигураторе список находится в меню Конфигурация → Расширения конфигурации. Если раздела нет или он недоступен, подойдёт универсальный путь для любой конфигурации: Главное меню → Все функции → Стандартные → Управление расширениями конфигурации.
Все три способа показывают одно и то же — расширения, сохранённые в самой информационной базе. Отдельных файлов .cfe рядом с базой нет, поэтому искать их на диске бесполезно. Ниже — где найти расширения в каждом режиме, как понять, какое из них реально работает в сеансе, и что делать, если расширение подключено, а изменений не видно.
Где найти расширения в режиме 1С:Предприятие
В типовых конфигурациях на БСП (библиотеке стандартных подсистем) форма списка расширений встроена в раздел администрирования. Путь почти одинаковый, отличается только название раздела верхнего уровня.
| Конфигурация | Путь к списку расширений |
|---|---|
| Бухгалтерия предприятия 3.0 | Администрирование → Печатные формы, отчеты и обработки → Расширения |
| ЗУП 3.1 | Администрирование → Печатные формы, отчеты и обработки → Расширения |
| Управление торговлей 11 | НСИ и администрирование → Печатные формы, отчеты и обработки → Расширения |
| Любая конфигурация 8.3 | Главное меню → Все функции → Стандартные → Управление расширениями конфигурации |
В форме БСП видно имя расширения, его версию и признак подключения. Отсюда же расширение можно добавить из файла, сохранить в файл, отключить или удалить.
Если ссылки «Расширения» в разделе нет, сначала проверьте, что вы вошли под пользователем с полными правами. Обычному бухгалтеру эта форма не показывается — и это правильно.
Как включить команду «Все функции»
Стандартная обработка «Управление расширениями конфигурации» есть в любой базе 8.3, даже в нетиповой. Чтобы до неё добраться:
- Нажмите кнопку главного меню (значок с тремя полосками в левом верхнем углу).
- Откройте
Сервис → Параметры. - Поставьте флажок «Отображать команду “Все функции”» и нажмите «Применить».
- В главном меню появится пункт «Все функции». Разверните ветку «Стандартные».
Эта обработка показывает расширения без надстроек БСП. Она полезна, когда типовая форма сломана или конфигурация самописная.
Список расширений в Конфигураторе: что означают колонки
Конфигуратор даёт самую подробную картину. Откройте базу в режиме Конфигуратора и выберите Конфигурация → Расширения конфигурации. Откроется окно со списком всех расширений базы.
Колонки, на которые стоит смотреть в первую очередь:
- 🔹 Имя и синоним — техническое имя и то, что видит пользователь.
- 🔹 Версия — заполняет разработчик в свойствах расширения. Пустая версия — частая картина у самописных доработок.
- 🔹 Назначение — «Исправление», «Адаптация» или «Дополнение». От назначения зависит порядок применения: сначала исправления, потом адаптации, потом дополнения.
- 🔹 Активно — признак, что расширение подключается при входе в базу.
- 🔹 Безопасный режим и Защита от опасных действий — ограничения, под которыми работает код расширения.
Как посмотреть, что меняет конкретное расширение
Выделите строку и откройте расширение двойным щелчком. Появится отдельное дерево объектов, похожее на дерево основной конфигурации.
В нём два типа объектов:
- 📌 Заимствованные — объекты основной конфигурации, которые расширение изменяет. Их значок помечен особым образом, а внутри видно, какие формы, модули и реквизиты затронуты.
- 📌 Собственные — новые справочники, отчёты, обработки, реквизиты. Их имена обычно начинаются с префикса расширения, например
мр_илиДопПечать_.
Чтобы быстро найти, какое расширение трогает нужный объект, откройте модуль и ищите аннотации &Перед, &После, &Вместо и &ИзменениеИКонтроль. Каждая из них указывает на процедуру основной конфигурации, которую перехватывает расширение.
Объекты расширений в запросах, СКД и коде
Отдельной таблицы «Расширения» в языке запросов нет. Но то, что добавило расширение, видно в консоли запросов и в конструкторе запросов.
Признаки расширения в консоли запросов и СКД
Откройте конструктор запроса и разверните нужный справочник или документ. Реквизиты из расширения стоят в общем списке полей, но с префиксом расширения в имени. По такому префиксу легко понять, что поле пришло не из типовой конфигурации.
С системой компоновки данных та же логика. В настройках отчёта поля расширения доступны наравне с остальными. Если отчёт вдруг показывает колонку, которой нет в описании типовой конфигурации, загляните в список расширений: почти наверняка её добавило одно из них.
Список расширений программно
Из кода список расширений возвращает менеджер РасширенияКонфигурации. Пример для серверной процедуры внешней обработки:
&НаСервере
Процедура ПоказатьРасширенияНаСервере()
Расширения = РасширенияКонфигурации.Получить();
Для Каждого Расширение Из Расширения Цикл
Сообщить(СтрШаблон("%1 | версия: %2 | назначение: %3 | активно: %4",
Расширение.Имя,
Расширение.Версия,
Расширение.Назначение,
Расширение.Активно));
КонецЦикла;
КонецПроцедуры
Без параметров метод возвращает расширения, записанные в базе. Чтобы увидеть, что реально подключилось в текущем сеансе, передайте второй параметр:
Активные = РасширенияКонфигурации.Получить(, ИсточникРасширенийКонфигурации.СеансАктивные);
Если расширение есть в базе, но отсутствует в списке активных для сеанса, оно не применилось. Причины разбираем ниже, в разделе про диагностику.
Для конкретного объекта метаданных есть метод РасширениеКонфигурации(). Например, Метаданные.Справочники.Номенклатура.Реквизиты.мр_Цвет.РасширениеКонфигурации() вернёт расширение, которое добавило реквизит, или Неопределено, если реквизит из основной конфигурации.
Запускайте такой код под пользователем с полными правами. Под ограниченной ролью работа с расширениями может завершиться ошибкой нехватки прав.
Где расширения хранятся физически: файловая и клиент-серверная база
Частый вопрос: в какой папке лежат расширения. Короткий ответ — ни в какой. Расширение хранится внутри информационной базы вместе с конфигурацией.
| Вариант базы | Где хранится расширение | Где взять файл |
|---|---|---|
| Файловая | Внутри файла 1Cv8.1CD | Выгрузить в .cfe из Конфигуратора или формы БСП |
| Клиент-серверная (MS SQL, PostgreSQL) | В служебных таблицах базы данных СУБД | Так же — только выгрузкой |
| Хранилище расширения | В отдельном хранилище, если разработчик его подключил | Получить из хранилища в Конфигураторе |
Файл с расширением .cfe появляется только тогда, когда его кто-то сохранил. Поэтому найденный в папке «Загрузки» файл .cfe может быть старее того, что сейчас стоит в базе. Сверяйте версии.
Кэш на компьютере пользователя и на сервере
Платформа кэширует конфигурацию вместе с расширениями. На клиенте кэш лежит в профиле пользователя Windows, в папках %APPDATA%\1C\1cv8\ и %LOCALAPPDATA%\1C\1cv8\. На сервере 1С — в каталоге кластера внутри srvinfo.
Разбирать эти папки вручную, чтобы найти расширение, не нужно: там служебные файлы, а не .cfe. Кэш интересен только для диагностики, когда изменения в расширении не видны пользователю.
Удалять кэш на сервере 1С можно только после остановки службы — при этом оборвутся сеансы всех пользователей. Делайте это вне рабочего времени и с согласования. Клиентский кэш чистится безопаснее: закройте 1С у пользователя и запустите её с ключом /ClearCache.
Как проверить расширения из командной строки
Когда баз много, открывать Конфигуратор в каждой долго. Пакетный режим 1cv8.exe DESIGNER позволяет выгрузить расширения без интерфейса.
Выгрузить все расширения базы в файлы XML, каждое в свою подпапку:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpConfigToFiles "D:\Dump\Ext" -AllExtensions /Out "D:\Dump\log.txt"
Сохранить одно расширение в файл .cfe:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpCfg "D:\Dump\МоеРасширение.cfe" -Extension МоеРасширение /Out "D:\Dump\log.txt"
Для клиент-серверной базы вместо /F"путь" укажите /S"сервер\имя_базы". Номер версии в пути к 1cv8.exe замените на свой.
После выгрузки в XML откройте файл Configuration.xml в подпапке расширения: там имя, версия, назначение и префикс. Это удобно для сравнения расширений в десятке баз скриптом.
💡 В утилите ibcmd тоже есть команды для работы с расширениями. Их состав зависит от версии платформы, точный синтаксис смотрите в ibcmd help.
Расширение подключено, но не работает: диагностика и отладка
Ситуация знакомая: расширение в списке есть, флажок активности стоит, а печатная форма старая или новой кнопки нет. Проверяйте по порядку.
Журнал регистрации
Откройте Администрирование → Обслуживание → Журнал регистрации в БП 3.0 и ЗУП 3.1 или найдите журнал через «Все функции → Стандартные». В отборе по событиям введите слово «расширение» — список событий сократится до связанных с расширениями: добавление, изменение, ошибки применения.
Так видно, кто и когда загрузил новую версию. Это часто решает спор «я ничего не менял».
Отладка модулей расширения
Отладчик Конфигуратора работает с расширениями так же, как с основной конфигурацией:
- Откройте расширение в Конфигураторе.
- Поставьте точку останова в нужной процедуре модуля расширения.
- Запустите отладку (F5) или подключитесь к уже запущенному сеансу через меню «Отладка».
- Выполните действие, которое вызывает процедуру.
Если точка останова не срабатывает, расширение либо не применилось в сеансе, либо обработчик с аннотацией не привязан к нужной процедуре. Сверьте имя процедуры в аннотации с именем в основной конфигурации.
Версии расширений и обновление
Номер версии расширения — это свойство «Версия», которое заполняет разработчик. Платформа его не проверяет и сама не увеличивает. Поэтому две копии с одинаковой версией не обязательно одинаковые.
Как сравнить то, что стоит в базе, с файлом от разработчика:
- 🔸 В Конфигураторе откройте расширение и выберите сравнение с файлом в меню «Конфигурация». Отчёт покажет каждое отличие по объектам и модулям.
- 🔸 Для массовой сверки выгрузите расширения командной строкой и сравните папки XML любой утилитой сравнения.
Порядок обновления расширения
- Сделайте резервную копию базы. Неудачное расширение может заблокировать открытие нужных форм.
- Загрузите новую версию: в форме БСП командой обновления из файла или в Конфигураторе через загрузку расширения из файла
.cfe. - В Конфигураторе загрузка и запись в базу — два разных шага. После загрузки выполните обновление конфигурации базы данных для этого расширения.
- Попросите пользователей перезайти в базу.
После обновления основной конфигурации всегда проверяйте расширения с назначением «Исправление» и «Адаптация». Они работают с заимствованными объектами, и типовой релиз мог поменять как раз их.
Частые ошибки при поиске расширений
- ❌ Путают расширения с внешними обработками. Внешние отчёты и обработки живут в разделе «Дополнительные отчеты и обработки» и подключаются файлами
.epfи.erf. Расширения — это.cfe. Это разные механизмы, и списки у них разные. - ❌ Ищут
.cfeв папке базы. Его там нет: расширение внутри базы. - ❌ Смотрят список под обычным пользователем. Раздела не видно — делают вывод, что расширений нет.
- ❌ Проверяют файловую копию вместо рабочей базы. Копия могла быть снята до установки расширения.
- ❌ Судят по флажку «Активно». Флажок говорит, что расширение должно подключаться, но не гарантирует, что оно применилось. Проверка — список активных для сеанса из кода или поведение после перезапуска.
Частые вопросы
С какой версии платформы появились расширения?
&ИзменениеИКонтроль, работать с хранилищем.Можно ли увидеть расширения в базовой версии 1С?
Видно ли расширения в 1С:Фреш и других облачных сервисах?
.cfe идёт через процедуру, которую определяет провайдер.