Как включить привилегированный режим для дополнительных отчетов и обработок

14.10.23

Разработка - БСП (Библиотека стандартных подсистем)

Как отключить безопасный режим для дополнительных отчетов и обработок РазрешениеНаИспользованиеПривилегированногоРежима

Так сложилось на проекте, что все новые отчеты и обработки нужно было выносить в дополнительные отчеты и обработки.

В одном из отчетов потребовалось использовать безопасное хранилище данных, кто использовал, тот поймет. Вот пример вызова данного метода:

УстановитьПривилегированныйРежим(Истина);
Настройки = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(База, "Логин, Пароль");
УстановитьПривилегированныйРежим(Ложь);   

Все выходила следующая ошибка:

Ошибка при вызове метода контекста (Выполнить)

по причине:
Недостаточно прав для работы с таблицей "РегистрСведений.БезопасноеХранилищеДанных"

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

Ситуация осложнялась тем, что НИ платформа НИ БСП не сигнализирует о некорректно установленных настройках при использовании свойства "РазрешениеНаИспользованиеПривилегированногоРежима".

Проблема была в том, что некорректно была установлена используемая версия БСП в процедуре СведенияОВнешнейОбработке()

Прошу обратить внимание на используемую версию 2.1.1.1:

ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.1.1.1");

Если посмотреть на описание метода на сайте its, то можно увидеть, что метод поддерживается с БСП версии 2.3.

После установки версии 2.3 и более, проблема исчезает.

Проконтролировать, что у вас обработка открывается с отключенным режимом безопасности, можно в журнале регистрации:

Пример работающего кода:

Функция СведенияОВнешнейОбработке() Экспорт

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

Да прибудет с вами сила и терпение!

БСП Отключить безопасный режим дополнительные отчеты обработки РазрешениеНаИспользованиеПривилегированногоРежима УстановитьПривилегированныйРежим

См. также

БСП (Библиотека стандартных подсистем) Программист Платные (руб)

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

1800 руб.

21.11.2024    6654    33    23    

36

Работа с интерфейсом БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист Платформа 1С v8.3 1C:ERP Бесплатно (free)

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

12.05.2025    1684    PROSTO-1C    1    

13

БСП (Библиотека стандартных подсистем) Обновление 1С Программист 1C:ERP Бесплатно (free)

В данной статье рассмотрен один из вариантов добавления собственных обработчиков обновления в расширении конфигурации. При смене версии расширения - автоматический вызов процесса обновления информационной базы.

29.04.2025    1623    krasnoshchekovpavel    7    

16

БСП (Библиотека стандартных подсистем) Механизмы платформы 1С Программист Платформа 1С v8.3 Бесплатно (free)

Описание способа создания глобального обработчика оповещений (событие формы), не привязанного к какой-то конкретной форме.

01.04.2025    1182    krasnoshchekovpavel    0    

9

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Россия Бесплатно (free)

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

24.03.2025    1763    GeraltSnow    6    

30

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

Добавим метки в новый документ средствами БСП.

10.02.2025    5309    John_d    24    

54
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1567 15.10.23 19:35 Сейчас в теме
(0) Интересно.
Есть вопрос:
Прошу обратить внимание на используемую версию 2.1.1.1:

ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.1.1.1");
Если посмотреть на описание метода на сайте its, то можно увидеть, что метод поддерживается с БСП версии 2.3.

Где именно на ИТС увидели, что этот метод поддерживается с версии 2.3?
2. SpecRam 39 16.10.23 09:47 Сейчас в теме
(1) Можно увидеть в приложенном скриншоте публикации
3. cheshirshik 74 16.10.23 10:08 Сейчас в теме
Такая бредовая карнитка. Инженер спровоцировал короткое замыкание?
4. maksa2005 372 16.10.23 10:08 Сейчас в теме
как раз не давно была проблема(
Ростислав; +1 Ответить
5. Serg O. 306 16.10.23 10:09 Сейчас в теме
Версию не нужно писать "фиксированно", она УЖЕ есть в конфигурации на БСП
//см. общ.модуль ОбновлениеИнформационнойБазыБСП >>> ПриДобавленииПодсистемы()

ВерсияБСП = СтандартныеПодсистемыСервер.ВерсияБиблиотеки(); // 3.1. х . xxx

ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(ВерсияБСП);
Sv_444; user1481466; cheburashka; kser87; +4 Ответить
7. MrEvilSkotch 16.10.23 11:14 Сейчас в теме
(5) Версия указывается как поддерживаемая обработкой. Если ставить постоянно текущую, то нельзя будет соотнести с той версией БСП, которая поддерживается, и найти ошибку в случае несовместимости.
Xershi; unichkin; ubnkfl; +3 Ответить
8. Serg O. 306 16.10.23 13:32 Сейчас в теме
(7) я уже только 3.1.3 или 3.1.5 версии БСП "вижу", так что 2.1 или 2.3 уже не актуально.
наверное "пора уже" переходить на 3.1.x чему эта статья как раз является лучшим подтверждением.
6. kser87 2473 16.10.23 10:54 Сейчас в теме
Сталкивался, буду знать теперь
9. qwinter 684 16.10.23 13:51 Сейчас в теме
И это в горячем. Что дальше? Как получить текущего пользователя?
JohnyDeath; starik-2005; Krotov_Valery; +3 Ответить
11. starik-2005 3177 17.10.23 11:43 Сейчас в теме
(9)
Как получить текущего пользователя?
ТекущийЮзер = Пользователи.ТекущийПользователь();
На здоровье!
10. artbear 1567 16.10.23 20:09 Сейчас в теме
(0) Все-таки мне ваше описание проблемы показалось подозрительным, я проверил ваше решение и поменял оценку плюс на минус, т.к. не удалось подтвердить такое поведение.

скопировал ваш код про СведенияОВнешнейОбработке с 2.1.1.1 в модуле объект
добавил в форму команду на клиенте + код на сервере
&НаСервереБезКонтекста
Процедура ЧтениеИзБезопасногоХранилищаНаСервере(Знач Ссылка)
	Сообщить("БезопасныйРежим() " + БезопасныйРежим());
	
	УстановитьПривилегированныйРежим(Истина);
	Настройки = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Ссылка, "Логин, Пароль");
	УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры
Показать

добавил файл в ДопОтчетыОБработки
перезапустил 1С
захожу в Спр.ДопОтчетыОбработки
нажимаю Выполнить, нажимаю кнопку Команды

и не получаю сообщение об ошибке, хотя обработка сообщает, что она запущена в безопасном режиме!!

за это и минусую (
12. SpecRam 39 17.10.23 20:06 Сейчас в теме
(10) Благодарю за интерес к текущей публикации.
Вы скорее всего проверяете под пользователем с полными правами.
Рекомендую проверить на пользователе с ограниченными правами, демо конфигурации с подсистемой БСП.

Прошу обратить внимание, когда вы запускаете обработку с версией ниже 2.3, то в журнале регистрации будет запись, что обработка запущена в безопасном режиме: "Да".
Если укажете, версию выше, тогда обработка будет запущена с отключенным режимом безопасности. Прикрепляю скриншот.
Обновил публикацию, со скриншотом из журнала регистрации.
Прикрепленные файлы:
13. artbear 1567 18.10.23 16:53 Сейчас в теме
(12) Проверю.

Советую эту информацию добавить в свою публикации, сейчас из описания все-таки непонятно, что именно работает неверно (
14. artbear 1567 18.10.23 17:26 Сейчас в теме
(12) проверил, вы правы, поведение неверное при указании 2.1.1.1

меняю минус на плюс )
axsebur; EvgeniyOlxovskiy; +2 Ответить
15. artbear 1567 18.10.23 17:28 Сейчас в теме
(0) Запишу тикет на новое правило БСЛ ЛС
16. Sv_444 06.12.23 05:21 Сейчас в теме
17. пользователь 14.01.24 19:04
Сообщение было скрыто модератором.
...
18. hrom 69 20.03.25 16:00 Сейчас в теме
Спасибо огромное. Статья очень выручила.
Оставьте свое сообщение