Бизнес-логика в базе 1С 8.3: чем и куда загружать конфигурацию, расширение или обработку

· 10 мин

Содержание

Чтобы загрузить бизнес-логику (БЛ) в 1С 8.3, сначала посмотрите на расширение файла. Файл .cf загружают в конфигураторе через Конфигурация → Загрузить конфигурацию из файла… или объединяют через Сравнить, объединить с конфигурацией из файла…. Файл .cfe подключают как расширение, а .epf и .erf — как внешнюю или дополнительную обработку прямо в пользовательском режиме, без конфигуратора.

«Бизнес-логикой» в 1С называют код и объекты, которые определяют поведение программы: проведение документов, расчёты, проверки, печатные формы. Отдельного типа файла «БЛ» у платформы нет. Логика всегда приходит в одном из четырёх контейнеров, и от контейнера зависит способ загрузки, нужен ли монопольный режим и чем вы рискуете.

Если под «БЛ» вы имели в виду больничный лист, речь о другой задаче: электронные больничные получают из СФР (бывший ФСС) в зарплатной программе через обмен с фондом, а не загрузкой файла в конфигуратор.

Что считается бизнес-логикой и в каком файле она приходит

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

ФайлЧто внутриКуда загружатьНужен конфигуратор
.cfВся конфигурация: метаданные, модули, формы, макетыОсновная конфигурация базыДа
.cfuФайл обновления конфигурации поставщикаОбновление конфигурации на поддержкеДа
.cfeРасширение: доработки поверх типовой конфигурацииСписок расширений базыНет, можно из пользовательского режима
.epf / .erfВнешняя обработка / внешний отчётСправочник дополнительных обработок или открытие через Файл → ОткрытьНет
.dtВыгрузка всей информационной базы: конфигурация и данныеЗагрузка базы целикомДа

Файл .dt — это не бизнес-логика, а вся база с данными. Его загрузка заменяет все документы и справочники в текущей базе. Если вам прислали .dt «с доработками», не загружайте его в рабочую базу: разверните в новой пустой базе и оттуда сохраните конфигурацию в .cf.

Короткий выбор по ситуации:

  • 🧩 доработка типовой БП 3.0, ЗУП 3.1 или УТ 11 без снятия с поддержки — расширение .cfe;
  • 🖨 печатная форма, отчёт, обработка заполнения табличной части — внешняя обработка .epf/.erf;
  • 🏗 нетиповая конфигурация, которую ведёт ваш программист, — файл .cf с объединением;
  • 🔄 штатное обновление от фирмы-поставщика — .cfu через механизм поддержки.
Какой файл у вас на руках?

Подготовка базы перед загрузкой

Перед любой загрузкой, кроме внешней обработки, сделайте три вещи.

  1. Резервная копия. В конфигураторе: Администрирование → Выгрузить информационную базу…, файл .dt. Для серверной базы на PostgreSQL или MS SQL дополнительно годится резервная копия средствами СУБД.
  2. Копия текущей конфигурации. Конфигурация → Сохранить конфигурацию в файл… — получите .cf, к которому можно откатиться за пару минут, не трогая данные.
  3. Проверка на копии. Разверните .dt в отдельную тестовую базу и загрузите логику сначала туда. Проведите 2–3 типовых документа, сформируйте отчёт, распечатайте форму.

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

Пользователь, под которым вы входите, должен иметь роль «Администратор» или «Полные права». Без неё конфигуратор не откроется, а пункты загрузки расширений будут недоступны.

Загрузка конфигурации .cf вручную через конфигуратор

В конфигураторе есть два принципиально разных пункта, и путают их постоянно.

Полная замена конфигурации

Конфигурация → Загрузить конфигурацию из файла… полностью заменяет основную конфигурацию содержимым файла. Всё, чего нет в .cf, пропадёт: ваши доработки, добавленные реквизиты, формы.

Порядок:

  1. Откройте базу в режиме «Конфигуратор».
  2. Выполните Конфигурация → Загрузить конфигурацию из файла… и выберите .cf.
  3. Подтвердите замену.
  4. Выполните Конфигурация → Обновить конфигурацию базы данных (клавиша F7).
  5. Изучите окно «Реорганизация информации». Если в списке есть удаляемые объекты или реквизиты, вместе с ними удалятся их данные. Не уверены — нажмите «Отмена» и разберитесь.
  6. Нажмите «Принять» и дождитесь окончания.

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

Сравнение и объединение

Конфигурация → Сравнить, объединить с конфигурацией из файла… переносит только выбранные изменения. Откроется окно сравнения: слева текущая конфигурация, справа файл. Галочками отмечаете, какие объекты брать, а для модулей можно настроить объединение по процедурам.

Используйте этот вариант, если:

  • 📌 в базе есть свои доработки, которые нельзя потерять;
  • 📌 доработка затрагивает несколько объектов, а не всю конфигурацию;
  • 📌 конфигурация типовая и стоит на поддержке.

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

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

Внешние обработки и отчёты из файлов

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

Разовый запуск

Откройте файл через Файл → Открыть (меню с тремя полосками в левом верхнем углу окна) или перетащите его в окно программы. Платформа покажет предупреждение о безопасности: внешний код выполняется с правами текущего пользователя. Открывайте только файлы из проверенных источников.

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

Регистрация для постоянной работы

В типовых конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11) обработку регистрируют в справочнике:

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

Регистрация работает, только если в модуле объекта обработки есть экспортная функция СведенияОВнешнейОбработке(). Её пишет разработчик. Если программа отвечает, что обработка не поддерживает подключение, файл предназначен лишь для разового запуска через Файл → Открыть.

Подключение расширения конфигурации .cfe

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

В пользовательском режиме

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

Через конфигуратор

  1. Конфигурация → Расширения конфигурации.
  2. В открывшемся списке добавьте новое расширение и загрузите в него файл через меню действий этого окна, либо выберите существующее, если обновляете версию.
  3. Если расширение добавляет свои объекты с данными (справочники, реквизиты), выполните обновление конфигурации базы данных для расширения.

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

Автоматическая загрузка: пакетный режим и скрипты

Когда баз много или загрузку надо повторять по расписанию, её запускают из командной строки. Конфигуратор умеет работать без интерфейса: команда 1cv8.exe DESIGNER с параметрами пакетного режима.

Загрузка .cf и обновление базы данных в файловой базе:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER ^
  /F"D:\Bases\Buh" /N"Администратор" /P"пароль" ^
  /DisableStartupDialogs ^
  /LoadCfg "D:\Upd\config.cf" ^
  /UpdateDBCfg ^
  /Out"D:\Upd\log.txt"

Для серверной базы вместо /F укажите /S"имя_сервера\имя_базы". Номер версии в пути замените на установленный у вас: каталоги платформ лежат в C:\Program Files\1cv8\.

Загрузка расширения тем же способом:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER ^
  /F"D:\Bases\Buh" /N"Администратор" /P"пароль" ^
  /LoadCfg "D:\Upd\Pechat.cfe" -Extension "Pechat" ^
  /UpdateDBCfg -Extension "Pechat" ^
  /Out"D:\Upd\log_ext.txt"

Что ещё полезно в скриптах:

  • 📄 /Out пишет протокол. Проверяйте его после каждого запуска: при ошибке процесс завершается, а окна с сообщением вы не увидите.
  • 🔐 Если в базе установлена блокировка сеансов с кодом разрешения, добавьте /UC"код".
  • 🗂 Конфигурацию из исходников в XML (если команда ведёт её в Git или EDT) загружают параметром /LoadConfigFromFiles "каталог".
  • ⏸ Пакетный режим не завершает чужие сеансы. Перед /UpdateDBCfg их надо закрыть: установить блокировку начала сеансов и дождаться выхода пользователей.

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

Для серии баз в кластере удобнее готовые инструменты автоматизации обновлений, но логика у них та же: блокировка сеансов → резервная копия → загрузка → обновление базы данных → снятие блокировки.

Перед запуском скрипта в рабочей базе
Выполнено: 0 / 6

Ошибки при загрузке и что с ними делать

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

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

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

Можно ли загрузить бизнес-логику без конфигуратора?
Да. Расширения .cfe и внешние обработки .epf/.erf подключаются из пользовательского режима, если у пользователя есть административные права. Файл .cf без конфигуратора или пакетного режима не загрузить.
Слетит ли расширение после обновления типовой конфигурации?
Само расширение останется в базе. Но если обновление изменило объекты, которые расширение перехватывает, оно может перестать применяться. Проверяйте список расширений после каждого обновления.
Нужна ли отдельная лицензия для загрузки расширений и обработок?
Нет. Отдельной лицензии на загрузку не требуется: это штатные возможности платформы. Нужна лишь обычная клиентская лицензия на сеанс, в котором вы работаете.
Как откатить загруженную логику?
Расширение отключите или удалите из списка, обработку пометьте как неиспользуемую. Основную конфигурацию верните загрузкой сохранённого .cf и обновлением базы данных; если реорганизация уже удалила данные, поможет только .dt.
Работают ли расширения в базе в облаке 1С:Фреш?
Работают, но с ограничениями сервиса: расширения проходят проверку и, как правило, должны работать в безопасном режиме. Порядок подключения смотрите в документации своего тарифа.