v8.2: Не работает RLS - "глюк" с запросами по правам #587277


#0 by DragonCat
Уже в который раз сталкиваюсь с такой ситуацией: серверная БД, управяемое приложение, внес массовые ограничения (чтение/изменение/добавление по нескольким документам для нескольких ролей), естественно, во многих случаях - копированием. Пример запроса: КонвертацияВалют ИЗ Документ.КонвертацияВалют КАК КонвертацияВалют ГДЕ (НЕ(МатрицаДоступаПроекты.Пользователь ЕСТЬ NULL                И МатрицаДоступаРасчетныеСчета.Пользователь ЕСТЬ NULL )) В итоге - ограничения просто нет. Но стоит снова залесть в настройки, немного переставить чтото (элементарно - местами связи), как все начинает работать. Очень похоже на глюк работы конфигуратора с этой частью метаданных (или как оно сейчас в 8ке?) Встречался ли кто с такой ситуацией? Есть ли решение?
#1 by asady
RLS запрос должен возвращать одно значение (Истина или ложь) у тебя что возвращает этот запрос
#2 by DragonCat
RLS запрос задает правила отбора строк таблицы :) КонвертацияВалют ИЗ Документ.КонвертацияВалют КАК КонвертацияВалют    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МатрицаДоступаПроекты КАК МатрицаДоступа ...и т.д.
#3 by asady
Судя по твоему запросу ты копировал устаревшие РЛС запросы - посмотри как сделаны РЛС запросы в типовой УПП - они довольно эффективно работают
#4 by DragonCat
Я вообще не копировал. Это кусок полностью самописной (моей) конфы. В ней из типового - только БСП. И ту тречь не об эффективности. Вопрос в том, что набросанные однотипные запросы не работают в части документов. При этом, при внесении через форму ввода (не напрямую в списке ограничений доступа к данным) небольших изменений (поменял местами условия связи, например) - они начинают работать. При перезагрузке из хранилища В ТОЧНОСТИ такого же запроса - тоже начинают. Но, при этом, изначально они и были установлены на рабочей базе загрузкой из хранилища. Вопрос в том, встречался ли кто с подобного рода проблемами? Может я просто не там смотрю, а может это старый и (почти) всем известный глюк конфигуратора. Или глюк у нас в фирме в рабочей среде какой...
#5 by Necessitudo
Наблюдаю такое периодически - но 8.1
#6 by vde69
Копай в сторону: во первых "ДеМонические обновления" во вторых наличие ролей которые перекрывают RLS мое мнение 1. Для одного пользователя нельзя устанавливать несколько ролей с RLD (исключение "ГДЕ ЛОЖЬ") 2. В идеале в конфигурации вообще только одна роль с RLS зы планирую после НГ статейку написать
#7 by МишельЛагранж
никакая роль RLS не перекроет - это RLS перекроет роль. И вообще, RLS - это ограничение, а не разрешение, поэтому он однозначно "поборет" любое разрешение роли. Уточнение: для одного пользователя МОЖНО и нужно устанавливать несколько ролей с RLS, только обязательно следить - чтобы эти РЛС были на РАЗНЫЕ объекты конфы. Иначе будет непредсказуемое даже самим Нуралиевым огораниячения и в конце - полная ж с правами доступа. В идеале должно быть четкое понимание, где какие РЛС, и отслеживание неперсечений в рамках одного пользователя.
#8 by МишельЛагранж
>>планирую после НГ статейку написать - пока не торопитесь, иначе подведете множество новичков под РЛС... ))) - или напишите, как можно простенькие правильца накатать и забыть про кодирование прав...
#9 by vde69
роль без РЛС ВСЕГДА перекрывает все установленые РЛС других ролей!!! поробуй пользователю дать полные права + роль с RLS и увидешь что у него будут ПОЛНЫЕ права
#10 by МишельЛагранж
не будет. уже пробовал. если в одной роли - РЛС на объект, а в другой - на него разрешено, каша получается. каша: 80% - работает, 20% - дает "нет прав доступа или хуже ругается ))
#11 by vde69
это от кеша зависит (или от других связаных обьектов), очисти кеш сервера и будет 100% разрешение. Проверял много раз.
#12 by Fish
, Не путайте лучше ВЫ людей. В ветке стало понятно, что Вы ничего не понимаете в приоритетах операторов языка, теперь понятно, что еще и в приоритетах прав в 1С ничего не шарите. Повторю свой вопрос из той ветки: может Вам не стоит заниматься тем, чего не понимаешь, т.е. программированием? :)))
#13 by Fish
"Иначе будет непредсказуемое даже самим Нуралиевым огораниячения и в конце - полная ж с правами доступа" - В идеале, не должно быть каши в голове, и надо четко представлять, как работают задействованные тобой механизмы. И никакой ж тогда не будет. И Нуралиев тут ни при чем :)))
#14 by y88
а здесь нет ошибки: НЕ(  МатрицаДоступаПроекты.Пользователь ЕСТЬ NULL И МатрицаДоступаРасчетныеСчета.Пользователь ЕСТЬ NULL  ) )
#15 by Necessitudo
Да-да-да, и мы постоянно демоническое обновление используем. Очистка кеша поможет?
#16 by vde69
с этого стоит начать! только кеш СЕРВЕРНЫЙ а не клиентский
#17 by golden-pack
полный бред. ложь звездешь и провокация. Что ты тут пишешь ? "Обычная" роль всегда перекрывает RLS. Я настраивал RLS(писал свои запросы) в УПП для тучипользователей.  И я знаю как они работают на 100%. Кстати давно заметил твои неадекватные посты.
#18 by golden-pack
Для пользователей стараюсь тоже делать 1 с РЛС, то есть роль пользователь (который с РЛС по некоторым объектам) + 1 своя. А за будущую статейку +.
#19 by golden-pack
В кэше могла застрять старая роль. То есть может помочь, а если другая причина(перекрытие другими ролями пример) то не поможет.
#20 by y88
влезу: 1С 8.2 БП 2.0 переносим учет в одну организацию. Нужно ограничить доступ - раньше был стандартный RLS по организациям Планирую ввести реквизит ОрганизацияДоступ в рег.бух. Хозрасчетный и некоторые документы (заполняться будет автоматом) и добавить новую роль с RLS по этому реквизиту Я что-то упустил?
#21 by МишельЛагранж
1с-ники такие затейники.. РЛС - работает по другим механизмам, чем ограничения роли, и сами по себе они не пересекаются. я-то как раз не забыл про НОРМАЛЬНОЕ программирование, а не безумное чаепитие.... но ведь безумие заразно, в отличие от здравия, до которого надо принудительно лечиться... это не лично к вам, это к 1с-у )))
#22 by golden-pack
Епт ... у меня УПП на производтственном предприятиие, работает много пользователей с РЛС ... и ты мне говоришь что работают по другим механизмам ? Ты бредишь ? Ты это гдето вычитал ? Хватит уже позориться...
#23 by МишельЛагранж
в идеале - это среда должна предоставлять четкие и ясные методы и возможности, а не возносить дикий гон и грязь на форуме. Но, "я 1с-ника узнаю по площадной брани за монитором"....
#24 by МишельЛагранж
РЛС аналог роли? поздравляю, чаепитие продолжается... даже на производственном предприятии с УПП... и много пользователей....
#25 by golden-pack
РЛС аналог роли? - это что за бредовый вопрос ? Мишель ...
#26 by Fish
Извини, конечно, но среда тебе ничего не должна :))) А "четкие и ясные методы и возможности" описаны во многочисленных документациях и руководствах, надо только не лениться это изучать и не обвинять разработчиков в том, что они не подстроились под твоё несколько извращённое понимание, каким должен быть язык программирования. :))) З.Ы. А "дикий гон" пока встречается только в твоих постах :)))
#27 by sereban
Сталкивался с подобными проблемами при настройке RLS. Зачастую когда меняешь поля или текст ограничения доступа они в конфигурации сохраняются, а к базе не применяются, а иногда вообще после перезапуска конфигуратора остаются старые значения. После изменения текста ограничения вручную или копированием или полей, когда закроешь форму редактирования(если менял в форме), жми Enter. У меня прокатывало.
#28 by Fish
Я тоже не забыл еще про нормальное программирование (хотя подозреваю, что у нас эти понятия несколько расходятся). Просто для меня, например, нет особой разницы, на каком языке программировать, и я никогда не буду пенять на якобы "тупость" разработчиков языка. Я просто изучаю язык, необходимую документацию по нему, и никакой "каши" и "полной ж" в моих программах почему-то не происходит :)) ЧЯДНТ? З.Ы. А по поводу 1С - да, конечно, как язык программирования, 1С оставляет желать лучшего, но не надо забывать, что 1С - это узкоспециализированная среда и предназначена и заточена для создания прежде всего учетных систем. А если ты чего-то не догоняешь, так не лучше ли попробовать сначала разобраться, а не обвинять всех в повальном безумии только потому, что не осиливаешь логику 1с?
#29 by МишельЛагранж
>>что Вы ничего не понимаете в приоритетах операторов языка - вообще в той теме было выяснено, что 1с-ники очень далеки от програмирования как отрасли. И пересаживаются так, как скажет Шляпник. У 1с-ников никогда не виновата 1с - или "это наследие SQL так!", или "в Си тоже самое!", или еще что... а 1с - настолько могучая система, что вот-вот... но мелкие всякие Си с SQL пакости делают...
#30 by МишельЛагранж
я считаю саму логику 1с-а безумной )))
#31 by МишельЛагранж
дикий гон - это безумное клепание безумных версий среды разработки с последующим их принудительным уничтожением и объявлением всех остальных придурками и непонимающими великого замысла )))
#32 by Fish
Тут я даже с Вами в чём-то соглашусь :))) Но это никак не мешает мне зарабатывать копеечку при помощи 1С :))) Просто надо эту безумную логику понять, что, в принципе не так уж и сложно, т.к. в любом безумии есть система :)))
#33 by golden-pack
(29-31) троль
#34 by Reset
(имхо)Он не тролль в чистом виде, я подозреваю, что все, что он пишет, он думает _На_Самом_деле. Ну, точнее, что у него заменяет процесс, называемый "думать". То есть, он совершенно искреннен в своих постах.
#35 by Fish
+ Тут ведь бесполезно спорить об уровне квалификации, я просто веду разговор к тому, что для того, чтобы быть настоящим профессионалом в программировании, ИМХО надо уметь хорошо разбираться в разных языках и средах разработки. Независимо от того, насколько безумными ты их считаешь :)) Есть и более безумные языки, чем 1с, например Brainfuck :)))
#36 by Fish
Есть хорошее выражение: "Если ты такой умный, то где твои деньги?". Я немного перефразирую: Если ты такой умный, то где же твоя система, которая круче 1С?
#37 by DragonCat
Спасибо большое. Попробую. Факт того, что не я один на такое напоролся - весьма радует (подтверждая собственную адекватность :) )
#38 by DragonCat
, Ребят. В теме изучался конкретный вопрос, к программированию почти не имеющий отношения. Зачем тут трололо-разборки устраивать? Спорьте гденить еще. По поводу RLS - связь с ролью без ограничений - даст снятие ограничений (запросы ограничений не будут налагаться на запросы к данным). Две роли к одним данным с разными ограничениями - дадут кашу, не работоспособную. ВУсе так, но какое отношение это имеет к теме?
#39 by МишельЛагранж
ну раз не понимаете, зачем мы тут про программирование - то вот вам по теме: раз не рабоатет РЛС-запрос - переписывайте его по-другому. Почему так? а это уже тот самый вопрос, где 1с, а где - программирование.... )))
#40 by DragonCat
Да я уже все понял - это просто очередной выплеск вашего холивара. Теперь - в теме про RLS :) Про запрос - снова не в тему. Не работает механизм его применения. В толковый парень все разъяснил. Если интересно - почитайте.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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