Будет ли вычисляться значение префильтра кодом если он заблокирован на изменение?
Конечно!
Как устанавливать разные значения для поля префильтра в зависимости от роли или пользователя?
Используйте быстрые переменные $#nr
и $#nu
.
Префильтр является сильной блокировкой доступа или нет?
Префильтр является сильной блокировкой.
Но если пользователь от которого производится доступ может его редактировать (неважно скрыт он или нет) — то тогда он может ввести в него любое значение!
В каких случаях стоит использовать параметр «Исполнять код только при добавлении»?
Если поле префильтра является редактируемым и вычисляется кодом одновременно, то при ручном изменении будет появлятся рука
— сигнализирующая о том, что значение отличается от расчетного.
Поэтому в большинстве случаем для редактируемых полей префильтра с кодами используется исполнять только при добавлении
или showhand: false
.
Как доступ на редактирования влияет на linkToTable?
Если поле префильтра в которое передается значение по параметру filter
функции linkToTable
недоступно для редактирования пользователем, то данные переданы не будут!
Если вам нужно сделать поле недосягаемым для пользователя — нужно поставить ему параметры видимости по которым он его не видит, но оставить поле редактируемым!
Почему по linkToTable нельзя передать большой список?
Дело в том, что filter
и field
в linkToTable
передаются в адресной строке в зашифрованном сессионным ключом виде.
У адресной строки есть ограничение на максимальную длину. Поэтому если вам нужно передать большой объем данных, то вам нужно передавать не сами данные, а короткие элементы для их расчета в поле, которое не будет ни к чему привязано.
А потом в скрытом поле префильтра рассчитывать нужные значения на основе этих данных.