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

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 Бесплатно (free)

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

02.04.2024    3364    John_d    10    

91

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

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

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

01.03.2024    1877    dimanich70    8    

14

Заполнение поля адреса в своей обработке [БСП]

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

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

12.02.2024    826    FilippovRI    0    

15

Расширяем возможности дополнительных обработок и настраиваем их отладку

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

Уже не одна веб-страница исписана знаниями о дополнительных обработках, как создать, как подключить. Есть масса вариантов, как их можно отладить. Я разобрался в кишках работы библиотеки и покажу, как можно расширить возможности дополнительных отчетов, а также покажу удобный способ отладки.

07.02.2024    2720    YA_418728146    11    

46

1С:БСП Дополнительные реквизиты и сведения

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

В этой статье расскажем об архитектуре, использовании и особенностях реализации подсистемы «Свойства» из инструментария разработчика «1С:Библиотека стандартных подсистем» (1С: БСП).

19.01.2024    6899    PROSTO-1C    5    

47

Бесплатный митап 9 февраля «Библиотеки и фреймворки на 1С и всё, что с этим связано»

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

Митап посвящен вопросам создания, использования и поддержке переиспользуемого кода при разработке решений на платформе 1С:Предприятие 8.

15.01.2024    3938    0    Infostart    0    

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

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

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

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

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

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

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

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

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

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