#0
by UnsavedSoul
Как известно, наложив RLS на справочник Склады, например, выбирая все элементы справочника без РАЗРЕШЕННЫЕ наткнемся на исключение, а с ним - увидим в результате только те элементы, которые удовлетворяют условию RLS. Однако, обращаясь к таблице остатков регистра накопления и выбирая в качестве результирующего поля склад, мы увидим остатки по всем складам, вот только у тех записей, что условию RLS по справочнику Склады не удовлетворяют, в соответствующем поле будет красоваться <Объект не найден>. Собственно вопрос, как от него избавиться?:) Пока пришло в голову только создание ВТ с разрешенными складами и ограничение результирующего запроса только теми складами, что есть в ВТ. Есть у кого еще какие мысли? Вопрос встал в процессе разработки отчета для пользователей с RLS в ролях, и, соответственно, в отчете задействованы эти самые таблицы с ограничениями.
#3
by Господин ПЖ
>Пока пришло в голову только создание ВТ с разрешенными складами и ограничение результирующего запроса только теми складами, что есть в ВТ наложить на таблицу RLS нормальный - никак?
#6
by UnsavedSoul
В справочнике "Склады" 5 элементов, согласно условию RLS пользователю доступны только 3 из них. Результатом запроса "ВЫБРАТЬ РАЗРЕШЕННЫЕ * ИЗ Справочник.Склады" будут 3 записи, удовлетворяющие условию. А результатом запроса к таблице остатков регистра накопления, в котором есть измерение "Склад" будут все(!) записи, вот только в поле Склад результата запроса для разрешенных складов будет ссылка на склад, а для тех,что не прошли проверку по RLS - <Объект не найден>. И если стоит задача пользователю с такими ограничениями сформировать отчет по остаткам, то как быть с этими записями <Объект не найден>?
#10
by Господин ПЖ
ты наложил rls на таблицу складов, что дает в таблице РН (а на нее свои права) "объект не найден" - ибо "перекрыты" поля формирующие представление ссылки... на РН твой RLS не действует что не понятно то....
#11
by UnsavedSoul
это-то мне как раз и понятно! Непонятно, как с этим быть? Неужели только RLS на регистр?
#12
by Wobland
ну почему только? ВТ со складами, пост-обработка запроса, раскрашивание результирующего ТабДокумента...
#19
by Maxus43
да тож ничо вариант, типа в спсике мы видим, а вот зайти в элемент, подрихтовать - низя
#24
by Господин ПЖ
rls накладывай на РН нормальный... можно взять из типовой подходящий по смыслу шаблон если разрезов может быть несколько... или самому нарисовать
#30
by fisher
RLS надо накладывать на все таблицы, к которым они должны применяться. В том числе и на регистры. Никакого интеллектуального "изъятия" записей, содержащих ссылки на неразрешенные записи в другой таблице платформа не делает.
#32
by UnsavedSoul
Спасибо! Это вариант мне нравится больше: в таком случае вместо наименования получаем Null, а по нему уже отобрать никаких проблем, что на уровне запроса, что на уровне СКД.
#33
by Жан Пердежон
в запросе. но это скорее костыль, который можно использовать, если тс нельзя менять конфу
#34
by fisher
Отличный вариант. Вместо того, чтобы надежно и централизованно решить проблему раз и навсегда, будем всю жизнь в куче мест костыли втыкать.
#35
by Господин ПЖ
так себе вариант имхо... я такое делал в конфе, в которой наоборот надо было убрать лишнее, а поля формирующие ссылки были выведены из-под rls
#36
by UnsavedSoul
Спасибо! Поведение платформы в случае работы с RLS мне понятно, хотелось бы просто максимально быстрое решение в рамках разработки одного отчета. Согласен, однако в данном случае грамотная настройка RLS означает изменение всех объектов метаданных, ссылающихся на справочник Склады. Это нецелесообразно в рамках решения проблемы формирования одного отчета.
#37
by kiruha
Издеваешься ? Разрешенные склады во временную клади На регистр условие - склад из этой временной
#38
by Жан Пердежон
какая версия платформы? какой запрос? никаких доп.отборов по NULL быть не должно; в любом случае еще в самый правильный ответ был.
#39
by UnsavedSoul
8.2.19.83 ТоварыНаСкладахОстатки.Склад В складах RLS на ссылку с условием <code>ГДЕ Наименование <> "Склад Магазина №1" И Наименование <> "Склад Магазина №2"</code>
#42
by UnsavedSoul
В итоге: 1. Единственный корректный вариант использования RLS - это настройка во всех таблицах, имеющих ссылки на таблицу с данными, к которым ограничиваем доступ; 2. Первый костыль. В запросе используем временную таблица с разрешенными записями, а потом фильтруем с помощью этих данных результирующий запрос; 3. Второй костыль. Выбираем в запросе любое поле из таблицы с RLS, получаем в результирующем запросе Null и фильтруем по нему.
#44
by UnsavedSoul
Разумеется это просто запрос из головы, но выполнение которого приведет к аналогичному результату. К нему и применял советы, есличо.
#46
by kiruha
1) .... ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(,Склад В (Выбрать Склад ИЗ РазрешенныеСклады ) ) КАК ТоварыНаСкладахОстатки Этого достаточно . Вот если есть ограничение более сложное Организация + Склад - то придется еще спец регистр заводить 2) Либо РЛС на регистр
#47
by fisher
В самописках, если количество объектов доступа небольшое а используется много где (склады, подразделения и т.п.) и вычисляется не так уж тривиально (группы пользователей и т.п.), я обычно при старте сеанса пихал объекты доступа пользователя в параметры сеанса типа ФиксированныйМассив. А во всех RLS простое условие на принадлежность массиву. ИМХО, шустрее этого ничего нету.
#48
by UnsavedSoul
Большое спасибо. Да, конечно, если все делать по-православному (согласно руководству разработчика), то именно такой инструментарий и следует использовать.
#50
by Лефмихалыч
а если всё делать через жопу и с закрытыми глазами, то получается <объект не найден>. Это штука неприятная, "последствия" называется
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- WMS Кортес или AXELOT
- Записать на управляемой форме документа
- Возврат покупателю по валютному договору
- УПП. Агентская схема. Агент покупает товар за деньги принципала.
- Выбор типа линии, типа рамки на форме 1с 8
- Формат даты при выгрузке в dbf
- Шаблон внешнего отчета для подключения к УТ11.1 никто не подкинет?
- Как восстановить принятый к вычету НДС по документу ГТД по импорту?
- Verifone Vx820 на проброшенном COM порту
- v7: Прямой запрос (РегистрОбороты). Получить документ движения
- КУДИР Оплата поставщику. БП20
- Стандартные панели. Обычная форма.
- Сохранение изменений Регистра Сведений и вывод в табличную часть документа
- УФ: записать реквизит формы в данные объекта...
- почему у некоторых пользователей (именно в терминале) пропадают объекты?
- Как в проводнике Windows быстро "развернуть до текущей папки"?
- УТП - отчет ведомость по партиям товаров на складах
- Почему 1С предлагает перепрыгнуть через версию?
- Сканер штрих-кода для работы на улице
- счет 10.07 нет субконто контрагент и договор БП 3.0