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

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

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

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

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

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

Код

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