|
![]() |
#1 |
Administrator
|
В статье Create and use deep links написано:
Цитата:
Security
Site access Access to the domain/client is controlled through the existing login and SSL mechanism. Form access Access to the form is controlled through the specified Menu Item, and the accompanying Menu Item security system. If a user navigates using a URL which contains a Menu Item that the user does not have access to, then the Menu Item security will prevent the form from opening. The user will receive message which says that they do not have the necessary permissions to open the form. Data access Access to data is controlled through the existing form-level queries. When a form is opened with a generated URL, the form will run its existing form-level queries, which restrict the user's access to data. The data context that is specified in the generated URL is consumed after these form-level queries are applied, and results only in further filtering of the data displayed to the user. In short, a generated URL can, at most, open a form and display all of the data that a form would display to the user based on the form-level queries. A generated URL cannot grant a user access to data that is otherwise inaccessible on the form when not using the generated URL. Доступ к сайту обеспечивается протоколом HTTPS Доступ к форме обеспечивается правами доступа к пункту меню, по которому генерится ссылка Доступ к данным обеспечивается с помощью запросов на уровне формы. Т.е. пользователь не увидит данные, которые не может увидеть с помощью конкретной формы. Ну т.е. по сути фильтр накладывается на queryRun при уже существующем query
__________________
Возможно сделать все. Вопрос времени |
|
![]() |
#2 |
Участник
|
Цитата:
Цитата:
Сообщение от sukhanchik
![]() Соответственно, на базе этого кода можно написать свой, который будет фильтровать по RecId и т.о. отображать текущие записи. Тут правда есть нюанс - в стародавние времена было модно сложные запросы вида %1.%2 == %3.%4 || %5.%6 == %7.%8 делать как Range по полю RecId, как по наиболее редко используемому полю в запросах. В этом случае фильтрация по RecID может работать некорректно.
|
|
![]() |
#3 |
Administrator
|
Будет. Формирование запроса в моем случае производится до открытия формы. А есть некоторые формы (типа smmActivities), которые уже при открытии накладывают фильтр по RecId, т.е. уже после исполнения моего кода.
Учитывая, что это только один случай, то поэтому и хочется собрать статистику по прочим формам, т.к. естественно я не мог протестировать это на всех формах. Пока по результатам тестирования выявлена только одно неудобство - кэширование. Т.е. при переходе между записями на форме - сама форма кэшируется (с т.з. программного кода - не закрывается) и в результате ссылка на вторую запись не формируется (не меняется после формирования по первой записи). Я пока думаю, как это можно побороть
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 28.12.2017 в 12:15. |
|