Подключаем расширение конфигурации: из файла, в конфигураторе, с проверкой

· 9 мин

Содержание

Чтобы добавить новое расширение в 1С 8.3, откройте Администрирование → Печатные формы, отчеты и обработки → Расширения, нажмите Добавить из файла… и выберите файл .cfe. После этого перезапустите программу: расширение начнёт работать в новом сеансе. Если готового файла нет и расширение нужно создать с нуля, путь другой: конфигуратор, Конфигурация → Расширения конфигурации → Добавить.

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

Что проверить перед подключением расширения

Расширения работают в платформе 1С:Предприятие начиная с версии 8.3.6. На актуальных релизах 8.3.2x все механизмы ниже доступны. Перед подключением пройдите короткий список:

  • 💾 Резервная копия. Выгрузите базу в .dt (Администрирование → Выгрузить информационную базу в конфигураторе) или сделайте копию каталога файловой базы. Расширение, меняющее структуру данных, нельзя снять без последствий для записанных им данных.
  • 👤 Права. Добавлять расширения может пользователь с ролью «Администратор системы» или «Полные права». У обычного бухгалтера кнопки не будет.
  • 📄 Тип файла. Расширение — это файл .cfe. Файлы .epf и .erf — внешние обработки и отчёты, они подключаются в другом месте (Дополнительные отчеты и обработки).
  • 🔢 Под какую версию сделано. Спросите у автора, на каком релизе типовой конфигурации расширение проверялось. Если у вас релиз заметно новее или старше, заимствованные объекты могут не совпасть.
  • 🧪 Тестовая копия. Чужое расширение сначала подключайте в копии базы. Ошибки в нём проявятся на открытии документов, а не в момент загрузки.

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

Как установить расширение 1С из файла без конфигуратора

Этот способ подходит для типовых конфигураций на БСП: Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других. Конфигуратор открывать не нужно, база может работать, пользователи — оставаться в системе.

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

Порядок действий

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

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

Что значат признаки расширения

ФлажокЧто делаетКогда снимать
АктивноРасширение применяется при запускеЧтобы временно отключить, не удаляя
Безопасный режимКод расширения не может работать с файлами, COM, внешними ресурсамиТолько если автор прямо указал, что расширению нужны эти действия
Защита от опасных действийЗапрос подтверждения при потенциально опасных операцияхОбычно не снимают

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

Создание нового расширения в конфигураторе

Свою доработку создают в конфигураторе. Режим запуска — Конфигуратор, пользователь — администратор.

  1. Откройте Конфигурация → Расширения конфигурации.
  2. В окне списка нажмите Добавить.
  3. Заполните свойства нового расширения:
    • Имя — латиницей или кириллицей без пробелов, например ДоработкиПечати;
    • Синоним — то, что увидят пользователи в списке;
    • Префикс — добавляется к именам новых объектов и методов, например Печ_. Платформа предлагает префикс сама, но лучше задать короткий и осмысленный;
    • Назначение — Исправление, Адаптация или Дополнение.
  4. Нажмите ОК. Откроется пустое дерево расширения рядом с деревом основной конфигурации.

Какое назначение выбрать

Назначение определяет порядок применения, когда расширений несколько. Сначала применяются исправления, затем адаптации, затем дополнения.

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

Для большинства задач внутри одной компании подходит «Адаптация».

Режим совместимости

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

Заимствование объектов и настройка функционала

Расширение не правит типовые объекты напрямую. Оно заимствует их и добавляет свой код до, после или вместо типового.

Как заимствовать объект

  1. В дереве основной конфигурации найдите нужный объект: документ, справочник, общий модуль, форму.
  2. Щёлкните правой кнопкой и выберите Добавить в расширение.
  3. Объект появится в дереве расширения с особым значком заимствования. Тянутся только те его части, которые вы дальше будете менять.

Для форм заимствуется сама форма. После этого в её редакторе можно добавить реквизиты, элементы и обработчики.

Как перехватить типовую процедуру

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

АннотацияКогда выполняется ваш код
&Перед("ИмяМетода")До типового метода
&После("ИмяМетода")После типового метода
&Вместо("ИмяМетода")Вместо типового; вызвать типовой можно через ПродолжитьВызов()
&ИзменениеИКонтроль("ИмяМетода")Копия типового метода с вашими вставками и удалениями

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

&После("ОбработкаПроверкиЗаполнения")
Процедура Печ_ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
	Если НЕ ЗначениеЗаполнено(Комментарий) Тогда
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Заполните комментарий к документу";
		Сообщение.Поле = "Комментарий";
		Сообщение.УстановитьДанные(ЭтотОбъект);
		Сообщение.Сообщить();
		Отказ = Истина;
	КонецЕсли;
КонецПроцедуры

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

Новые объекты

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

Права на новые объекты

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

Анализ влияния расширения на основную конфигурацию

Расширение подключается поверх типовой и зависит от неё. Проверьте, что именно оно затрагивает.

Что посмотреть в дереве расширения

  • 📌 Заимствованные объекты — какие документы, формы и модули перехвачены. Чем их больше, тем выше риск сбоя после обновления.
  • 🔁 Перехваты с &Вместо — заменяют типовой код целиком. После обновления типовой метод может получить новую логику, а ваш перехват её проглотит.
  • 🧾 Контроль свойств — у заимствованного объекта в палитре свойств можно включить контроль. Если в основной конфигурации свойство изменится, расширение не применится.
  • 🗄 Новые таблицы данных — справочники, документы, регистры расширения. Их данные живут, только пока расширение подключено.

Синтаксическая проверка

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

Проверка на реальных данных

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

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

Загрузка, сохранение и активация расширения в конфигураторе

Загрузить готовый .cfe через конфигуратор

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

Применить изменения к базе

Загрузка файла и запись в базу — разные шаги. После загрузки или правки нажмите F7 (Конфигурация → Обновить конфигурацию базы данных) при активном окне расширения. Без этого пользователи будут работать со старой версией.

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

Сохранить расширение в файл

Чтобы перенести расширение в другую базу или отдать на проверку, при активном дереве расширения выберите Конфигурация → Сохранить конфигурацию в файл…. Получится тот же .cfe.

Включение и отключение

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

Способ подключенияКому подходитНужен конфигураторМожно править код
Добавить из файла… в пользовательском режимеАдминистратору базы, бухгалтеру с полными правамиНетНет
Загрузка .cfe в конфигуратореПрограммисту, администраторуДаДа
Создание нового расширенияПрограммистуДаДа

Ошибки при подключении расширения 1С и как их найти

Выберите симптом, который видите после установки.

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

Если ошибка появилась после установки нескольких расширений сразу, отключайте их по одному флажком «Активно». Так виновник находится за пару перезапусков, и ничего не нужно удалять.

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

Слетит ли расширение при обновлении типовой конфигурации?
Нет, расширение остаётся в базе и после обновления. Но если обновление изменило заимствованные объекты, оно может перестать применяться. После каждого релиза запускайте базу и проверяйте сообщения при старте.
Можно ли подключить расширение в файловой базе, пока в ней работают люди?
Да, добавить расширение из файла можно при работающих пользователях. Новые сеансы уже будут с ним, остальным нужно перезайти.
Чем расширение отличается от внешней обработки?
Внешняя обработка (.epf) — отдельный инструмент, который запускают вручную или из списка дополнительных обработок. Расширение (.cfe) встраивается в конфигурацию: меняет формы, проверки, проведение и работает без отдельного запуска.
Сколько расширений можно подключить к одной базе?
Жёсткого лимита для обычной работы нет. На практике каждое лишнее расширение замедляет запуск сеанса и усложняет поиск ошибок, поэтому мелкие доработки одного назначения лучше держать в одном расширении.
Что будет с данными, если удалить расширение с собственными справочниками?
Таблицы расширения удалятся вместе с данными. Если данные ещё нужны, сначала выгрузите их или просто снимите флажок «Активно» вместо удаления.