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

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    595    1    0    

3

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

Некоторые нюансы, если вы захотите создавать свои расширения. Доработка отчета "Связанные документы" для отражения документов расширения. Печатные формы с шаблоном Word.

20.11.2024    2646    milkers    3    

9

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

В статье описан алгоритм для включения документа или справочника в систему БСП. Будет полезно программистам 1С, начинающим работать с БСП.

24.10.2024    1277    PROSTO-1C    0    

15

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

В материале описан универсальный механизм работы с добавленными элементами на общую форму «ФормаОтчета». Думаю, облегчит работу многим разработчикам.

08.10.2024    1106    PROSTO-1C    4    

13

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

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

04.10.2024    1971    MadRave    11    

24

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

Пример отслеживания прогресса фонового выполнения дополнительной обработки с использованием программного интерфейса длительных операций БСП.

10.09.2024    2024    MadRave    1    

17

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

А что, если долгожданная реализация Паузы в 1С смутно напоминает старую, проверенную? А?!

06.09.2024    1398    n_mezentsev    10    

8

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

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

02.09.2024    4255    John_d    10    

52
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. artbear 1563 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 70 16.10.23 10:08 Сейчас в теме
Такая бредовая карнитка. Инженер спровоцировал короткое замыкание?
4. maksa2005 551 16.10.23 10:08 Сейчас в теме
как раз не давно была проблема(
Ростислав; +1 Ответить
5. Serg O. 298 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. 298 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 683 16.10.23 13:51 Сейчас в теме
И это в горячем. Что дальше? Как получить текущего пользователя?
JohnyDeath; starik-2005; Krotov_Valery; +3 Ответить
11. starik-2005 3091 17.10.23 11:43 Сейчас в теме
(9)
Как получить текущего пользователя?
ТекущийЮзер = Пользователи.ТекущийПользователь();
На здоровье!
10. artbear 1563 16.10.23 20:09 Сейчас в теме
(0) Все-таки мне ваше описание проблемы показалось подозрительным, я проверил ваше решение и поменял оценку плюс на минус, т.к. не удалось подтвердить такое поведение.

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

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

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

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

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

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

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