Как получить пользователя на Lotus Script?

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

Mitya2000

ПРошу прощения за такой вопрос по синтаксису, но не скажите ли, как получить текущего пользователя? Какой аналог @User есть в лотус скрипте? Просто мне нужно условие проверки совпадает ли текущий пользователь с пользователем, указанным на форме.
 
M

morpheus

Код:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim user As String
user = session.UserName
End Sub
 
M

Mitya2000

Спасибо большое. А не скажите, как на языке @- формул при событии Querymodechange поставить запрет на редактирование документа. У меня сейчас стоит:
Sub Querymodechange (Source As Notesuidocument, Continue As Variant)
If Not (source.FieldGetText("Status") = "") Then
If Not (source.FieldGetText( "Status" )="Заявка") Then
Messagebox( "Извините, докумен нельзя изменить")
continue = False
End If
End If
End Sub
А мне хотелось бы тоже самое, но на языке @-формулы. Пробовал и @Failure и @Return(@False) - ничего не действует.
 
M

morpheus

<!--QuoteBegin-Mitya2000+2:11:2006, 13:49 -->
<span class="vbquote">(Mitya2000 @ 2:11:2006, 13:49 )</span><!--QuoteEBegin-->А мне хотелось бы тоже самое, но на языке @-формулы
[snapback]46970" rel="nofollow" target="_blank[/snapback]​
[/quote] зачем , если не секрет?
 
M

Mitya2000

Тяжело работать с именем пользователя. Я написал
If Not (user = source.FieldGetText( "user" )) Then
Но не знаю, чему равно session.UserName. Что мне в поле user надо написать, чтобы условие сработало? Полное имя пользователя? Тогда как получить альтернативное имя пользователя?
 
D

DNT

Для: Mitya2000

смотря что у тебя в поле "user"

If Not (session.username = source.FieldGetText( "user" )) Then

либо

If Not (session.commonusername = source.FieldGetText( "user" )) Then



help---> NotesSession все расписано популярно.
 
M

morpheus

<!--QuoteBegin-DNT+2:11:2006, 14:16 -->
<span class="vbquote">(DNT @ 2:11:2006, 14:16 )</span><!--QuoteEBegin-->help---> NotesSession все расписано популярно.
[snapback]46974" rel="nofollow" target="_blank[/snapback]​
[/quote]

Более чем популярно, есть комонюзер нейм и т.д. можна даже с класом нотес нэйм поработать если уж на то пошло <!--QuoteBegin-Mitya2000+2:11:2006, 14:08 -->
<span class="vbquote">(Mitya2000 @ 2:11:2006, 14:08 )</span><!--QuoteEBegin-->Но не знаю, чему равно session.UserName
[snapback]46972" rel="nofollow" target="_blank[/snapback]​
[/quote]
Дэбаггеееррр!!!

или просто MsgBox session.UserName )))))
 
30.05.2006
1 345
12
BIT
0
Спасибо большое. А не скажите, как на языке @- формул при событии Querymodechange поставить запрет на редактирование документа.
...
мне хотелось бы тоже самое, но на языке @-формулы. Пробовал и @Failure и @Return(@False) - ничего не действует.
Да, формульные евенты результат в форму не возвращают.
Изврат: выдать предупреждение (@Prompt) и установить FIELD SaveOption:="0"
 
H

Hedg

df:=@GetField("Status");
@If(df="3";@Command([EditDocument]);@Return("");@Do(@Prompt([OK];"Редактировать низззя"));@True)

Работает не совсем верно, но редактировать не даёт. :) ;)
 
M

Mitya2000

А как узнать роль текущего пользователя в Лотус Скрипте?
 
M

morpheus

Evaluate + @UserRoles

или через ACL ->

Код:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim acl As NotesACL
Dim entry As NotesACLEntry
Set db = session.CurrentDatabase
Set acl = db.ACL
Set entry = acl.GetEntry( "Bob Kidder/East/ACME" )
Forall r In entry.Roles
Messagebox( r )
End Forall

Вместо "Bob Kidder/East/ACME" текущий юзверь
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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