УНФ Полные права на время выполнения внешней обработки

1. assa 61 27.08.21 12:58 Сейчас в теме
Добрый день.
Есть обычный пользователь. С помощью обработки этот пользователь должен изменять и записывать некий реквизит в документе, который находится в закрытом периоде.

Вот функция на которой затык:

&НаСервере
Функция ПолучитьДатуЗапрета()
   
    УстановитьОтключениеБезопасногоРежима(Истина);
    УстановитьПривилегированныйРежим(Истина);

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ДатыЗапретаИзменения.ДатаЗапрета КАК ДатаЗапрета
        |ИЗ
        |    РегистрСведений.ДатыЗапретаИзменения КАК ДатыЗапретаИзменения";
   
    РезультатЗапроса = Запрос.Выполнить();
   
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
       
        Возврат ВыборкаДетальныеЗаписи.ДатаЗапрета;
       
    КонецЦикла;
   
    УстановитьПривилегированныйРежим(Ложь);
    УстановитьОтключениеБезопасногоРежима(Ложь);
   
КонецФункции
Показать

Получаю ошибку:

Недостаточно прав для работы с таблицей "РегистрСведений.ДатыЗапретаИзменения".

При чем у данного пользователя и без этого есть право на чтение этого регистра. И это я еще не дошел до изменения самой даты.
В параметрах замой обработки ПараметрыРегистрации.БезопасныйРежим = Ложь;
Подскажите, что я еще не доразрешал?
В аттаче запись из журнала регистрации.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
14. assa 61 27.08.21 23:34 Сейчас в теме
Отвечу себе сам. Помогло чтение между строк темы и написание(дописывание) своего расширения. Суть сводится к тому, что в расширении создал общий модуль и в него поместил две проблемные функции(процедуры).
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user790708 27.08.21 13:51 Сейчас в теме
RLS используете? Просто открыть форму списка этого РС этот пользователь может?
4. assa 61 27.08.21 14:20 Сейчас в теме
(2)В данном случае RLS не используется. Если подскажите, как в УНФ открыть форму списка этого РС и из под этого пользователя, буду благодарен и попробую.
5. user790708 27.08.21 14:53 Сейчас в теме
(4) УНФ под рукой нет, но дата запрета редактирования это стандартный механизм БСП.
Зайдите в конфигурацию под этим пользователем справа вверху Кнопка сервис и настройки (Бутерброд), Далее Функции для технического специалиста, и там найдите этот регистр. если у пользователя есть права, то должен быть виден список.
6. assa 61 27.08.21 15:37 Сейчас в теме
(5)Именно так и пытался делать. И в параметрах пытался включить Функции для технического специалиста. Нет такой возможности у простого смертного.
Прикрепленные файлы:
7. user790708 27.08.21 16:38 Сейчас в теме
(6) Их надо включить. В меню “Сервис и настройки — Настройки — Параметры”.
8. assa 61 27.08.21 17:27 Сейчас в теме
(7)Второй скрин сделан с Сервис и настройки - Настройки - Параметры.Нет здесь пункта Функции технического специалиста. У пользователя с полными правами есть. У обычного - нет.
10. user790708 27.08.21 18:02 Сейчас в теме
(8) Дайте пользователю право «Все функции» или «Режим технического специалиста», название отличается в зависимости от версии платформы.
11. assa 61 27.08.21 21:34 Сейчас в теме
(10)Если вы об этом, то такой пункт появляется только у пользователя с полными правами.
Прикрепленные файлы:
15. user790708 28.08.21 00:06 Сейчас в теме
(11) Это функционал БСП и он привязан к роли «Все функции» или «Режим технического специалиста».
Только что проверил - административные функции для этого не нужны.
За то время, что мы это обсуждаем уже можно было и из консоли запросов проверить доступность этого РС и отладить запрос.
16. assa 61 28.08.21 00:35 Сейчас в теме
(15)
За то время, что мы это обсуждаем уже можно было и из консоли запросов проверить доступность этого РС и отладить запрос
Именно с этого я и начал. В консоли запросов этот регистр у этого пользователя отсутствует. Именно для этого я пытался снять ограничения этого пользователя и получить доступ к этому регистру из обработки.
3. soft_wind 27.08.21 13:53 Сейчас в теме
(1) вообще такую ответственную операцию, изменение чего-то да еще в закрытом периоде

поручают сотруднику с полными правами,
или кому-то, на время, выдают ПолныеПрава, и после изменений забирают.

и если что-то надо менять в закрытом периоде, то его на время "открывают"
(возможно только для доступа конкретному сотруднику)
и после изменений обратно закрывают

с помощью УстановитьПривилегированныйРежим вы эту задачу не решите.
9. VZyryanov 27.08.21 17:48 Сейчас в теме
Желательно проверить с помощью функции ПривилегированныйРежим(), установился ли привилегированный режим.
Для внешнего отчета я привилегированный режим устанавливаю в процедуре общего модуля конфигурации.
12. assa 61 27.08.21 22:03 Сейчас в теме
(9)
Желательно проверить с помощью функции ПривилегированныйРежим()

Не установился :(
Я даже справку прочитал, и все равно не установился.
Описание:
В файловом варианте информационной базы или на сервере в клиент-серверном варианте информационной базы управляет (включает или выключает) привилегированным режимом исполнения кода, аналогичным режиму работы кода привилегированных модулей. В привилегированном режиме никакие проверки прав не выполняются и разрешены любые операции. В клиент-серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий.
У меня файловый вариант, функцию вызываю &НаСервере
13. assa 61 27.08.21 22:06 Сейчас в теме
(9)
Для внешнего отчета я привилегированный режим устанавливаю в процедуре общего модуля конфигурации.
Поделитесь опытом. Я не очень понял как это сделать.
14. assa 61 27.08.21 23:34 Сейчас в теме
Отвечу себе сам. Помогло чтение между строк темы и написание(дописывание) своего расширения. Суть сводится к тому, что в расширении создал общий модуль и в него поместил две проблемные функции(процедуры).
17. VZyryanov 30.08.21 08:41 Сейчас в теме
(14) У меня именно это и написано в (9) "Для внешнего отчета я привилегированный режим устанавливаю в процедуре общего модуля конфигурации".
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот