Воскресенье, 05.05.2024, 08:11
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Основной » Проблемные ситуации » СамообслуживаниеПартнеров (Нарушение прав доступа) (Тестирование метаданных)
СамообслуживаниеПартнеров (Нарушение прав доступа)
nclockworkerДата: Вторник, 23.03.2021, 18:24 | Сообщение # 1
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн

В обработке тестирования метаданных происходит ошибка "Нарушение прав доступа" с последующим принудительным закрытием клиента. Происходит это на объектах на которые у пользователя с полными правами нет доступа, например Обработка.СамообслуживаниеПартнеров из ERP, где разработчики завязались на ВнешнемПользователе. При тестировании метаданных хотелось бы перехватывать подобные исключения и выдавать нормальным образом в таблицу.
Прикрепления: obs-17-.mp4 (1.51 Mb)
 
tormozitДата: Вторник, 23.03.2021, 18:41 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6184
Репутация: 156
Статус: Оффлайн
Безусловное завершение работы приложения невозможно универсально предотвратить во встроенном языке. Если платформа в каких то ситуациях не выбрасывает исключение во встроенный язык, то универсально победить это не удастся. В некоторых из таких ситуаций отсутствие выброса исключения во встроенный язык признают ошибочным и исправляют. А безусловное завершение работы почти всегда признают ошибкой, правда иногда после небольшого диалога.

Но есть и запланировано не выбрасываемые во встроенный язык исключения - например ошибки возникающие при инициализации модулей объектов. Т.е. они выбрасываются на уровень пользователя, но конструкция попыта-исключение их не перехватит. Однако при этом все равно не должно происходить безусловного завершения работы.

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

В частных случаях можно попробовать придумать какие то обходные маневры.
Позже посмотрю Обработка.СамообслуживаниеПартнеров из ERP
 
nclockworkerДата: Вторник, 23.03.2021, 18:47 | Сообщение # 3
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
В качестве обходного варианта можно попробовать использовать метод "ПравоДоступа" с правом "Использование" для объектов метаданных, где может присутствовать такой вид права.
 
tormozitДата: Вторник, 23.03.2021, 18:52 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 6184
Репутация: 156
Статус: Оффлайн
Хотелось бы сначала разобраться с причиной ошибки, а потом делать для нее обходчик. Попробуй в консоли кода выполнить создание объекта этой обработки на клиенте/сервере. Будет такой же финал?
 
nclockworkerДата: Вторник, 23.03.2021, 19:16 | Сообщение # 5
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн

Добавлено (24.03.2021, 19:01)
---------------------------------------------
Кстати в привилегированном режиме вполне себе отрабатывает нормально на обеих сторонах

Код

  УстановитьПривилегированныйРежим(Истина);
    Обр = Обработки.СамообслуживаниеПартнеров.Создать();
    УстановитьПривилегированныйРежим(Ложь);
Прикрепления: 0357882.png (12.7 Kb)
 
Форум » Основной » Проблемные ситуации » СамообслуживаниеПартнеров (Нарушение прав доступа) (Тестирование метаданных)
  • Страница 1 из 1
  • 1
Поиск: