Внешняя обработка в разделах, на начальной странице и в меню «Печать»

· 10 мин

Содержание

Чтобы внешняя обработка появилась в интерфейсе 1С, её регистрируют в справочнике дополнительных обработок: Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Там загружают файл .epf, выбирают разделы или документы, где будет команда, и включают публикацию. После этого обработка открывается из раздела или из меню «Печать», а не через Файл → Открыть.

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

Что проверить в файле до подключения

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

Проверить это можно двумя способами:

  1. 🔍 Спросить разработчика или продавца, написана ли обработка «под БСП» и для какой конфигурации.
  2. 🛠 Открыть файл в Конфигураторе (Файл → Открыть), зайти в модуль объекта и найти функцию поиском по тексту.

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

Перед подключением выясните ещё три вещи:

  • 📦 Вид обработки. Глобальная обработка, печатная форма, заполнение табличной части, создание связанных объектов или отчёт. От вида зависит, где будет кнопка.
  • 🧩 Конфигурация и её релиз. Печатная форма для БП 3.0 не заработает в УТ 11: у документов разные реквизиты.
  • 🔐 Работает ли обработка в безопасном режиме. Если ей нужен доступ к файлам, сети или COM-объектам, понадобятся разрешения на внешние ресурсы.

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

Регистрация внешней обработки в справочнике

Сначала включите сам механизм. Путь меню зависит от конфигурации:

КонфигурацияГде включается флажок «Дополнительные отчеты и обработки»
Бухгалтерия 3.0, ЗУП 3.1Администрирование → Печатные формы, отчеты и обработки
УТ 11, КА 2, ERP 2НСИ и администрирование → Печатные формы, отчеты и обработки

На той же странице появится ссылка «Дополнительные отчеты и обработки». Дальше порядок такой:

  1. Откройте список по ссылке и нажмите «Добавить из файла».
  2. Программа покажет предупреждение о безопасности. Подтвердите его, если файл из надёжного источника.
  3. Выберите файл .epf или .erf. Откроется карточка обработки.
  4. Проверьте поля, которые заполнились сами: наименование, вид, версия, информация.
  5. В поле «Публикация» выберите вариант (см. таблицу ниже).
  6. Настройте размещение команд — для каждого вида по-своему, это следующие разделы.
  7. Нажмите «Записать и закрыть».

Варианты публикации:

ПубликацияКто видит командуКогда выбирать
ИспользуетсяВсе пользователи с правом на чтение дополнительных обработокОбработка проверена и нужна в работе
Режим отладкиТолько пользователи с правом добавлять и изменять дополнительные обработкиТестирование новой версии без показа сотрудникам
ОтключенаНиктоВременно убрать обработку, не удаляя её

Новую версию файла загружают в ту же карточку через команду загрузки из файла в её меню. Создавать вторую карточку не нужно: настройки размещения и прав сохранятся.

Как добавить глобальную обработку в раздел интерфейса «Такси»

Глобальная обработка (вид «Дополнительная обработка») или отчёт («Дополнительный отчет») не привязаны к документу. Их выводят в разделы командного интерфейса.

Выбор разделов

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

Где появится команда

В каждом выбранном разделе на панели навигации появляется команда «Дополнительные обработки» (для отчётов — «Дополнительные отчеты»). Обычно она стоит в группе «Сервис». По ней открывается список всех обработок этого раздела, оттуда их и запускают.

Если команда не видна сразу, закройте и откройте раздел заново. Иногда нужен перезапуск клиента: командный интерфейс строится при входе.

Таблица команд

В нижней части карточки — таблица команд обработки. Их задаёт разработчик, менять можно только представление и настройки запуска. Для каждой команды указан вариант запуска:

  • 🖥 Открытие формы — откроется окно обработки, пользователь работает в нём.
  • ⚙️ Вызов серверного метода — действие выполнится без формы. Такие команды можно запускать по расписанию: в колонке расписания задаётся периодичность регламентного задания.
  • 💻 Вызов клиентского метода — код выполняется на клиенте, тоже без формы.

Расписание работает только для серверных команд и только при включённых регламентных заданиях в базе. В файловой базе задания выполняются, пока кто-то из пользователей работает в программе.

Вывод на начальную страницу и в быстрый доступ

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

Вариант 1. Быстрый доступ

В таблице команд карточки есть колонка «Быстрый доступ». Нажмите на неё в строке команды и выберите пользователей, которым команда нужна чаще всего. Для них она будет показана в панели раздела без захода в общий список дополнительных обработок.

Удобно, когда обработкой пользуются 2-3 человека, а остальным она не мешает.

Вариант 2. Избранное

Откройте форму обработки и нажмите на звёздочку в её заголовке. Ссылка попадёт в «Избранное», которое доступно из любого раздела. Если ссылка на форму не сохраняется, добавьте в избранное команду «Дополнительные обработки» нужного раздела — это всего один лишний щелчок.

Вариант 3. Перенос в расширение

Это способ, который встраивает обработку в интерфейс полностью, как родную:

  1. В Конфигураторе создайте расширение: Конфигурация → Расширения конфигурации, кнопка «Добавить».
  2. В дереве расширения создайте обработку и перенесите в неё реквизиты, формы и модуль из внешней обработки.
  3. Заимствуйте нужную подсистему (раздел) основной конфигурации и включите в неё обработку.
  4. Добавьте в расширение роль с правом «Использование» и «Просмотр» на обработку.
  5. Сохраните расширение и обновите конфигурацию базы данных.

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

Подключение печатной формы и обработок заполнения к документам

Для вида «Печатная форма» разделы не выбирают. Вместо этого указывают объекты, к которым она относится.

Печатная форма

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

Команда появится в подменю «Печать» формы документа и формы списка. Чтобы проверить, откройте любой документ этого вида, нажмите «Печать» и найдите название из карточки.

Заполнение и создание связанных объектов

  • 📝 Заполнение объекта — команда в форме документа, которая заполняет табличную часть по своему алгоритму.
  • 🔗 Создание связанных объектов — команда, которая создаёт новые документы на основании текущего.

Назначение задаётся так же, через список объектов в карточке. Где именно окажется кнопка в форме, зависит от того, как БСП встроена в конкретную конфигурацию: обычно это командная панель формы документа или подменю «Создать на основании».

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

Права доступа к дополнительным обработкам

Права делятся на три уровня. Их часто путают, и отсюда жалобы «у меня нет кнопки».

Что разрешаетКому выдают
Добавление и изменение дополнительных отчётов и обработокАдминистратору, разработчику
Чтение и запуск зарегистрированных обработокВсем, кто ими пользуется
Интерактивное открытие внешних отчётов и обработок через Файл → ОткрытьТолько тем, кому действительно нужно открывать произвольные файлы

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

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

Право на интерактивное открытие внешних обработок фактически разрешает выполнить в базе любой код из любого файла. Рядовым пользователям его не выдают. Зарегистрированная обработка безопаснее: её проверил и загрузил администратор.

Защита от опасных действий

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

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

Безопасный режим и разрешения на внешние ресурсы

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

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

Что делать:

  1. Посмотрите в карточке, включён ли безопасный режим.
  2. Если обработка требует разрешений, программа предложит их применить — подтвердите запрос.
  3. Если профили безопасности в кластере настраивал администратор сервера, передайте ему список запрошенных ресурсов.
Диагностика: выберите симптом

Частые проблемы при подключении внешних обработок

Отдельно о трёх ситуациях, которые не видны из сообщений об ошибке.

Две карточки одной обработки. Если загрузить новую версию через «Добавить из файла», а не в существующую карточку, команды задвоятся. Старую карточку отключите или пометьте на удаление, предварительно перенеся настройки размещения.

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

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

Где хранится загруженная обработка — в базе или на диске?
В базе. Файл копируется в справочник дополнительных обработок, исходный .epf на диске после загрузки не нужен. Выгрузить его обратно можно из карточки.
Можно ли подключить внешнюю обработку без прав администратора?
Нет. Регистрация требует права на добавление и изменение дополнительных обработок. Без него доступен только запуск уже подключённых.
Перенесётся ли обработка при выгрузке базы в .dt?
Да. Справочник дополнительных обработок — часть данных, он попадает в выгрузку и восстанавливается вместе с базой.
Работают ли такие обработки в веб-клиенте и в облаке 1С:Фреш?
В веб-клиенте — да, если код не использует возможностей только толстого или тонкого клиента. В сервисе 1С:Фреш загрузка своих обработок проходит проверку, и не каждая будет допущена.
Чем внешняя обработка отличается от расширения?
Внешняя обработка — отдельный файл, который подключается без Конфигуратора. Расширение встраивается в конфигурацию и может менять её объекты, формы и командный интерфейс.