Программное обращение к регламентному заданию под пользователем без прав администратора (КА 1.1, ОФ, клиент-серверный вариант)
Суть проблемы следующая: нужно (если это вообще возможно) дать пользователям без администраторских прав возможность обращаться к методам и свойствам регламентных заданий.
Все методы и свойства регламентных заданий, согласно синтакс-помощнику, доступны только администраторам.
В конфигурации Комплексная автоматизация 1.1 в модуле справочника НастройкиОбменаССайтом есть метод НайтиРеглЗаданиеПоПараметру(), в котором есть строка:
В типовой конфигурации настройка и выполнение обмена с сайтом предполагает наличие полных прав (есть проверка в трёх процедурах общего модуля ПараметрыОбменаДанными).
Есть задача выделить обмен с сайтом в отдельную роль, чтобы её можно было добавлять пользователям без полных прав.
При выполнении столкнулся именно с этой проблемой - при открытии пользователем без полных прав элементов справочника НастройкиОбменаССайтом, у которых есть настроенное расписание, выдаётся сообщение "Нарушение прав доступа!" с вариантами завершения работы и перезапуска программы.
Нарушение доступа происходит как раз при выполнении указанной выше строки.
Поскольку это обычные формы и клиент-серверный вариант, метод УстановитьПривилегированныйРежим() не работает (см. СП) - код обращения к регламентированному заданию всегда выполняется на клиенте при открытии формы.
Вынос метода с этой строкой в общий привилегированный модуль, предполагаю, приведёт к тем же результатам.
Существуют ли какие-то варианты решения этой задачи именно при такой конфигурации (обычные формы, клиент-серверный вариант)?
Все методы и свойства регламентных заданий, согласно синтакс-помощнику, доступны только администраторам.
В конфигурации Комплексная автоматизация 1.1 в модуле справочника НастройкиОбменаССайтом есть метод НайтиРеглЗаданиеПоПараметру(), в котором есть строка:
ТекущееРегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(УникальныйИдентификаторЗадания);
В типовой конфигурации настройка и выполнение обмена с сайтом предполагает наличие полных прав (есть проверка в трёх процедурах общего модуля ПараметрыОбменаДанными).
Есть задача выделить обмен с сайтом в отдельную роль, чтобы её можно было добавлять пользователям без полных прав.
При выполнении столкнулся именно с этой проблемой - при открытии пользователем без полных прав элементов справочника НастройкиОбменаССайтом, у которых есть настроенное расписание, выдаётся сообщение "Нарушение прав доступа!" с вариантами завершения работы и перезапуска программы.
Нарушение доступа происходит как раз при выполнении указанной выше строки.
Поскольку это обычные формы и клиент-серверный вариант, метод УстановитьПривилегированныйРежим() не работает (см. СП) - код обращения к регламентированному заданию всегда выполняется на клиенте при открытии формы.
Вынос метода с этой строкой в общий привилегированный модуль, предполагаю, приведёт к тем же результатам.
Существуют ли какие-то варианты решения этой задачи именно при такой конфигурации (обычные формы, клиент-серверный вариант)?
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Сделать "технологическую" роль с нужными правами (ТР).
ЗЫ. Не забыть потом удалить
ЗЫЫ Желательно предусмотреть что бы в это время он чего то не натворил - вроде "модально"
РольПользователя.Добавить(ТР)
ЗЫ. Не забыть потом удалить
ЗЫЫ Желательно предусмотреть что бы в это время он чего то не натворил - вроде "модально"
УстановитьПривилегированныйРежим(Истина);
ТекущееРегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(УникальныйИдентификаторЗадания);
УстановитьПривилегированныйРежим(Ложь);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот