Как отловить ошибку рлс у пользователя недостаточно прав? #714536


#0 by Gorr
Не могу определить в каком месте возникает ошибка "У пользователя недостаточно прав на исполнение операции над базой данных". Установка флага "Остановка по ошибке" к остановке не приводит. Ставил бряки на конец процедуры передзаписью объекта, формы, процедур механизма подписок. Процедуры отрабатывают до конца без ошибок, и лишь после выхода из тела процедуры появляется модальное предупреждение с текстом ошибки.
#1 by ДенисЧ
журнал регистрации
#2 by Gorr
Журнал регистрации говорит только о времени и действии (добавление/изменение). О строке кода вызывашей ошибку информации не дает.
#3 by Aloex
Запусти отладчик из под этого пользователя.
#4 by Gorr
топик вообще читаем? что такое "бряки" знаем?))
#5 by p-soft
ошибка может появляться при выборке данных формой - бряк не поможет. нужно делать детальный разбор запроса выборки и определять причинный объект
#6 by Aloex
Если руки растут не там где нужно, то см . p.s Точки останова в данном случае совершенно не нужны.
#7 by РенеДекарт
при чем тут ЖР? и что? Отладчик покажет "вот, вот, тут"? смотри, в какой момент ошибка, и проверяй в обратном порядке до этого моменты все обращения к базе - найти справочников, запросы и т.п. Как проверять - смотри RLS на объекты, и думай, где и что могло пересечься в запрете РЛС и настройках пользователя.
#8 by РенеДекарт
> что такое "бряки" знаем?)) придумка ваша какая-то. А вообще стваить ловушки в процедрах на RLS - это как повезет: может, сработает, а может - вообще все паралелльно происходит.
#9 by Gorr
чтобы это сделать, нужно сначала найти в каком запросе происходит ошибка.
#10 by p-soft
что за объект?
#11 by Gorr
установка бряков говорит о том, что ошибка происходит не в теле указанных процедур, а гдето еще.
#12 by РенеДекарт
+ 7 > где и что могло пересечься в запрете РЛС и настройках пользователя. в самом пользователе, его ФизЛице, Сотруднике и т.д., все, что проверяется в РЛС. А вот что проверяется - и выясняй для каждого объекта по ходу кода. И думай, не мог ли РЛС вот тут обрубить, потому как у пользователя нет вот этого.
#13 by Maxus43
может хреново настроен журнал? там событие такое есть "Отказ в доступе". ЖР на максимум логирования переведи
#14 by РенеДекарт
>чтобы это сделать, нужно сначала найти в каком запросе происходит ошибка. - в данном случае это самое простое: запускаешься под польз, подключаешь конфигуратор, ставишь точки стопа примерно, и выясняешь, в каком месте кода вываливается ошибка. Это если сам не пишет. А вообще в 99% случаев таких в ошибке в Подробно пишет, где произошла (как счиатет 1С) ошибка.
#15 by РенеДекарт
>там событие такое есть "Отказ в доступе". сообщение на экране и след от него же в ЖР - это разные вещи. Первое никогда в полном объеме не попадает в ЖР.
#16 by РенеДекарт
>установка бряков говорит о том, что ошибка происходит не в теле указанных процедур - Чего?
#17 by Maxus43
Если сообщение об ошибке доступа в модальном окне, без кнопок подробно и прочее - то значит это РЛС (90%), значит это дублируется в ЖР.
#18 by РенеДекарт
"жмыка пожурила жрука и смышанила шмугу" это хорошо, что вы знаете словообразование русского языка. По 1С что хотите сказать?
#19 by Gorr
А вообще в 99% случаев таких в ошибке в Подробно пишет, где произошла (как счиатет 1С) ошибка. Это не 100% ошибка, поэтому ничего не пишет. Ни где. - в данном случае это самое простое: запускаешься под польз, подключаешь конфигуратор, ставишь точки стопа примерно, и выясняешь, в каком месте кода вываливается ошибка. Почему топик не читаем? как бы я еще ставил бряки если не в режиме отладки под пользователем при котором возникает проблема???? КАК???
#20 by РенеДекарт
ну и ЖР скажет, в документе таком-то. Да, я заню, что польз открывает док такого-то ивда, тут и ошибка. Это ни на йоту не приблизит к разрешению.
#21 by Gorr
ТОГО - если до бряка дошли без проблем значит проблем не было.
#22 by РенеДекарт
>как бы я еще ставил бряки я не знаю, что вы там ставите, бряки или шмяки, но если методично "офлажковывать" ошибку, в конце концов найдешь строчку, после которой ошибка есть, до котрой - ошибки нет.
#23 by РенеДекарт
ну так ставьте запятую. и двигайтесь дальше. Тут все зависит от способности оценить код - просматривать весь код, или предугадать самую проблемную часть, и пытать её.
#24 by Gorr
вы тут самым умным себя считаете? даете мне советы как в отладчике работать?))
#25 by Maxus43
не слушай иго) Что ЖР то говорит? Мало инфы о кокнретном объекте?
#26 by Gorr
настройка журнала регистрации по-умолчанию - самая детальная. самый нижний пункт "Регистрировать ошибки, предупреждения, информацию, примечания". информации никакой: Событие Доступ: Отказ в доступе Документ: Заказ покупателя Действие: Изменение Вообще этот жр - бесполезнейшая штука.
#27 by Aloex
Теперь смотри настройки ролей которые заданы пользователю (для документа Заказ покупателя).
#28 by Никулин Леонид
Что ты делаешь? В какой конкретно момент возникает предупреждение?
#29 by Gorr
Сложность здесь в том, что это не классическая Ошибка. Обычная ошибка вызывает исключительную ситуацию. При этом платформа сама показывает тот участок кода, где возникает ошибка, работают такие опции конфигуратора как "Остановка по ошибке" (для тех, кто не в курсе) при записи по нажатию на кнопку формы записать
#30 by Gorr
+Проблемная же ситуация описанная в топике исключение не вызывает.
#31 by m-serg74
еще как варик включить Замер производительности и выполнить действия, потом сравнить время в ЖР для ошибки и время по трассировке и может увидишь что в тот момент делалось
#32 by m-serg74
сорри в замере момент выполнения не показывается
#33 by Никулин Леонид
Какой документ? Какой профиль у пользователя и какие есть внутри роли?
#34 by Gorr
ставил бряку на конец процедуры, включал замер, нажимал Ф11,получал предупреждение,отключал замер. В замере была единственная строчка "КонецПроцедуры"
#35 by m-serg74
а что пользователь конкретно то делает?
#36 by Gorr
заказ покупателя. в профиле роли менеджер по заказам, менеджер по продажам, розничные продажи, кассир. рлс только по подразделению. С видимостью доков в журналах и списках все впорядке. но вот создать и сохранить заказ продавец не может - при сохранении возникает проблемная ситуация.
#37 by m-serg74
мож какая нить регистрация для обменов? подписки, смотрел там?
#38 by Gorr
не нашел. может кто знает как включить логгирование запросов к базе? была такая возможность в файле настройки платформы где-то.
#39 by ДенисЧ
гугли технологический журнал
#40 by Никулин Леонид
Для УТ10.3 и УПП1.3 права вроде верные... Смотри настройки пользователя. Основной склад, группа пользователей и др.
#41 by Gorr
роли я сам создавал на основе типовых. тексты ограничиний немного правил. надо разбираться. технологический журнал не могу включить никак. <config xmlns="; <log location="C:Program Files1cv82logs" history="10"> </config> а вот относительно того где этот файл должен быть неизвестно. куда не помещал файлы логов не создаются.
#42 by Gorr
проверял следующие варианты расположения C:Program Files1cv82conf
#43 by Necessitudo
Нужно в ЖР включить логирование дополнительных событий. В гугле все есть.
#44 by РенеДекарт
ЖР и ТЖ - разные вещи. А так удачи автору с ТЖ, им даже создатели пользоваться до конца не умеют, но у вас все получится.
#45 by Gorr
может кто знает тонкости включения ТЖ?
#46 by Gorr
он на файловой базе работает?
#47 by rozer76
на итс есть обработка настройки конфига для ТЖ конечно
#48 by Gorr
нифига не включается. файл простейший - все события:
#50 by Gorr
массу ресурсов прерыл, руководство администратора почитал. платформа как будьто не видит этих файлов!(
#51 by alle68
"Событие Доступ: Отказ в доступе Документ: Заказ покупателя Действие: Изменение" Что ещё нужно, чтобы найти причину? Неясно, где искать? Очевидно, в ограничении доступа, право "Изменение".
#52 by Aloex
Пусть пишет. Выше уже сказано где искать проблему.
#53 by Gorr
Проблемка решилась. Оказалось никакого отдельного запроса или обращения к базе приводящего к Предупреждению и не было. Предупреждение возникает, если условие ограничения доступа при записи в данном случае документа возвращает ложь.
#54 by Gorr
+ т.е. уже после всех проверок, после того как весь код отработал (о чем и говорили точки останова) в момент записи документа в базе отрабатывает код ограничения доступа. если выражение ложно, тогда и появляется данное предупреждение.
#55 by mikecool
ты не прав. такое предупреждение будет выдано, если при записи документа не будет прав на любой объект, к которому идет обращение при записи документа.
#56 by mikecool
+55 т.е. я запрашиваю какие то данные из регистра, на который я не имею прав, но ошибка будет звучать как нет прав изменение документа
#57 by Gorr
а каких прав? чтения или записи? в данном случае прав - если поставить у документа в доп ограничении "ГДЕ ИСТИНА" в праве на изменение, предупреждение не возникает.
#58 by mikecool
я сталкивался на чтении
#59 by mikecool
что за доп. ограничение?
#60 by Gorr
мы здесь вообще говорим о записи документа. не о чтении.
#61 by Gorr
справедливости ради нужно сказать, что при чтении возникает то же предуереждение. что в свою очередь, еще добавляет путаницы в клубок.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С