View как сделать отметки

Gor

Well-Known Member
#1
Здравствуйте.
Есть один животрепещущий вопрос...
Имеется вьюха...Во вьюхе есть записи названий каких либо работ.
Вопрос вот в чём... Возможно ли сделать так чтобы только пользователь с правами Designer мог напротив любой записи работы во вьюхе поставить галочку или какую нибудь отметку о том что работа начала выполняться? и убрать эту отметку чтобы тоже мог только он... Естественно эта отметка если её поставил дизайнер должна сохраняться всегда(при выходе из базы и новом входе итд) пока её не уберёт сам дизайнер?
Возможно есть какие нибудь Simple function для этого или целесообразно создать ещё одну колонку под это дело.... только наполнение колонки как этой будет выглядеть?... подскажите пожалуйста...заранее спасибо
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#2
Можно цветовое выделение сделать.
Создать поле в документе со статусом работы (начата или нет). Во вьюхе соответственно этому значению поставить цветовое выделение.
Сделать кнопку, которое меняет это поле.
Как дизайнера узнать - не знаю (менеджеров - @DbManager).
Но можно сделать роль. И скрывать кнопку от тех, у кого нету этой роли.
 
V

Vagor.ini

Гость
#3
<!--QuoteBegin-Gor+9:06:2005, 05:27 -->
<span class="vbquote">(Gor @ 9:06:2005, 05:27 )</span><!--QuoteEBegin-->Здравствуйте.
Есть один животрепещущий вопрос...
Имеется вьюха...Во вьюхе есть записи названий каких либо работ.
Вопрос вот в чём... Возможно ли сделать так чтобы только пользователь с правами Designer мог напротив любой записи работы во вьюхе поставить галочку или какую нибудь отметку о том что работа начала выполняться? и убрать эту отметку чтобы тоже мог только он... Естественно эта отметка если её поставил дизайнер должна сохраняться всегда(при выходе из базы и новом входе итд) пока её не уберёт сам дизайнер?
Возможно есть какие нибудь Simple function для этого или целесообразно создать ещё одну колонку под это дело.... только наполнение колонки как этой будет выглядеть?... подскажите пожалуйста...заранее спасибо
[snapback]20834" rel="nofollow" target="_blank[/snapback]​
[/quote]

1. На форме поле, возможно скрытое, в него пишем имя юзера, установившего отметку
2. На виде кнопка, которая устанавливает это поле и обновляет вид. При установки поля проверять уровень (=Дизайнер) и если поле уже установлено, то имя установившего отметку.
3. Для снятия можно воспользоваться инверсией значения или другой кнопкой
4. Ну а собственно, в виде отмечать сию колонку иконкой (см. картинку)
 

Вложения

  • 17.1 КБ Просмотры: 90

Gor

Well-Known Member
#4
Я только честно сказать начинаю разбираться с дизайнером, многого ещё не знаю...Я ступлю немного позволишь?))
Значит сначала создал поле в форме... поле какое? editable? присвоил имя
этому полю... Потом во вьюхе создаёшь ещё одну колонку... и присваиваешь колонке имя поля уже созданного или по другому как то? Как во вьюхе соответственно этому значению поставить цветовое выделение?
И кнопку которая меняла бы значения...Можно немнога поподробнее?
Извини канешно что много так вопросов но я просто чёта может не догоняю...
бывает такое когда бошка пухнет и не соображаешь ничё...

Как скрыть кнопку от всех кроме дизайнера это я знаю как сделать...а вот остальное чёта не допонял...
 

Gor

Well-Known Member
#5
<!--QuoteBegin-Gor+9:06:2005, 09:07 -->
<span class="vbquote">(Gor @ 9:06:2005, 09:07 )</span><!--QuoteEBegin-->1. На форме поле, возможно скрытое, в него пишем имя юзера, установившего отметку
2. На виде кнопка, которая устанавливает это поле и обновляет вид. При установки поля проверять уровень (=Дизайнер) и если поле уже установлено, то имя установившего отметку.
3. Для снятия можно воспользоваться инверсией значения или другой кнопкой
4. Ну а собственно, в виде отмечать сию колонку иконкой (см. картинку)
[snapback]20841" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ну алгоритм в общем то ясен только вот реализовать я его к сожалению не смогу знаний не хватит...Кнопку например описать которая бы устанавливала это поле и обновляла вид...Я так понимаю в этом с случае придётся перед тем как надо будет отметить какую нибудь строку придётся сначала имя вводить пользователя для распознавания?..на отдельной форме чтоли... или на той же..
 
V

Vagor.ini

Гость
#6
Для: Medevic
<!--QuoteBegin-Medevic+9:06:2005, 06:42 -->
<span class="vbquote">(Medevic @ 9:06:2005, 06:42 )</span><!--QuoteEBegin-->Как дизайнера узнать - не знаю (менеджеров - @DbManager).
[snapback]20839" rel="nofollow" target="_blank[/snapback]​
[/quote]
Найти юзера в ACL (NotesACLEntry) и получить свойтсво Level

level% = notesACLEntry.Level

Legal values
ACLLEVEL_NOACCESS (0)
ACLLEVEL_DEPOSITOR (1)
ACLLEVEL_READER (2)
ACLLEVEL_AUTHOR (3)
ACLLEVEL_EDITOR (4)
ACLLEVEL_DESIGNER (5)
ACLLEVEL_MANAGER (6)

Для: Gor
<!--QuoteBegin-Gor+9:06:2005, 07:07 -->
<span class="vbquote">(Gor @ 9:06:2005, 07:07 )</span><!--QuoteEBegin-->поле какое? editable?
[snapback]20841" rel="nofollow" target="_blank[/snapback]​
[/quote]
Как тебе удобно, ты его скорее всего по кнопке(программно) заполнять будешь.<!--QuoteBegin-Gor+9:06:2005, 07:07 -->
<span class="vbquote">(Gor @ 9:06:2005, 07:07 )</span><!--QuoteEBegin-->создаёшь ещё одну колонку... и присваиваешь колонке имя поля уже созданного
[snapback]20841" rel="nofollow" target="_blank[/snapback]​
[/quote]

А теперь, далее все ворпросы по кнопке - это уже программирования(формулы, скрипты разницы нет), а значит надо прекрасно понимать где ты находишься, и что можно делать. Если ты на виде то надо получить этот документ, обратиться к полю и изменить/проверить значение и т.п.

Здесь тебе дорога только в help (рекомендую сразу пробовать на script'e) в класс NotesDocument и иже с ним...
 
D

Domino_Designer

Гость
#7
Для: Gor

Не приставай ты к доступу Designer, этот флаг всеравно будет доступен для изменения Editor`у
 

Gor

Well-Known Member
#8
Всем спасиба огромное за подсказки...
В процессе у меня ещё один вопрос возник
Например хочу сделать так чтобы мою кнопку c помощью которой осуществлялось бы выделение невидел никакой другой пользователь кроме пользователя с уровнем Editor ну или Designer. Как это осуществить?
Вопрос даже наверно в том как создать роль. Где это осуществляется?
В Access control? А кнопку скрывать придётся в Hide paragraf formula is true на этой кнопке ? Здесь придётся формулой как то ссылаться на роль??
 
N

nor

Гость
#9
Уважаемый, Gor

1. Чтобы создать роль (role) в любой базе данных необходимо выполнить следующее: File - Database - Access Control List - Roles - Add... - Role Name.
2. Чтобы присвоить существующую роль в в списке контроля доступа в любой базе данных существующему пользователю либо существующей группе пользователей, необходимо: File - Database - Access Control List - Basics - Выбрать из серверной адрессной книги (names.nsf) соотетствующую запись пользователя (группу пользователей), в секции Attributes указать для выбранной записи Тип пользователя (User type), уровень доступа (Access)и роль (Roles).
3. Чтобы кнопка (Action) была доступна (видна) на панели действий (Action Bar) определенного представления (view) только для определенной роли (ролей), необходимо для данной кнопки указать условие скрытия на языке @-функций (@Functions): Action - Action Hide When - Hide action if formula is true. Например:

Код:
!(
@Contains(doc_status; "6" : "7") & (@IsMember("[request_author]"; @UserRoles) | @IsMember("[coordinator]"; @UserRoles))
)
Данное условие делает видимой кнопку, расположенной на панели действий документа, если выполняется следующее условие: (статус документа = "6" ИЛИ статус документа = "6") И (роль текущего пользователя = "request_author" ИЛИ роль текущего пользователя = "coordinator").
Аналогично можно указать похожую формулу скрытия для кнопки на панели действий представления, например:
Код:
!(
@IsMember("[your_role_name]"; @UserRoles)
)
В результате кнопка будет видима только для пользоватей с ролью "your_role_name".

Чтобы разграничить доступ к действию на уровне общего доступа к базе данных (Access), необходимо воспользоваться формулой @UserAccess.

Рекомендуемые ссылки для обязательного ознакомления в Lotus Domino Designer Help:
1. @UserAccess
2. @UserRoles
3. Вся глава Security in an application.
 

Gor

Well-Known Member
#10
(статус документа = "6" ИЛИ статус документа = "6")
А в каком смысле статус документа? что это означает?

(роль текущего пользователя = "request_author" ИЛИ роль текущего пользователя = "coordinator")
Вопрос такой ещё reuest author и coordinator это имя роли??
А нельзя ли по атрибуту роли как нибудь сделать??
и если к примеру там имя роли PLokin/sale/okta-telecom/ru
а атрибут этой роли
Access - Designer
User type - Person?? например...
 

Gor

Well-Known Member
#11
походу дела опять что то напутал...
всё вроде бы разобрался... создал роль предположим designer
потом в access control list есть вкладка roles
там появилась роль designer и эту роль я сейчас могу присвоить
членам какой нить группы? я правильно понял?
А потом именно в @формуле я буду ссылаться напрямую на роль Designer?
!(
@IsMember("[designer]"; @UserRoles)
) к примеру?
 

Gor

Well-Known Member
#12
Для: Medevic

<!--QuoteBegin-Vagor.ini+9:06:2005, 08:45 -->
<span class="vbquote">(Vagor.ini @ 9:06:2005, 08:45 )</span><!--QuoteEBegin-->Создать поле в документе со статусом работы (начата или нет). Во вьюхе соответственно этому значению поставить цветовое выделение.
[snapback]20840" rel="nofollow" target="_blank[/snapback]​
[/quote]
А можно на этом месте поподробнее please?
Как именно соответственно значению поля поставить цветовое выделение?
Предположим поле в форме у меня называется status...
Сделал я его hiddenom... а вот про выделение цветовое...
ну и если можно немного подтолкнуть на создание кнопки которое бы это поле меняло...
ну а вообщето я и сам скореее всего догадаюсь как это сделать если всё же узнаю про цветовое выделение.
Кстати спасибо nor большое с ролями я разобрался...
А также открыл для себя Helpу) там много чё полезного есть оказывается))
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#13
Для: Gor
Там просто. Ставишь у нужной колонки свойство "Use value as a color". Прячешь колонку (своство "Hide Column"). А в значение колонки пишешь:
Код:
@If(status="first";255:0:0;status="second";0:255:0;status="third";0:0:255;0:0:0)
И получаешь цвета в зависимости от значения статуса.
first - красный. second - зеленый. third - синий.

Поле меняется из представления так. Создаешь кнопку. И прописываешь:
Код:
@SetField("status";"first")
Изменит значение поля "status" у текущего документа (на котором курсор) на "first".
 

Gor

Well-Known Member
#14
ВСем АГРОМАДНЕЙШЕЕ СПАСИБО!!!
Всё получилось кнопку скрывается в зависимости от роли с цветовым выделением тоже прокатило!!! :rolleyes: ЕЩЁ РАЗ ПАСИБО))!!!!!