Подключаем внешнюю обработку (.epf) в базу 1С 8.3
Содержание
Чтобы встроить внешнюю обработку
в 1С так, чтобы она открывалась у всех пользователей из меню, идём в Администрирование → Печатные формы, отчёты и обработки, включаем флажок Дополнительные отчёты и обработки и по одноимённой ссылке добавляем файл .epf. Это постоянное подключение: обработка хранится внутри базы, а не на диске у конкретного человека.
Есть и быстрый путь — разово открыть файл через Файл → Открыть и выбрать .epf. Он годится, чтобы один раз что-то посчитать, но после закрытия программы ярлыка не останется, прав никому не выдать и по расписанию такую обработку не запустить. Ниже — про полноценное встраивание внешней обработки в конфигурацию 1С 8.3 на управляемых формах (БП 3.0, ЗУП 3.1, УТ 11 и другие на БСП).
Коротко разница так: разовое открытие — это «запустить файл у себя», встраивание — «добавить инструмент в базу для всех». Дальше речь только о втором: когда обработкой пользуются регулярно и разными людьми.
Что нужно от файла обработки до подключения
Встроить через список «Дополнительные отчёты и обработки» можно не любой файл. Требования такие:
- 📄 Формат
.epf(внешняя обработка) или.erf(внешний отчёт). - ⚙️ Обработка собрана на управляемых формах — обычные формы 8.2 список не примет.
- 🔑 Внутри обработки есть экспортная функция
СведенияОВнешнейОбработке(). Без неё база не поймёт, как показать команду и к чему её привязать.
Функция возвращает структуру с видом, назначением и списком команд. Вид определяет, где обработка появится:
| Вид обработки | Где вызывается |
|---|---|
ДополнительнаяОбработка | в списке дополнительных обработок, открывается вручную |
ПечатнаяФорма | кнопка Печать в документе или справочнике |
ЗаполнениеОбъекта | команда заполнения в карточке объекта |
Отчёт | в списке дополнительных отчётов |
СозданиеСвязанныхОбъектов | меню Создать на основании |
Если обработку писали под вашу задачу подрядчики, уточните у них вид и назначение (к каким документам или справочникам она привязана). Это экономит время на этапе регистрации — назначение придётся выбрать вручную.
Если функции СведенияОВнешнейОбработке() в файле нет, встроить его в список не выйдет — останется только разовое открытие через Файл → Открыть. Дорабатывает функцию программист в конфигураторе.
Подключаем обработку в список: пошагово
Порядок одинаков для большинства типовых конфигураций на управляемом интерфейсе «Такси».
- Откройте
Администрирование → Печатные формы, отчёты и обработки. - Установите флажок
Дополнительные отчёты и обработки— без него ссылка на список неактивна. - Перейдите по ссылке
Дополнительные отчёты и обработки. - Нажмите
Добавить из файла…и выберите.epfна диске. - Если появится предупреждение о безопасности — прочитайте его (разберём в разделе про права) и подтвердите загрузку.
- В карточке проверьте поля:
Наименование,Вид, при необходимости —Безопасный режим. - В таблице
Размещение(илиКоманды) укажите, в каких разделах и у каких объектов обработка должна появиться. - Запишите и закройте карточку.
После этого команда обработки появляется там, куда вы её поместили: в разделе интерфейса, в меню Печать документа или в списке дополнительных обработок (Сервис → Дополнительные обработки, если такой пункт включён в разделе).
Отдельный момент — размещение по разделам. В карточке можно указать, в каком разделе интерфейса (например, Продажи, Покупки, Зарплата и кадры) показывать команду. Если раздел не выбрать, обработку всё равно можно открыть из общего списка дополнительных, но отдельной кнопки в нужном месте не будет. Для печатной формы размещение задаётся иначе — через указание документов и справочников, у которых она появится в меню Печать.
Проверьте результат под учётной записью обычного пользователя, а не только администратора. У администратора видно всё, и легко решить, что настройка готова, пока сотрудники команду не находят.
Файл обработки после загрузки хранится внутри базы. Если позже вам прислали новую версию .epf, не добавляйте её второй строкой — откройте существующую карточку и нажмите Загрузить из файла, иначе в списке будут два дубля с одинаковым именем.
Права доступа и безопасный режим
Два отдельных вопроса: кто может подключать обработки и с какими ограничениями они работают.
Кто добавляет обработки. Загружать файлы в список вправе пользователь с ролью на администрирование дополнительных отчётов и обработок. У обычного оператора такой возможности нет — и это правильно: внешний файл выполняет код внутри вашей базы. Выдавать это право стоит ограниченному кругу.
Кому видна команда. В карточке обработки, в таблице размещения, можно ограничить доступ по пользователям или группам доступа. Если команда не появилась у сотрудника — проверьте, что он попал в разрешённый список и что у него есть права на сам раздел.
Безопасный режим. При загрузке база по умолчанию предлагает включить флажок Безопасный режим. В нём обработка не может:
- 🚫 обращаться к файловой системе сервера напрямую;
- 🚫 запускать внешние программы и COM-объекты;
- 🚫 работать с привилегиями, которых нет у текущего пользователя.
Для большинства печатных форм и заполнений этого достаточно. Но если обработка должна, например, выгружать файл в сетевую папку, безопасный режим ей помешает.
Отключать безопасный режим «на всякий случай» не нужно. Снимайте флажок только для обработки из доверенного источника и только если без этого она не работает.
В клиент-серверной базе для работы обработки без безопасного режима администратору сервера дополнительно нужно настроить профиль безопасности на кластере (в консоли администрирования или через rac) и связать его с базой. Без разрешённого профиля сервер не даст небезопасной обработке выполнить код, даже если флажок снят. В файловой базе профили не используются.
На практике это значит простое правило: внешний файл — это чужой код, который будет работать с вашими данными под правами того, кто его запускает. Поэтому загружайте только обработки, в происхождении которых уверены (разработчик вашей типовой, подрядчик по договору), и не раздавайте право на добавление обработок всем подряд. Для рядового бухгалтера достаточно права запускать уже подключённые команды, а не добавлять новые файлы.
Запуск обработки по расписанию
Дополнительную обработку можно не только открывать вручную, но и запускать автоматически — например, ночную выгрузку или пересчёт. За это отвечает вид команды ВызовСерверногоМетода с галочкой расписания.
Чтобы настроить:
- Откройте карточку обработки в списке дополнительных.
- В таблице команд найдите команду с типом, допускающим запуск по расписанию (у неё есть колонка или ссылка
Расписание). - Нажмите на расписание и задайте периодичность: раз в день в заданное время, каждые N часов и т. п.
- Запишите карточку.
Дальше запуском управляет механизм регламентных заданий платформы. Поэтому расписание сработает только при выполнении условий:
- 🖥️ В файловой базе регламентные задания идут лишь пока открыт хотя бы один сеанс (или запущен отдельный сеанс-планировщик). Закрыли все окна — задания не выполняются.
- 🗄️ В клиент-серверной базе задания выполняет рабочий процесс на сервере, сеанс пользователя для этого не нужен.
Если выгрузка «не отрабатывает ночью» в файловой базе — почти всегда причина в том, что вечером базу закрыли. Для регулярных заданий такую базу лучше перевести в клиент-серверный вариант или держать выделенный сеанс.
Проверить, что задание вообще зарегистрировано и когда запускалось, можно в Администрирование → Обслуживание → Регламентные и фоновые задания. В списке фоновых заданий видно время старта, длительность и статус последнего запуска — завершилось оно успешно или с ошибкой. Если запусков нет вовсе, значит расписание в карточке обработки не сохранилось или задание отключено; если есть, но со статусом ошибки — открывайте журнал регистрации и смотрите текст.
Полезная привычка для регулярной обработки — чтобы она сама писала результат в журнал регистрации: сколько строк обработала, что выгрузила. Тогда по утрам достаточно взгляда в журнал, а не ручной перепроверки. Это закладывается на этапе разработки обработки, так что оговорите такое поведение с программистом заранее.
Почему обработка не подключается: разбор ошибок
Самые частые ситуации при встраивании внешней обработки и что с ними делать.
.epf. Для списка нужна обработка на управляемых формах. Пересоберите её в конфигураторе или запрашивайте корректный файл у разработчика.СведенияОВнешнейОбработке(). Такой файл в список не встроить — открывайте через Файл → Открыть или дорабатывайте функцию в конфигураторе.Дополнительные отчёты и обработки в разделе Администрирование → Печатные формы, отчёты и обработки. Включите его.Если причина непонятна, откройте Администрирование → Обслуживание → Журнал регистрации и отфильтруйте записи по времени запуска обработки. В журнале видно точный текст ошибки платформы — по нему проще искать решение, чем по общему «не работает».
Обработка открывалась раньше, а после обновления конфигурации перестала — проверьте её совместимость с новой версией типовой. Внешние обработки, особенно печатные формы, привязаны к структуре документов и после крупного обновления иногда требуют новой версии от разработчика.
Обновление и отключение встроенной обработки
Подключённая обработка живёт в базе своей жизнью, и за ней нужно следить.
Как заменить на новую версию. Пришёл свежий .epf — не добавляйте его отдельной строкой. Откройте существующую карточку в списке дополнительных и нажмите Загрузить из файла, выбрав новый файл. Тогда все размещения, права и расписание сохранятся, а код обновится. Добавление второй строки даёт два пункта с одинаковым именем и путаницу у пользователей.
Как временно отключить. Если обработка стала мешать или ведёт себя неправильно, не удаляйте её сразу. В карточке есть признак публикации (Используется / Не используется или аналогичный по смыслу переключатель). Снимите публикацию — команда исчезнет из интерфейса, но сам файл и настройки останутся. Это удобно на время разбирательства: вернуть обработку в строй можно одним кликом.
Как удалить полностью. Пометьте карточку на удаление и выполните Администрирование → Обслуживание → Удаление помеченных объектов. Перед удалением убедитесь, что обработку не запускает регламентное задание — иначе в журнале появятся ошибки о недоступном объекте.
Файл .epf, который вы загрузили, в базе хранится целиком. Если исходник на диске потеряли, выгрузить обработку обратно в файл можно из той же карточки — ищите команду сохранения в файл. Это выручает, когда нужно передать текущую версию разработчику на доработку.
Частые вопросы
Чем внешняя обработка отличается от встроенной в конфигурацию?
.epf) хранится отдельно и подключается без изменения конфигурации — её можно добавить даже в типовую базу на поддержке, не снимая её с поддержки. Встроенная живёт внутри конфигурации и требует правок в конфигураторе.