Бизнес-логика в базе 1С 8.3: чем и куда загружать конфигурацию, расширение или обработку
Содержание
Чтобы загрузить бизнес-логику (БЛ) в 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через механизм поддержки.
Файл → Открыть. Для постоянной работы зарегистрируйте её в справочнике дополнительных отчётов и обработок.Подготовка базы перед загрузкой
Перед любой загрузкой, кроме внешней обработки, сделайте три вещи.
- Резервная копия. В конфигураторе:
Администрирование → Выгрузить информационную базу…, файл.dt. Для серверной базы на PostgreSQL или MS SQL дополнительно годится резервная копия средствами СУБД. - Копия текущей конфигурации.
Конфигурация → Сохранить конфигурацию в файл…— получите.cf, к которому можно откатиться за пару минут, не трогая данные. - Проверка на копии. Разверните
.dtв отдельную тестовую базу и загрузите логику сначала туда. Проведите 2–3 типовых документа, сформируйте отчёт, распечатайте форму.
Для смены основной конфигурации нужен монопольный режим: в базе не должно быть других сеансов. Посмотреть их можно в конфигураторе через Администрирование → Активные пользователи, а на сервере — в консоли кластера. Сеансы с незаписанными документами обрываются, поэтому планируйте загрузку на нерабочее время и предупредите пользователей заранее.
Пользователь, под которым вы входите, должен иметь роль «Администратор» или «Полные права». Без неё конфигуратор не откроется, а пункты загрузки расширений будут недоступны.
Загрузка конфигурации .cf вручную через конфигуратор
В конфигураторе есть два принципиально разных пункта, и путают их постоянно.
Полная замена конфигурации
Конфигурация → Загрузить конфигурацию из файла… полностью заменяет основную конфигурацию содержимым файла. Всё, чего нет в .cf, пропадёт: ваши доработки, добавленные реквизиты, формы.
Порядок:
- Откройте базу в режиме «Конфигуратор».
- Выполните
Конфигурация → Загрузить конфигурацию из файла…и выберите.cf. - Подтвердите замену.
- Выполните
Конфигурация → Обновить конфигурацию базы данных(клавишаF7). - Изучите окно «Реорганизация информации». Если в списке есть удаляемые объекты или реквизиты, вместе с ними удалятся их данные. Не уверены — нажмите «Отмена» и разберитесь.
- Нажмите «Принять» и дождитесь окончания.
Этот способ подходит для нетиповых конфигураций, где программист передаёт вам всегда полную актуальную версию.
Сравнение и объединение
Конфигурация → Сравнить, объединить с конфигурацией из файла… переносит только выбранные изменения. Откроется окно сравнения: слева текущая конфигурация, справа файл. Галочками отмечаете, какие объекты брать, а для модулей можно настроить объединение по процедурам.
Используйте этот вариант, если:
- 📌 в базе есть свои доработки, которые нельзя потерять;
- 📌 доработка затрагивает несколько объектов, а не всю конфигурацию;
- 📌 конфигурация типовая и стоит на поддержке.
После объединения так же нажмите F7, чтобы изменения попали в базу данных. Пока вы этого не сделали, пользователи работают со старой логикой: изменения лежат только в основной конфигурации, но не в конфигурации базы данных.
В типовой базе, которая стоит на поддержке, для изменения объектов нужно включить возможность изменения (Конфигурация → Поддержка → Настройка поддержки). После этого обновления от поставщика станут сложнее: каждое придётся объединять вручную. Поэтому для типовых баз предпочтительнее расширения.
Внешние обработки и отчёты из файлов
Внешняя обработка .epf и внешний отчёт .erf — самый быстрый способ добавить логику: конфигурация не меняется, монопольный режим не нужен.
Разовый запуск
Откройте файл через Файл → Открыть (меню с тремя полосками в левом верхнем углу окна) или перетащите его в окно программы. Платформа покажет предупреждение о безопасности: внешний код выполняется с правами текущего пользователя. Открывайте только файлы из проверенных источников.
Если пункт недоступен или появляется сообщение о нехватке прав, у пользователя нет права на интерактивное открытие внешних обработок. Его выдаёт администратор через профиль групп доступа.
Регистрация для постоянной работы
В типовых конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11) обработку регистрируют в справочнике:
- Убедитесь, что включён флажок дополнительных отчётов и обработок: в БП 3.0 это
Администрирование → Печатные формы, отчеты и обработки. - В том же разделе откройте список «Дополнительные отчеты и обработки».
- Нажмите «Добавить из файла…» и выберите
.epf. - Проверьте вид обработки, раздел размещения и команды, укажите, каким пользователям она доступна.
- Запишите элемент. Печатная форма появится в меню «Печать» нужного документа, обработка заполнения — в его командной панели.
Регистрация работает, только если в модуле объекта обработки есть экспортная функция СведенияОВнешнейОбработке(). Её пишет разработчик. Если программа отвечает, что обработка не поддерживает подключение, файл предназначен лишь для разового запуска через Файл → Открыть.
Подключение расширения конфигурации .cfe
Расширения появились в платформе 8.3.6 и стали основным способом дорабатывать типовые базы. Расширение добавляет свои объекты и перехватывает методы основной конфигурации, а сама она остаётся на поддержке и обновляется штатно.
В пользовательском режиме
- В БП 3.0 и ЗУП 3.1 откройте
Администрирование → Печатные формы, отчеты и обработки → Расширения. Если пункта не видно, найдите «Управление расширениями конфигурации» черезВсе функции→ «Стандартные» (команда «Все функции» включается в параметрах программы). - Нажмите «Добавить из файла…» и выберите
.cfe. - Проверьте флажки «Безопасный режим» и «Защита от опасных действий». Без нужды их не снимайте: в безопасном режиме код расширения не может, например, обращаться к файлам на диске.
- Перезапустите программу. Расширение применяется к новым сеансам.
Через конфигуратор
Конфигурация → Расширения конфигурации.- В открывшемся списке добавьте новое расширение и загрузите в него файл через меню действий этого окна, либо выберите существующее, если обновляете версию.
- Если расширение добавляет свои объекты с данными (справочники, реквизиты), выполните обновление конфигурации базы данных для расширения.
Перед подключением проверьте две вещи. Версия режима совместимости расширения не должна быть выше, чем у основной конфигурации. А объекты, которые расширение заимствует, должны существовать в вашей конфигурации: после крупного обновления типовой поставщик мог переименовать или удалить реквизит, и тогда расширение перестанет применяться.
Автоматическая загрузка: пакетный режим и скрипты
Когда баз много или загрузку надо повторять по расписанию, её запускают из командной строки. Конфигуратор умеет работать без интерфейса: команда 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-файле лежит открытым текстом. Храните скрипт в папке, куда есть доступ только у администратора, а лучше заведите отдельного служебного пользователя базы.
Для серии баз в кластере удобнее готовые инструменты автоматизации обновлений, но логика у них та же: блокировка сеансов → резервная копия → загрузка → обновление базы данных → снятие блокировки.
Ошибки при загрузке и что с ними делать
Отдельно о версии платформы. Конфигурация или расширение, сохранённые в более новой платформе, могут не открыться в базе на старой. Обычно мешает режим совместимости: если в файле он выше, чем умеет ваша платформа, загрузка завершится ошибкой. Решение — обновить платформу до номера не ниже того, в котором собран файл, или попросить разработчика понизить режим совместимости.
Частые вопросы
Можно ли загрузить бизнес-логику без конфигуратора?
.cfe и внешние обработки .epf/.erf подключаются из пользовательского режима, если у пользователя есть административные права. Файл .cf без конфигуратора или пакетного режима не загрузить.Слетит ли расширение после обновления типовой конфигурации?
Нужна ли отдельная лицензия для загрузки расширений и обработок?
Как откатить загруженную логику?
.cf и обновлением базы данных; если реорганизация уже удалила данные, поможет только .dt.