Диалоги Lotus developers

  • Автор темы Vagor.ini
  • Дата начала
Статус
Закрыто для дальнейших ответов.

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
<!--QuoteBegin-Idea+7:12:2006, 11:57 -->
<span class="vbquote">(Idea @ 7:12:2006, 11:57 )</span><!--QuoteEBegin-->ну ролей от этого не появилось, а зачем это вообще нужно (своими словами)?
[snapback]50113" rel="nofollow" target="_blank[/snapback]​
[/quote]
Должны были появится. Базу переоткрой.
В хелпе по @UserRoles, кстати, написано:
For a database on a server or a local database with "Enforce a consistent Access Control List across all replicas" in effect, returns a list of roles that the current user has. Roles are defined in a database's access control list.
Returns an empty string ("") if the current database is local and "Enforce a consistent Access Control List across all replicas" is not in effect.
 
F

Fossil Code

а можно примерчик кода, который может быть в Show Single Category? мне на глаза так и не попался.

Show single category in embedded views

You can restrict an embedded view to a single category.
1. Open a form in Designer.
2. Choose Create - Embedded Element - View. The Insert Embedded View dialog box appears.
3. Highlight the view you want and click OK.
4. Choose "Show Single Category" as the event in the Programmer's pane.
5. Enter a formula to compute the category. The formula can make use of information about the current user and information from the current document (the one embedding the view).
For the Show Single Category option to work, the embedded view must first have been categorized . Note that the category name will not appear in the embedded view. For example, if you check the Show Single Category box for a category named Kitchen, the embedded view will not have a line named Kitchen. Instead, you will see under Kitchen documents such as Stove, Refrigerator, and so on.
You cannot use @Commands with Show Single Category.
If the Show Single Category formula evaluates to an asterisk (*), all categories are shown. This is useful if, for example, you want to restrict an embedded view to a single category for Web users and show all categories for Notes users.
See Also
Creating an embedded view or embedded folder
Setting line counts in embedded views
 
I

Idea

For example, if you check the Show Single Category box for a category named Kitchen, the embedded view will not have a line named Kitchen. Instead, you will see under Kitchen documents such as Stove, Refrigerator, and so on.

я это уже миллион раз видела и в хелпе и на этом форуме. но мне НЕ понятно, как именно выбрать эту самую категорию (что б её...). В поле для формулы что должно стоять: алиас поля, имя колонки, номер колонки, в кавычках, в скобочках, или я не знаю в чем ещё, если это формула, то что за формула такая? :eek:
 
M

morpheus

Для: Idea
Ваш вложеный вид катогоризирован по типу документа, скажем Б ?
Форма в которую вложен вид, пусть будет А

Вопрос знает ли документ по форме А этот самый тип документа Б

вот например, есть вложэенное представление, катогоризированное по имени
>вася
1
2
3
>петя
1
4
10

Так вот что бы в документе А, во вложенном представлении уведить только 1,2,3 надо в Show Single Category написать "Вася", или просто имя поля которое будет прнимать значение "Вася"
 
I

Idea

Для Morpheus[\b]:
УРА! Спасибо, огромное! Нет предела моей радости) Наконец-то конкретика)


Мне придумали новую задачу (я тихо фигею):
пользователи базы бывают двух видов Author и Reader, причем ни у кого нет прав на удаление документов. А должны появиться, причем на удаление только своих. Мне предложили, как вариант, запустить по кнопке событие на удаление от имени менеджера базы, причем с соответствующей проверкой на авторство.
Если это реально сделать, подскажите плиз каким образом, а если нет - какие ещё есть варианты? :blink:
 
F

Fossil Code

Ну, у Ридера по определению не может быть прав ни на создание, ни на удаление документов. Иначе случится насилие над идеологией Лотуса и начнутся настоящие проблемы. А чтобы Автор получил право на удаление созданного им же документа, в документе должно быть поле Authors, куда внесено(ы) им(я/ена) Лотусов(о/ы)е лиц, которые имеют сие право.
 
I

Idea

Для Fossil Code:

С Ридерами ничего делать и не надо, есть и они и пусть тихо себе сидят - ничего не трогают. А с авторами не очень понятно. Есть такой уровень доступа Автор (он относится ко всей БД) и если ему дать права на удаление документов (в ACL), то он сможет удалять вообще любые документы - и свои и не свои (ну или это все-таки можно ограничить), администратор хочет вообще у всех по умолчанию отобрать право на удаление, и давать его только при нажатии кнопочки, которая проверит, этот пользователь документ создал или нет. Вот так.

В документе поле Authors есть, насколько я поняла, всегда. И вытащить его значение всегда можно. Но этого мало.

Нашла как жонглировать ролями пользователя, но это опять-таки не поможет. Потому что нужно изменить не роль, а уровень доступа. Вот... :blink:
 
M

morpheus

Для: Idea
а почитайте ка сравку Администратора о уровне доступа Автор

Delete documents
Authors can delete only documents they create. If this privilege is deselected, an author can't delete documents, no matter what the access level. If the form contains an Authors field, Authors can delete documents only if their name, or a group or a role that contains their name, appears in the Authors field.
 
F

Fossil Code

Для Fossil Code:

... А с авторами не очень понятно. Есть такой уровень доступа Автор (он относится ко всей БД) и если ему дать права на удаление документов (в ACL), то он сможет удалять вообще любые документы - и свои и не свои...

Хммм... Это просто не правда. Возможны, конечно, ситуации, когда АЦЛ не работает. Проверьте: Ваша база на сервере, или на локале? А в АЦЛ галка "enforce consistent ACL" стоит? А уровень доступа по умолчанию? И поле "Авторы" не создается и не инициализируется автоматически... Вы руками-то проверяли, или это пока период накопления теоретических знаний?
 
I

Idea

Всем спасибо. В очередной раз убеждаюсь, что ни на кого надеяться нельзя, даже на собственного начальника. Видимо он так здорово проверил, что у него от автора получилось всё удалить. Сегодня ещё разок сама всё проверю. Спасибо!
 
M

morpheus

Для: Idea
Я так понимаю Ваш начальник и есть Ваш тайный советник... СОВЕТ Вам .. увольте его, откройте должность, полушайте кандидатов, наймите себе нового начальника :blink:
 
I

Idea

И поле "Авторы" не создается и не инициализируется автоматически...


хм... что-то я не поняла. я в документе поле Автор не создавала, а во вьюхе вытащила этот параметр документа для категоризации (вас наверное насторожило, что я это "полем" назвала, имелся в виду именно параметр, который есть у всех документов, так же как дата создания и тп)
И проверка @If(@Name([CN]; @UserName)=@Name([CN]; @Author);@False;@True) на скрытие кнопки нормально работает. Разве нужно специально делать поле под автора, если значение @Author и так можно получить?
 
F

Fossil Code

хм... что-то я не поняла. я в документе поле Автор не создавала, а во вьюхе вытащила этот параметр документа для категоризации (вас наверное насторожило, что я это "полем" назвала, имелся в виду именно параметр, который есть у всех документов, так же как дата создания и тп)
И проверка @If(@Name([CN]; @UserName)=@Name([CN]; @Author);@False;@True) на скрытие кнопки нормально работает. Разве нужно специально делать поле под автора, если значение @Author и так можно получить?

@Author -- формула. Authors -- поле. А Вы прочли справку Администратора по уровню доступа Автор, как Вам советовал Morpheus?
 
M

morpheus

Для: Idea
почитайте раздел спрвки дизайнера
" To create Readers and Authors fields "

а поле делаеться для MultiValue ... и т.д.

Restrict Read access to documents by creating Readers and Authors fields as follows.
1. Open the form in Designer.
2. Create a field, or click an existing field. Then choose Design - Field Properties.
3. On the Field Info(i) tab, select Readers or Authors as the type, and then:
Select Editable to allow authors and editors to modify the list. (Be sure to include yourself in the default value formulas, which you create in the Script area of the Programmer's pane -- so there is at least one value.)
Select Computed to write a formula that computes the reader or author names.
Writing formulas for Readers and Authors fields
When you write a formula for a Readers or Authors field, enclose user names and group names in quotation marks.
"Marketing"
Select "Allow multi-values" for a field that stores a text list with multiple names. Concatenate the names in the formula with a colon.
"Mary Sen":"Marketing":"Joyce O'Connor"
Place quotation marks and square brackets around role names that qualify access levels.
"[Scheduling Committee]"
4. To create editable or computed field values, click the Programmer's pane, select a formula type, and write the formula; click the green check mark to save the formula.
Note Include server names in the formula if the database will replicate.
5. On the Control tab, choose one of the following options to generate a list of readers or authors from which users can select.
Note Unless "None" is selected as the lookup option for a Readers or Authors field, users press either CTRL+ENTER or, if specified for the field, the entry helper button to see a list of possible entries. If the Readers field is located inside a layout region, leave "None" selected; other lookup options do not apply.
Use None to rely on a formula or on authors to create the list of names. Select "Look up names as each character is entered" to speed up typing in editable fields. Domino fills in the first name that matches the characters the user types.
Use Address dialog box for choices to display the Names dialog box so users can select names from a Personal Address Book or from the Domino Directory. Select "Look up names as each character is entered" to help users fill in a name quickly and Designer looks up a match.
Use access control list for choices to display a list of people, servers, groups, and roles in the ACL.
Use View dialog box for choices to display a dialog box containing entries from a column in a Designer database view. Select the database to look up, select a view, and select a column number.
6. (Optional) On the Field Info tab, select "Allow multi-values" to allow more than one name to be stored in the field.
7. (Optional) On the Control tab, select "Allow values not in list" to let users enter additional names. This property is applicable only to Address and Access Control List choices.
8. Save and close the form.
Note When you specify names for reader and author fields, use the full hierarchical name for each user if there is a chance this database will be copied or replicated to another domain. Within a domain, an abbreviated, or common name, is sufficient for user authentication, but between domains, you must supply the full hierarchical name or authentication will fail.
 
I

Idea

спасибо всем, с авторами и правами разобралась, работу приняли - сказали все как надо) ушла радоваться)
 
L

LuMee

Пара вопросов по методу NotesUIWorkspace.DialogBox:
1. Как ввести несколько строк в текстовое поле? При нажатии на Enter диалог закрывается: срабатывает кнопка ОК.
2. Как передать в диалог какие-то значения? Т.е., например, пишу:
Код:
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument

Set doc = New NotesDocument(ws.CurrentDatabase.Database)
doc.SomeField = "Hello"
Call ws.DialogBox("TheForm", False, False, False, False, False, False, "aaa", doc)
На форме, открываемой в диалоге, есть поле, которое берет значение из SomeField - оно остается пустым.
 
F

Fossil Code

Пара вопросов по методу NotesUIWorkspace.DialogBox:
1. Как ввести несколько строк в текстовое поле? При нажатии на Enter диалог закрывается: срабатывает кнопка ОК.
2. Как передать в диалог какие-то значения? Т.е., например, пишу:
Код:
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument

Set doc = New NotesDocument(ws.CurrentDatabase.Database)
doc.SomeField = "Hello"
Call ws.DialogBox("TheForm", False, False, False, False, False, False, "aaa", doc)
На форме, открываемой в диалоге, есть поле, которое берет значение из SomeField - оно остается пустым.

2. Форма диалога может наследовать в свои поля значения из выбранного документа (см.св-ва формы), а в соотв. поле формы стоит начальное значение -- имя наследуемого поля. Но для этого, по-моему, нужно, чтобы основной документ должен быть открыт на уровне UI, а не просто создан в фоне.
 
M

morpheus

1. не покзывать в дилаоговом окне никаких кнопок(системных, которые по умолчанию OK и Cancel)


<!--QuoteBegin-Fossil Code+11:12:2006, 10:44 -->
<span class="vbquote">(Fossil Code @ 11:12:2006, 10:44 )</span><!--QuoteEBegin-->2. Форма диалога может наследовать в свои поля значения из выбранного документа (см.св-ва формы), а в соотв. поле формы стоит начальное значение -- имя наследуемого поля. Но для этого, по-моему, нужно, чтобы основной документ должен быть открыт на уровне UI, а не просто создан в фоне.
[snapback]50386" rel="nofollow" target="_blank[/snapback]​
[/quote]
Насчет УИ - нет, моет быть и не открыт
этот код показывает профильный док в диалоговом окне, при этом Call PrintDefaultSetting - выставляет перед этим некоторые настройки по умолчанию(на основе этой формы делаються отчеты)
Код:
Set tDocSearch = curdb.GetProfileDocument("DocSearch", ses.UserName)
DocSearch.AllProfiles = tDocSearch.AllProfiles

DocSearch.Form = "(subToSearch)"
If NumReport>0 Then
DocSearch.ShowField="TypePrint"
DocSearch.TypePrint = Trim(Str(NumReport))
DocSearch.DSPNamePrint = DocSearch.TypePrint
Call DocSearch.ComputeWithForm(True, False)
Else
DocSearch.ShowField = ""
DocSearch.TypePrint = "1"
End If
Call PrintDefaultSetting(DocSearch) ' Установки по умолчанию

STARTS:
DocSearch.fSuccess = ""
Call DocSearch.ComputeWithForm(True, False)
f = ws.DialogBox("(subToSearch)", True, True, True, False, False, False, "Звіти", DocSearch, True, True)
 
F

Fossil Code

Для Morpheus

Ага, точно. (Век живи, век учись -- все одно: дураком помрешь.) Ну, тогда не УИ, а просто сохранить новый док, перед вызовом диалога. Как-то очень скушно Лотусу работать с фоновым несохраненным документом, у которого нет УЯ.
 
F

Fossil Code

Пара вопросов по методу NotesUIWorkspace.DialogBox:
1. Как ввести несколько строк в текстовое поле? При нажатии на Enter диалог закрывается: срабатывает кнопка ОК.

Не выдержала душа поэта: сам попробовал. Все прекрасно вводится. Enter ничем не перехватывается. Проверьте тип поля, куда Вы собираетесь вводить многострочный текст. Других предположений нет.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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