• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Скрытие поля

  • Автор темы romanko
  • Дата начала
R

romanko

Подскажите пожайлуста как правельно скрыть поля.Нужно чтобы при чтении отбражались все поля в форме, а редактору отображались только те поля в которых прописана его учетная запись(на эти поля стооит такое ограничение (!Avtor *= "User1" & !organiz *= "1") | (!Avtor *= "User2" & !organiz *= "2") ). как сделать чтобы когда пользователю открыты права только ридера отображались все поля??
 
M

morpheus

romanko
может проще зделать 2 подформы - 1ну для ридера вычислять, а другую для редактора?
 
X

Xalet

может проще зделать 2 подформы - 1ну для ридера вычислять, а другую для редактора?

а тут не просто две разные подформы для чтения и редактирования? Скрывать по формуле @IsDocBeingEdited. И если разные авторы в разные поля могут вводить, то их по ролям лучше разделить. В ацл прописывать группу, а в формуле что-то вроде @If(@IsMember("[Автор1]";@UserRoles))
 
R

romanko

а тут не просто две разные подформы для чтения и редактирования? Скрывать по формуле @IsDocBeingEdited. И если разные авторы в разные поля могут вводить, то их по ролям лучше разделить. В ацл прописывать группу, а в формуле что-то вроде @If(@IsMember("[Автор1]";@UserRoles))
А куда @IsDocBeingEdited эта формула прописывается?И куда это @If(@IsMember("[Автор1]";@UserRoles)) потом всовывать?И мне нужно чтобы поля открывались пользователю не только если его учетка совпадет с прописаным, но еще если он в поле organization выберит нужное. Объясните поподробние для особо одаренных как это сделать)))
 
N

nvyush

Если делать на подформах, то все условия вписать в формулу вычисления имени подформы, при изменении условий форму переоткрывать.
 
R

romanko

Если делать на подформах, то все условия вписать в формулу вычисления имени подформы, при изменении условий форму переоткрывать.
А если через роли, то ролучается для поля указывать вот так скрывать если @If(@IsMember("[Автор1]";@UserRoles"тут указывать имя роли или как??"))
 
R

romanko

Автор1 это роль. Никаких ифов больше не надо.
Я добавил роль Автор1. Юзеру1 дал права редактора. В поле добавил условие скрывать если формула верна @IsDocBeingEdited;
@If(@IsMember("[Автор1]";@UserRoles)). Оно на просмотр работает а как только открываю на редактирование скрывается?Почему??Что не так?
 
H

hosm

romanko так вам показывать или скрывать поле надо, если пользователь с ролью "[Автор1]"?
Если хайд-формула вернет @true, поле скрывается - соответственно, из двух разных ф-ций @IsMember (дает @true, когда значение есть в списке) и @IsNotMember(дает @true, когда нет в списке) выбираете ту, которая удовляетворяет условиям для скрытия поля.
Ну или у меня вот есть коллега, который все формулы скрытия пишет в виде !(условие_когда_поле_видно), может, так проще будет.
 
R

romanko

romanko так вам показывать или скрывать поле надо, если пользователь с ролью "[Автор1]"?
Если хайд-формула вернет @true, поле скрывается - соответственно, из двух разных ф-ций @IsMember (дает @true, когда значение есть в списке) и @IsNotMember(дает @true, когда нет в списке) выбираете ту, которая удовляетворяет условиям для скрытия поля.
Ну или у меня вот есть коллега, который все формулы скрытия пишет в виде !(условие_когда_поле_видно), может, так проще будет.
Мне просто нужно скрыть поле в том случае если учетке даны права редактирования, но для того чтобы ему открылись поля для редактирование он в первом поле должен выбрать определенное значение, а тех пользователей у которых права просмотра должны просто видеть все поля кроме 2.Как это лучше сделать?
 
R

romanko

я вот в поле добавляю условие @IsDocBeingEdited;!(@If(@IsMember("[1]";@UserRoles))) юзеру ставлю роль 1 тоесть если у юзера нету такой роли то поле буит скрыто если есть то поле появится правельно?Но почему оно не срабатывает???
 
X

Xalet

@If не надо: !@IsMember("[1]";@UserRoles)

!@IsMember("[1]";@UserRoles) | !@IsDocBeingEdited - Скроет, если открыт для чтения или не в группе [1].
 
R

romanko

А как сделать так чтобы при просмотре были видны все поля а при редактировании было открыто только одно поле и после того как в этом поле поле выберут например 1, открывались все остальные?
 
X

Xalet

про секции же писали уже. Либо формулу на каждое поле.
 
R

romanko

про секции же писали уже. Либо формулу на каждое поле.
Как по секции делать?Или какую можно формулу подставлять в поля чтобы они были виднч при просмотре, а при редактировании скрывались??
 
A

alik86

есть @IsDocBeingEdited function
есть на закладке скрытия галки
Hide paragraph when document is:
Previewed for editing
Opened for editing
 
R

romanko

есть @IsDocBeingEdited function
есть на закладке скрытия галки
Hide paragraph when document is:
Previewed for editing
Opened for editing
Я понимаю что есть галки скрывать от тех у кого права на чтение!Но у меня 8 полей на 2 полях я ставлю эти галки и все хорошо а остальные показываются, тоесть если я на остальные 6 поставлю такое условие, там где скрывать если формула верна
!@IsDocBeingEdited & (!Avtor *= "User1" & !organiz *= "1") | (!Avtor *= "User2" & !organiz *= "2"). то получится что для тех у кого права читателя увидет эти поля с эти условием а у кого права редактора должны иметь учетку User1 или User2 и выбрать в поле organiz соответсвующее значение!Правельно мысль и синтаксис??
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
214
зачем такие "фокусы"? еси надо визуально - сделать таблицу в виде вкладок, поля для редактора - на отдельной вкладке
Если надо "нормально" - вынести в отдельный док и "по-человечьи" управлять секуритями
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!