ФИО на русском языке

  • Автор темы I123321
  • Дата начала
I

I123321

Не могу сообразить... мне надо, чтобы в дакументе писалось нормальное (на русском языке) ФИО, а у меня выдается в англ. транскрипцие. Как надо сделать? при нажатии на кнопку отправления документа на рассмотрение:
Код:
.......
' Имя пользователя
Dim Abbrname As New notesname(session.EffectiveUserName)
userN = Abbrname.Canonical
....

LogStr = Format(LogTime,"dd.mm.yyyy hh:mm:ss") & " " & userN
 
O

Omh

Там у NotesName есть второй параметр - language
Может оно?
 
I

I123321

огромное спасибо, medevic

теперь у всех пользователей все работает правильно, а почему-то под одним пользователем постоянно Subscript out of range
 
I

I123321

все разобрался. Извеняюсь за глупый вопрос. Просто у данного пользователя не было альтернативного имени
 

Kizarek86

Green Team
20.07.2007
875
8
BIT
118
Я вот такую функцию юзаю:
Код:
Function fUserName_AltName(pUserNameStr As String) As String
'Функция определяет имя пользователя, если у него есть альтернативное имя, т.е. на русском языке
'возвращает его, если нет то возвращает имя на латинице.
Dim AltNameOtv As Variant
AltNameOtv = Evaluate({ @Name([CN];@NameLookup([Exhaustive];"} + pUserNameStr+{";"AltFullName"))})
If Not AltNameOtv(0)="" Then
fUserName_AltName = AltNameOtv(0)
Else		
Dim user As notesname 
Set user = New NotesName(pUserNameStr) 
fUserName_AltName = Cstr(user.Common)
End If
End Function
 
N

nvyush

Я вот такую функцию юзаю:
Код:
Function fUserName_AltName(pUserNameStr As String) As String
'Функция определяет имя пользователя, если у него есть альтернативное имя, т.е. на русском языке
'возвращает его, если нет то возвращает имя на латинице.
Dim AltNameOtv As Variant
AltNameOtv = Evaluate({ @Name([CN];@NameLookup([Exhaustive];"} + pUserNameStr+{";"AltFullName"))})
If Not AltNameOtv(0)="" Then
fUserName_AltName = AltNameOtv(0)
Else		
Dim user As notesname 
Set user = New NotesName(pUserNameStr) 
fUserName_AltName = Cstr(user.Common)
End If
End Function

А не проще ли так:
<!--shcode--><pre><code class='LS'>Dim s As New NotesSession
Dim UserNameAlt as NotesName
If Ubound(s.UserNameList) > 0 Then
Set UserNameAlt = s.UserNameList(1)
Else
Set UserNameAlt = s.UserNameList(0)
End If[/CODE]
 
I

I123321

у меня сделано, как в примере nvy и работает нормально
 
I

I123321

у меня появился еще вопрос. При согласовании идет запись в лог про того, кому отправлено на согласование. Поле согласовывающих Sogl_1 : @Trim (@Name([CN];Sogl_1)).
при выводе в лог беру это поле Sogl= doc.Sogl_1(0). постоянно пишет ФИО на русском языке, но CN=фио/.... как сделать чтобы просто на русском писало ФИО
 
N

nvyush

у меня появился еще вопрос. При согласовании идет запись в лог про того, кому отправлено на согласование. Поле согласовывающих Sogl_1 : @Trim (@Name([CN];Sogl_1)).
при выводе в лог беру это поле Sogl= doc.Sogl_1(0). постоянно пишет ФИО на русском языке, но CN=фио/.... как сделать чтобы просто на русском писало ФИО

Обычно @Name([CN]; поле) нормально вырезает Имя О Фамилия. При работе с именами поле д.б. Names, Authors or Readers. Если просто текст возможны глюки.
 
Мы в соцсетях:

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