Зачем нужно передавать версию БСП в функции СведенияОВнешнейОбработке?

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

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

Для чего используется параметр ВерсияБСП?

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

  1. Управление режимами совместимости: Значение версии сравнивается с перечислением РежимыСовместимостиРазрешенийДополнительныхОтчетовИОбработок. В зависимости от этого система определяет, какие механизмы защиты и ограничений (безопасный режим) следует применить к конкретной обработке.
  2. Безопасный режим и разрешения: Это критически важно для работы в облачных средах, таких как 1С:Фреш. Механизмы получения разрешений, такие как ЗапросыРазрешенийДополнительнойОбработки, зависят от того, какая версия БСП указана, так как требования к безопасности и архитектура подсистемы менялись от версии к версии.
  3. Поддержка обратной совместимости: Если в новых версиях БСП логика работы с внешними объектами меняется, система, видя версию вашей обработки, понимает, нужно ли использовать «старый» алгоритм работы или современные API.

Как правильно указывать версию БСП в коде

Существует два основных подхода к заполнению этого параметра. Рассмотрим их подробнее.

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

Проанализируем пример кода:


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

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

Вариант 2: Указание конкретной версии вручную. Иногда разработчики указывают строковое значение, например "2.2.2.1". Это допустимо, если обработка жестко завязана на функционал определенной версии БСП, однако при обновлении конфигурации это может привести к «глюкам» или отказу в выполнении некоторых функций безопасности.

Почему не стоит игнорировать этот параметр

Хотя технически код может выполниться и без явного указания версии (или с пустым значением), это считается плохой практикой по нескольким причинам:

Итоги работы

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

  1. Всегда заполнять параметр ВерсияБСП.
  2. Использовать автоматическое получение версии через СтандартныеПодсистемыСервер.ВерсияБиблиотеки().
  3. Помнить, что корректная регистрация — залог стабильной работы в безопасном режиме и правильной обработки разрешений доступа к данным.

Соблюдение этих простых рекомендаций позволит вашей обработке работать корректно на всех релизах конфигурации и обеспечит долгую жизнь вашего кода без необходимости постоянных «допиливаний» после каждого обновления системы.

← На главную