Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/154: Рейтинг темы: голосов - 154, средняя оценка - 4.51
0 / 0 / 0
Регистрация: 23.06.2007
Сообщений: 102

Блокировка определенных полей в форме

26.06.2007, 14:56. Показов 28376. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Помогите пожалуйста!
Буду краток.

Мне нужно заблокировать определенные поля в форме по условию.
Условие: допустим роль пользователя не относится к [ALL]
Этих полей много и у меня есть мысль, сделать список этих полей и если условие истинно сделать их не доступными для редактирования.
Но эти пользователи могут их видеть, поэтому просто скрывать эти поля не пойдет!

Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.06.2007, 14:56
Ответы с готовыми решениями:

Редактирование только определенных полей
Подскажите пожалуйста! Как сделать так, чтобы в уже сохраненной форме, при последующем открытии, для редактирования были доступны, только...

Динамическое создание полей на форме.......
Всем добрый день. Задача: Есть документ, который обрабатывается различными способами (вручную, программно). В документе есть поля,...

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

16
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
26.06.2007, 15:00
Controlled Access Section.
0
0 / 0 / 0
Регистрация: 23.06.2007
Сообщений: 102
26.06.2007, 15:12
Вы бы не могли поконкретней описать суть.
Я посмотрел Help, не понял.
0
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
26.06.2007, 15:23
Для: medin84
В дизайнере меню Create - Section- Controlled Access

дальше интуитивно
0
1 / 1 / 0
Регистрация: 23.04.2006
Сообщений: 226
26.06.2007, 15:25
Создаёшь на форме Секцию с контролируемым доступом, и в неё помешаешь поля котрые нужно блокировать.

Create/Section/Controlled Accsess
0
1 / 1 / 0
Регистрация: 01.10.2006
Сообщений: 615
26.06.2007, 15:27
в свойствах поля 6-я закладка "Paragraph hide when" внизу в окошке пишем
@IsNotMember("[ALL]"; @UserRoles) и ставим галку "Hide paragraph if formula is true"

таким образом, поле будет видно только пользователям с ролью [ALL]
0
0 / 0 / 0
Регистрация: 12.05.2006
Сообщений: 329
26.06.2007, 19:13
Дополнение к рекомендации: Kee_Keekkenen
IBM рекомендует создавать поле Computed for Display, в котором вычислять @UserRoles и тому подобные сложные формулы. Далее ссылаться при скрытии и доступе не на формулы, а на эти вычисляемые поля - это дает существенный выигрыш производительности в случае использования @UserRoles и ей подобных формул более одного раза на форме.
0
1 / 1 / 0
Регистрация: 01.10.2006
Сообщений: 615
26.06.2007, 23:27
логично
0
0 / 0 / 0
Регистрация: 23.06.2007
Сообщений: 102
27.06.2007, 14:36
Дела в том что эти поля должны быть видны!
Их нелзя просто скрывать!
Суть в том что пользователи должны видеть данные! Поэтому вскырвать по формуле непойдет!
Мне нужно просто чтобы они не могли вносить в них изменения!
0
0 / 0 / 0
Регистрация: 05.12.2006
Сообщений: 173
27.06.2007, 14:48
1) свойство Input Enabled
2) скрывать сами поля, показывать <computed text> - всё по формулам скрытия полей, т.е. если показывается поле - скрывается computed text, и наоборот, в зависимости от логики
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
27.06.2007, 14:48
Создаешь Controlled Access Section.
Пихаешь туда поля.
В свойствах секции на второй закладке Expand/Collapse везде (и для Editors и для Non-Editors) ставишь Auto-expand секции.
Далее идешь на третью закладку Formula. Тип Computed for Display. В формуле пишешь "[ALL]".
Дальше идешь на последнюю закладку Section Hide When. И прячешь её от всего (или условие @True, или галки везде).
Усё.

Можно еще поиграться со свойством Input Enabled, если версия клиента 7.
0
0 / 0 / 0
Регистрация: 05.12.2006
Сообщений: 173
27.06.2007, 14:50
Для: Medevic



Можно еще поиграться со свойством Input Enabled, если версия клиента 7.
Почему именно 7? В 6.5 тоже вполне нормально работает.
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
27.06.2007, 14:54
<!--QuoteBegin-Azrael+28:06:2007, 14:37 -->
<span class="vbquote">(Azrael @ 28:06:2007, 14:37 )</span><!--QuoteEBegin-->Почему именно 7? В 6.5 тоже вполне нормально работает.
[snapback]70825" rel="nofollow" target="_blank[/snapback]?[/quote]
Только со стилем Native OS Style.
В 7-ке работает и со стилем Notes style.
0
0 / 0 / 0
Регистрация: 05.12.2006
Сообщений: 173
27.06.2007, 15:00
Для: Medevic аааа.... точно
0
0 / 0 / 0
Регистрация: 23.06.2007
Сообщений: 102
28.06.2007, 11:03
Этот код если поставить в PostOpen или QueryOpen события формы было все ОК!
Но он не доработан!
Я не соображу как блокировать поля и вообще возможна ли это!

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


Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
    Dim session As New NotesSession
Dim db As NotesDatabase
Dim acl As NotesACL
Dim entry As NotesACLEntry
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
 
Set db = session.CurrentDatabase
Set acl = db.ACL
userNames = session.UserName
Set entry = acl.GetEntry( userNames )
 
fieldName(0)="SurName"   пример
fieldName(1)="Name"
fieldName(2)="FatherName"
 
bool = False
 
If(Ubound(entry.Roles)>0)Then
Forall r In entry.Roles
If(r="[ALL]" Or r="[ABIT]")Then
bool = True
Exit Forall
End If
End Forall
End If
 
If(bool = False)Then
Messagebox "Вы не имеете прав на редактирование некоторых полей!"
[b][color=#FF0000]Вот в этом месте сделать чтонибудь надо, типа[/color][/b]
 
for i=lbound(fieldName) to ubound(fieldName)
fieldName(i).locked
next
 
End If
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
28.06.2007, 11:08
Для: medin84
Выше же расписано как.
0
0 / 0 / 0
Регистрация: 23.06.2007
Сообщений: 102
28.06.2007, 11:29
Спасибо вроде понял!
Вы уж простите, малость неопытен!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.06.2007, 11:29
Помогаю со студенческими работами здесь

Онлайн обновление полей на форме.
На форме есть встроенное вью, на &quot;Queryopendocument&quot; которого открывается документ в диалогбоксе, выполняются некоторые действия...

Как сделать чтобы установка флажка в форме очищало значение определенных полей в таблице и форме?
Подскажите пожалуйста как сделать чтобы установка флажка в форме очищала значения других независимых флажков(не входящих в группу...

Блокировка полей на форме по условию
Может кто сталкивался...Есть два поля ФизЛицо и ЮрЛицо, надо чтобы при заполнении одного из них, другое блокировалось, ну чтобы исключить...

Проверка на факт заполнения определенных полей в форме
Добрый день! Сделана Форма на добавление информации в таблицу. Задача состоит в том, чтобы минимизировать возможность неправильного...

Блокировка клавиши при нажатии в одной форме и блокировка в другой, третьей
Здравствуйте нужно что бы при вызове помощи в 1ом вопросе она блокировалась во 2ом вопросе,подскажите как сделать. Вам нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru