Notesdocument.getitemvalue("fieldname")

dimat

Well-known member
31.07.2008
508
0
BIT
0
Редактируемое поле FieldName - DialogList с опцией Allow Multiple Values, в нем отмечены несколько значений.
На LS пытаюсь взять все значения, но берется только первое. как взять все?
 
N

nvyush

Редактируемое поле FieldName - DialogList с опцией Allow Multiple Values, в нем отмечены несколько значений.
На LS пытаюсь взять все значения, но берется только первое. как взять все?
Прежде чем задавать такие вопросы, почитайте в справке про NotesDocument, NotesItem и их свойства/методы.
 
X

xKlonx

dimat
Проверил,у меня есть поле "multiply" с опцией Allow Multiple Values
Код:
Dim w As New NotesUIWorkspace	 
Dim uidoc As NotesUIDocument		
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim mult As Variant	


Set db = session.CurrentDatabase
Set uidoc = w.CurrentDocument	
Set doc = uidoc.Document

mult =doc.GetItemValue("multiply")
переменная mult берет все значения
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
Прошу прощенья :rolleyes: , действительно по хелпу разобрался.
Сделал вот так:
Код:
dim rt as notesItem
Set rt= doc.GetFirstItem("FieldName")
print rt.Text
 
M

morpheus

dimat
делайте так как указал ув. xRomax

doc.GetItemValue("FieldName")
 
H

hosm

Я тоже, но вы ж не в курсе, человек с Variant умеет работать?
может, ему все значение в строку слепить надо и в мессаджбокс вывести :rolleyes:
 
M

morpheus

dimat
следите за мыслью

doc.GetItemValue("FieldName")(0) - ПЕРВОЕ значение
doc.GetItemValue("FieldName")(1) - ВТАРОЕ значение
...
doc.GetItemValue("FieldName")(N) - N-ное значение

сответственно GetItemValue возвращает массив, и ну ни как не только первое значение
 
X

xKlonx

dimat
Пробовал так, но почему то все равно берет только первое значение

Код:
Dim w As New NotesUIWorkspace	 
Dim uidoc As NotesUIDocument		
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim mult As Variant	

Set db = session.CurrentDatabase
Set uidoc = w.CurrentDocument	
Set doc = uidoc.Document

mult =doc.GetItemValue("multiply")	
Call doc.ReplaceItemValue("result",mult)

Вот вам доказательство что берёт все выбранные значения.Для проверки создайте ещё одно текстовое поле как у меня "result"
и для примера кнопку куда поместите вышеприведённый код
 

dimat

Well-known member
31.07.2008
508
0
BIT
0
то есть:
Код:
dim s as string
s=doc.GetItemValue("FieldName")
в s будет одно значение?

Код:
dim s as Variant
s=doc.GetItemValue("FieldName")
в s будут все значения?

Правильно я думаю?
P.S.: Эти значения я вывожу в ексель
Код:
xlWorksheet.cells(i%,4).value=
 
X

xKlonx

Variant is a special data type: variables of type Variant can hold values of any of the following data types that LotusScript recognizes, except for user-defined data types:

1) A value of any of the scalar data types that LotusScript supports -- Boolean, Byte, Integer, Long, Single, Double, Currency, String
2) A date/time value
3) An array or list
4) An object reference, that is, a pointer to an OLE Automation object or to an instance of a product-defined or user-defined class, or an object
reference to a Java Object.
5)The NULL value
6) The EMPTY value
 
Мы в соцсетях:

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