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

14.10.23

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Пример шаблона для многопоточного выполнения фонового задания на основе БСП. Шаблоны сделаны для процедуры и функции.

2 стартмани

03.05.2024    1293    20    Hitcher    3    

13

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    3711    dimanich70    8    

16

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

Небольшая шпаргалка по функциям БСП касательно адреса. Так скажем, еще один способ помимо https://infostart.ru/1c/articles/1060970/

12.02.2024    1158    FilippovRI    0    

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

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

Где именно на ИТС увидели, что этот метод поддерживается с версии 2.3?
2. SpecRam 37 16.10.23 09:47 Сейчас в теме
(1) Можно увидеть в приложенном скриншоте публикации
3. cheshirshik 66 16.10.23 10:08 Сейчас в теме
Такая бредовая карнитка. Инженер спровоцировал короткое замыкание?
4. maksa2005 540 16.10.23 10:08 Сейчас в теме
как раз не давно была проблема(
Ростислав; +1 Ответить
5. Serg O. 270 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. 270 16.10.23 13:32 Сейчас в теме
(7) я уже только 3.1.3 или 3.1.5 версии БСП "вижу", так что 2.1 или 2.3 уже не актуально.
наверное "пора уже" переходить на 3.1.x чему эта статья как раз является лучшим подтверждением.
6. kser87 2454 16.10.23 10:54 Сейчас в теме
Сталкивался, буду знать теперь
9. qwinter 682 16.10.23 13:51 Сейчас в теме
И это в горячем. Что дальше? Как получить текущего пользователя?
JohnyDeath; starik-2005; Krotov_Valery; +3 Ответить
11. starik-2005 3061 17.10.23 11:43 Сейчас в теме
(9)
Как получить текущего пользователя?
ТекущийЮзер = Пользователи.ТекущийПользователь();
На здоровье!
10. artbear 1558 16.10.23 20:09 Сейчас в теме
(0) Все-таки мне ваше описание проблемы показалось подозрительным, я проверил ваше решение и поменял оценку плюс на минус, т.к. не удалось подтвердить такое поведение.

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

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

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

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

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

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

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