Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   в документах по учету товара при выборе склада надо установить фильтр видимости (http://forums.kuban.ru/f1040/v_dokumentah_po_uchetu_tovara_pri_vybore_sklada_nado_ustanovit-_fil-tr_vidimosti-2567425.html)

med 04.05.2012 08:43

в документах по учету товара при выборе склада надо установить фильтр видимости
 
в документах по учету товара при выборе склада надо установить фильтр видимости складов в зависимости от роли пользователя, подскажите как можно переделать вывод списка складов при выборе ? Или установить фильтр ?

(PS 8 - ку только начинаю осваивать - в семерке сделал бы на раз)

bma1 04.05.2012 08:48

RLS

med 04.05.2012 09:00

1-bma1 > Да, вроде бы применимо, где бы поподробнее об этом почитать ?

bma1 04.05.2012 09:04

2(2) На диске ИТС была статейка, но я осваивал методом научного тыка... сперва делал простейшие, потом сложнее, потом оптимизировал и т.д.

med 04.05.2012 11:25

3-bma1 > Понять бы базовую вещь, что и куда писать..
а то как то в руководстве разработчика очень скупо написано... "Текст шаблона содержит часть текста на языке запросов и может содержать параметры, которые выделяются при помощи символа #"... а что надо писать этим языком запросов ? Описать объект, на который надо наложить ограничение ? или что ?

bma1 04.05.2012 11:44

2(4) Ну, смотри. У тебя есть справочник Контрагенты (в УТ10), ты хочешь дать пользователю на просмотр только тех контрагентов, у которых реквизит Покупатель = Истина. ты в правиле доступа для роли по справочнику Контрагенты пишешь:

ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
ГДЕ
ТекущаяТаблица.Покупатель = ИСТИНА

Т.е. ты отбираешь те записи, где условие выполняется.

bma1 04.05.2012 11:54

А с шаблонами тоже все просто.
Создаем шаблон в роли, назовем его ПоСправочникам
В шаблоне пишем:

ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
ГДЕ
ТекущаяТаблица.#Параметр(1) = #Параметр(2)

В роли для справочника Контрагенты ставим правило доступа ПоСправочникам("Покупатель","ИСТИНА")
А для справочника Организации, к примеру, ставим правило
ПоСправочникам("ОтражатьВРегламентированномУчете","ЛОЖЬ")

med 04.05.2012 12:56

5-bma1 > ну более менее понятно
А как нибудь не через RLS можно?
Ну вот что б фильтр накладывался на список складов при выборе ?

med 04.05.2012 13:01

Грубо говоря через отработку ПередОткрытием() или ПриОткрытии()

med 04.05.2012 13:02

Воот теперь стало понятно при совмещении:
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
ГДЕ
ТекущаяТаблица.Покупатель = ИСТИНА

и

ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
ГДЕ
ТекущаяТаблица.#Параметр(1) = #Параметр(2)

Сразу видно где что значит :-)

Sadovnikov 04.05.2012 13:54

9-med > А ты думал - в сказку попал? :)
Меня вообще безумно радует синтаксис:
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица

bma1 04.05.2012 14:05

2(10) а меня простынки из УТ11 типа...
...
#Иначе
Истина
#КонецЕсли

#Параметр(53) // [)[)][)]...] [ИЛИ|И] [([(][(]...] оператор И/ИЛИ с/без скобок.

)
)
#КонецЕсли

Sadovnikov 04.05.2012 14:14

11-bma1 > Машу ж вать... Как хорошо, что я этого не видел...

Управление торговлей 11 04.05.2012 14:44

11-bma1 >это ты куда залез?

bma1 04.05.2012 14:51

2(13)
Роль: ДобавлениеИзменениеНоменклатуры
Шаблон: ПоЗначениямРасширенный
в самый низ...
P.S. не знал, что тама есть транспарантик: "Не влезай, убъет!"

Lexusss 04.05.2012 15:04

(10) Это несколько снижает производительность. И еще затрудняет читаемость. Правильнее писать
Т ИЗ #Т КАК Т
ГДЕ
Т....
(13) Открываем БСП и просвящаемся. УТ 11 без новомодных шаблонов RLS - чушь и провокация. Как можно вообще подумывать о работе, не изучив всего то 200 типовых ролей!

Lexusss 04.05.2012 15:08

(14) Все там отлично читается, прозрачно и понятно. Ты просто не понял всей красоты решения.
Мы с нашими программерами долго долбились над планами выполнения, пытаясь придумать что то покрасивше с точки зрения SQL. Кой что подшаманили, но исключительно на локальную специфику. На самом деле, производительнее сделать RLS не возможно, если оставить существующий функционал прикладного решения и оставить ограничения платформы.
Мечтаю все разобраться с RLS в БСП 2.0. Обещали рост производительности. Правда обещали это разработчики на семинарах еще 2 года назад. А новая БСП выплыла только-только.

bma1 04.05.2012 15:25

2(15)
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
тормознутее чем
Т ИЗ #Т КАК Т ???
P.S. хотя да... букоффф меньше...
P.S.S. может в коде все переменные переименовать по типу А123, Б346, М23 и т.д.? и тормоза исчезнут?

Lexusss 04.05.2012 15:38

(17) Меньше букоф, быстрее транслируется в сиквел :) Может, конечно, использование именно такой конструкции в новых типовых связано с каким то ограничением длины шаблона и текста запроса. Когда шаблон запроса RLS растянут на 10 с лишним тысяч строк - это внушает.
А "Т.ххх КАК Т" читать не так страшно. )))))))

med 05.05.2012 07:35

Интересно - в 8.2 нашел "Разграничение на уровне записей" уже в самой программе, а не в конфигураторе.

med 05.05.2012 08:17

Интересно - в 8.2 нашел "Разграничение на уровне записей" уже в самой программе, а не в конфигураторе.


Текущее время: 11:56. Часовой пояс GMT +3.