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

Тема в разделе "Lotus - Программирование", создана пользователем Gor, 9 июн 2005.

  1. Gor

    Gor Well-Known Member

    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2
    Здравствуйте.
    Есть один животрепещущий вопрос...
    Имеется вьюха...Во вьюхе есть записи названий каких либо работ.
    Вопрос вот в чём... Возможно ли сделать так чтобы только пользователь с правами Designer мог напротив любой записи работы во вьюхе поставить галочку или какую нибудь отметку о том что работа начала выполняться? и убрать эту отметку чтобы тоже мог только он... Естественно эта отметка если её поставил дизайнер должна сохраняться всегда(при выходе из базы и новом входе итд) пока её не уберёт сам дизайнер?
    Возможно есть какие нибудь Simple function для этого или целесообразно создать ещё одну колонку под это дело.... только наполнение колонки как этой будет выглядеть?... подскажите пожалуйста...заранее спасибо
     
  2. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Можно цветовое выделение сделать.
    Создать поле в документе со статусом работы (начата или нет). Во вьюхе соответственно этому значению поставить цветовое выделение.
    Сделать кнопку, которое меняет это поле.
    Как дизайнера узнать - не знаю (менеджеров - @DbManager).
    Но можно сделать роль. И скрывать кнопку от тех, у кого нету этой роли.
     
  3. Vagor.ini

    Vagor.ini Гость

    <!--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. Ну а собственно, в виде отмечать сию колонку иконкой (см. картинку)
     

    Вложения:

    • 1.gif
      1.gif
      Размер файла:
      17,1 КБ
      Просмотров:
      90
  4. Gor

    Gor Well-Known Member

    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2
    Я только честно сказать начинаю разбираться с дизайнером, многого ещё не знаю...Я ступлю немного позволишь?))
    Значит сначала создал поле в форме... поле какое? editable? присвоил имя
    этому полю... Потом во вьюхе создаёшь ещё одну колонку... и присваиваешь колонке имя поля уже созданного или по другому как то? Как во вьюхе соответственно этому значению поставить цветовое выделение?
    И кнопку которая меняла бы значения...Можно немнога поподробнее?
    Извини канешно что много так вопросов но я просто чёта может не догоняю...
    бывает такое когда бошка пухнет и не соображаешь ничё...

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

    Gor Well-Known Member

    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2
    <!--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]
    Ну алгоритм в общем то ясен только вот реализовать я его к сожалению не смогу знаний не хватит...Кнопку например описать которая бы устанавливала это поле и обновляла вид...Я так понимаю в этом с случае придётся перед тем как надо будет отметить какую нибудь строку придётся сначала имя вводить пользователя для распознавания?..на отдельной форме чтоли... или на той же..
     
  6. Vagor.ini

    Vagor.ini Гость

    Для: 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 и иже с ним...
     
  7. Domino_Designer

    Domino_Designer Гость

    Для: Gor

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

    Gor Well-Known Member

    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2
    Всем спасиба огромное за подсказки...
    В процессе у меня ещё один вопрос возник
    Например хочу сделать так чтобы мою кнопку c помощью которой осуществлялось бы выделение невидел никакой другой пользователь кроме пользователя с уровнем Editor ну или Designer. Как это осуществить?
    Вопрос даже наверно в том как создать роль. Где это осуществляется?
    В Access control? А кнопку скрывать придётся в Hide paragraf formula is true на этой кнопке ? Здесь придётся формулой как то ссылаться на роль??
     
  9. nor

    nor Гость

    Уважаемый, 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. Например:

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

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

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

    Gor Well-Known Member

    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2
    (статус документа = "6" ИЛИ статус документа = "6")
    А в каком смысле статус документа? что это означает?

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

    Gor Well-Known Member

    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2
    походу дела опять что то напутал...
    всё вроде бы разобрался... создал роль предположим designer
    потом в access control list есть вкладка roles
    там появилась роль designer и эту роль я сейчас могу присвоить
    членам какой нить группы? я правильно понял?
    А потом именно в @формуле я буду ссылаться напрямую на роль Designer?
    !(
    @IsMember("[designer]"; @UserRoles)
    ) к примеру?
     
  12. Gor

    Gor Well-Known Member

    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2
    Для: 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у) там много чё полезного есть оказывается))
     
  13. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: Gor
    Там просто. Ставишь у нужной колонки свойство "Use value as a color". Прячешь колонку (своство "Hide Column"). А в значение колонки пишешь:
    Код (Text):
    @If(status="first";255:0:0;status="second";0:255:0;status="third";0:0:255;0:0:0)
    И получаешь цвета в зависимости от значения статуса.
    first - красный. second - зеленый. third - синий.

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

    Gor Well-Known Member

    Регистрация:
    7 июн 2005
    Сообщения:
    517
    Симпатии:
    2
    ВСем АГРОМАДНЕЙШЕЕ СПАСИБО!!!
    Всё получилось кнопку скрывается в зависимости от роли с цветовым выделением тоже прокатило!!! :rolleyes: ЕЩЁ РАЗ ПАСИБО))!!!!!
     
Загрузка...

Поделиться этой страницей