Какие расширения стоят в базе 1С и как это проверить за пять минут

· 9 мин

Содержание

Посмотреть расширения в 1С:Предприятии 8.3 проще всего так: в типовых конфигурациях откройте Администрирование → Печатные формы, отчеты и обработки → Расширения. В Конфигураторе список находится в меню Конфигурация → Расширения конфигурации. Если раздела нет или он недоступен, подойдёт универсальный путь для любой конфигурации: Главное меню → Все функции → Стандартные → Управление расширениями конфигурации.

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

Где найти расширения в режиме 1С:Предприятие

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

КонфигурацияПуть к списку расширений
Бухгалтерия предприятия 3.0Администрирование → Печатные формы, отчеты и обработки → Расширения
ЗУП 3.1Администрирование → Печатные формы, отчеты и обработки → Расширения
Управление торговлей 11НСИ и администрирование → Печатные формы, отчеты и обработки → Расширения
Любая конфигурация 8.3Главное меню → Все функции → Стандартные → Управление расширениями конфигурации

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

Если ссылки «Расширения» в разделе нет, сначала проверьте, что вы вошли под пользователем с полными правами. Обычному бухгалтеру эта форма не показывается — и это правильно.

Как включить команду «Все функции»

Стандартная обработка «Управление расширениями конфигурации» есть в любой базе 8.3, даже в нетиповой. Чтобы до неё добраться:

  1. Нажмите кнопку главного меню (значок с тремя полосками в левом верхнем углу).
  2. Откройте Сервис → Параметры.
  3. Поставьте флажок «Отображать команду “Все функции”» и нажмите «Применить».
  4. В главном меню появится пункт «Все функции». Разверните ветку «Стандартные».

Эта обработка показывает расширения без надстроек БСП. Она полезна, когда типовая форма сломана или конфигурация самописная.

Список расширений в Конфигураторе: что означают колонки

Конфигуратор даёт самую подробную картину. Откройте базу в режиме Конфигуратора и выберите Конфигурация → Расширения конфигурации. Откроется окно со списком всех расширений базы.

Колонки, на которые стоит смотреть в первую очередь:

  • 🔹 Имя и синоним — техническое имя и то, что видит пользователь.
  • 🔹 Версия — заполняет разработчик в свойствах расширения. Пустая версия — частая картина у самописных доработок.
  • 🔹 Назначение — «Исправление», «Адаптация» или «Дополнение». От назначения зависит порядок применения: сначала исправления, потом адаптации, потом дополнения.
  • 🔹 Активно — признак, что расширение подключается при входе в базу.
  • 🔹 Безопасный режим и Защита от опасных действий — ограничения, под которыми работает код расширения.

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

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

В нём два типа объектов:

  • 📌 Заимствованные — объекты основной конфигурации, которые расширение изменяет. Их значок помечен особым образом, а внутри видно, какие формы, модули и реквизиты затронуты.
  • 📌 Собственные — новые справочники, отчёты, обработки, реквизиты. Их имена обычно начинаются с префикса расширения, например мр_ или ДопПечать_.

Чтобы быстро найти, какое расширение трогает нужный объект, откройте модуль и ищите аннотации &Перед, &После, &Вместо и &ИзменениеИКонтроль. Каждая из них указывает на процедуру основной конфигурации, которую перехватывает расширение.

Объекты расширений в запросах, СКД и коде

Отдельной таблицы «Расширения» в языке запросов нет. Но то, что добавило расширение, видно в консоли запросов и в конструкторе запросов.

Признаки расширения в консоли запросов и СКД

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

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

Список расширений программно

Из кода список расширений возвращает менеджер РасширенияКонфигурации. Пример для серверной процедуры внешней обработки:

&НаСервере
Процедура ПоказатьРасширенияНаСервере()

    Расширения = РасширенияКонфигурации.Получить();

    Для Каждого Расширение Из Расширения Цикл
        Сообщить(СтрШаблон("%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 или найдите журнал через «Все функции → Стандартные». В отборе по событиям введите слово «расширение» — список событий сократится до связанных с расширениями: добавление, изменение, ошибки применения.

Так видно, кто и когда загрузил новую версию. Это часто решает спор «я ничего не менял».

Отладка модулей расширения

Отладчик Конфигуратора работает с расширениями так же, как с основной конфигурацией:

  1. Откройте расширение в Конфигураторе.
  2. Поставьте точку останова в нужной процедуре модуля расширения.
  3. Запустите отладку (F5) или подключитесь к уже запущенному сеансу через меню «Отладка».
  4. Выполните действие, которое вызывает процедуру.

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

Версии расширений и обновление

Номер версии расширения — это свойство «Версия», которое заполняет разработчик. Платформа его не проверяет и сама не увеличивает. Поэтому две копии с одинаковой версией не обязательно одинаковые.

Как сравнить то, что стоит в базе, с файлом от разработчика:

  • 🔸 В Конфигураторе откройте расширение и выберите сравнение с файлом в меню «Конфигурация». Отчёт покажет каждое отличие по объектам и модулям.
  • 🔸 Для массовой сверки выгрузите расширения командной строкой и сравните папки XML любой утилитой сравнения.

Порядок обновления расширения

  1. Сделайте резервную копию базы. Неудачное расширение может заблокировать открытие нужных форм.
  2. Загрузите новую версию: в форме БСП командой обновления из файла или в Конфигураторе через загрузку расширения из файла .cfe.
  3. В Конфигураторе загрузка и запись в базу — два разных шага. После загрузки выполните обновление конфигурации базы данных для этого расширения.
  4. Попросите пользователей перезайти в базу.

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

Частые ошибки при поиске расширений

  • ❌ Путают расширения с внешними обработками. Внешние отчёты и обработки живут в разделе «Дополнительные отчеты и обработки» и подключаются файлами .epf и .erf. Расширения — это .cfe. Это разные механизмы, и списки у них разные.
  • ❌ Ищут .cfe в папке базы. Его там нет: расширение внутри базы.
  • ❌ Смотрят список под обычным пользователем. Раздела не видно — делают вывод, что расширений нет.
  • ❌ Проверяют файловую копию вместо рабочей базы. Копия могла быть снята до установки расширения.
  • ❌ Судят по флажку «Активно». Флажок говорит, что расширение должно подключаться, но не гарантирует, что оно применилось. Проверка — список активных для сеанса из кода или поведение после перезапуска.

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

С какой версии платформы появились расширения?
Расширения конфигурации появились в платформе 8.3.6. С каждой следующей версией они умеют больше: расширять новые типы объектов, менять модули через &ИзменениеИКонтроль, работать с хранилищем.
Можно ли увидеть расширения в базовой версии 1С?
Список отображается так же, через «Все функции» или раздел администрирования. Возможности работы с расширениями в базовых версиях ограничены, перед установкой уточняйте у поставщика доработки.
Видно ли расширения в 1С:Фреш и других облачных сервисах?
Да, но набор действий задаёт сервис. Обычно пользователь видит подключённые расширения, а загрузка своего .cfe идёт через процедуру, которую определяет провайдер.
Как узнать, кто установил расширение?
По журналу регистрации: отберите события по слову «расширение» за нужный период. В событии указан пользователь и компьютер.
Влияют ли расширения на обновление типовой конфигурации?
Основная конфигурация остаётся на поддержке, обновление ставится как обычно. Но после обновления расширение может перестать применяться, если изменился заимствованный объект. Проверяйте его сразу после релиза.