Как правильно оформить модуль объекта для внешней обработки в БСП 3.1?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Основные принципы регистрации обработки

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

  1. Инициализация структуры параметров с помощью метода ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке.
  2. Указание версии библиотеки БСП для обеспечения совместимости.
  3. Заполнение обязательных полей: наименование, вид обработки и команды.

Вариант реализации функции: базовый подход

Для создания типовой обработки, которая открывает форму, мы можем использовать следующий подход. Этот код следует разместить в модуле объекта вашей внешней обработки:


Функция СведенияОВнешнейОбработке() Экспорт
    
    // Получаем параметры с учетом текущей версии БСП
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(СтандартныеПодсистемыСервер.ВерсияБиблиотеки());
    
    // Основные настройки
    ПараметрыРегистрации.Наименование = "Список сотрудников";
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет(); 
    
    // Добавление команды для открытия формы
    Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Идентификатор = "СписокСотрудников";
    Команда.Представление = "Список сотрудников";
    Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    
    Возврат ПараметрыРегистрации;
    
КонецФункции

Рассмотрим детали настройки

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

Используйте функции общего модуля ДополнительныеОтчетыИОбработкиКлиентСервер для корректной установки вида. Это гарантирует, что при обновлении платформы или БСП ваш код останется актуальным.

Оптимизированный подход с использованием метаданных

Если вы хотите сделать код более лаконичным и универсальным, можно использовать метаданные самого объекта. Это позволит не «хардкодить» названия, а брать их прямо из свойств обработки в конфигураторе:


Функция СведенияОВнешнейОбработке() Экспорт
    
    ЭтотОбъектИмя = ЭтотОбъект.Метаданные().Имя;
    ЭтотОбъектСин = ЭтотОбъект.Метаданные().Представление();
    
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(СтандартныеПодсистемыСервер.ВерсияБиблиотеки());
    
    ПараметрыРегистрации.Версия = ТекущаяДата();
    ПараметрыРегистрации.БезопасныйРежим = Ложь;
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
    
    ПараметрыРегистрации.Наименование = ЭтотОбъектСин;
    ПараметрыРегистрации.Информация = ЭтотОбъектСин;
    
    Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Представление = ЭтотОбъектСин;
    Команда.Идентификатор = ЭтотОбъектИмя;
    Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    Команда.ПоказыватьОповещение = Истина;
    
    Возврат ПараметрыРегистрации;
    
КонецФункции

Важные замечания по безопасности и отладке

Обратите внимание на свойство БезопасныйРежим. В примерах выше мы устанавливаем его в значение Ложь, что разрешает обработке выполнение потенциально опасных действий (например, обращение к файловой системе сервера). Если ваша задача — выполнение простых операций без доступа к системным ресурсам, рекомендуется оставлять этот флаг в значении Истина для безопасности базы данных.

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

Для эффективной работы мы рекомендуем всегда проверять версию библиотеки через СтандартныеПодсистемыСервер.ВерсияБиблиотеки(), так как методы регистрации могут меняться от версии к версии. Это обеспечит бесшовное обновление ваших обработок при переходе на новые релизы типовых конфигураций.

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

← На главную