Хитрый выбор из справочника

  • Автор темы Автор темы allex
  • Дата начала Дата начала
Для: allex
Получаешь UNID, и используешь @DbLookup. Но может быть медленно, когда надо получить много значений.
 
Picklist-ом получаю unid и беру значение поля Names

Код:
@GetDocField(@DbColumn("";"server":"bd.nsf";"Hierarchy";A;6); "Names");
..........................................................unid__________________
| |_field_|

Но чуствую что не той дорогой иду
 
Для: allex
<!--QuoteBegin-Medevic+19:06:2007, 09:22 -->
<span class="vbquote">(Medevic @ 19:06:2007, 09:22 )</span><!--QuoteEBegin-->Получаешь UNID, и используешь @DbLookup.
[snapback]69837" rel="nofollow" target="_blank[/snapback]​
[/quote]
 
Вот что накрапал, но есть несколько впросов
Код:
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim picklist As Variant
Dim mslist As String , numlist As Variant
Dim db As NotesDatabase
Dim item As NotesItem
Dim item_c As NotesItem
Set db = New NotesDatabase ("server", "bd.nsf")
Dim cdoc As NotesDocument 
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document 

picklist = ws.PickListStrings( _
PICKLIST_CUSTOM, _
True, _
"server", _
"bd.nsf", _
"Hierarchy", _
"Справочник", _
"Выберите нужное значение",_ 
1)

Forall plist In picklist
mslist = mslist & plist & Chr(10)
Set cdoc =db.GetDocumentByUNID(plist)
Set item_c = cdoc.GetFirstItem("Names")
'Call item.CopyItemToDocument(doc, "test")
''Set item = doc.ReplaceItemValue( "test", item_c )
Set item = doc.AppendItemValue( "test", item_c )
End Forall
Messagebox mslist

End Sub

Подскажите как сделать так чтобы писались все значения из полученных cdoc, а не каждый последующий (последнее затирает предыдущеее значение)
 
<!--QuoteBegin-allex+21:06:2007, 10:50 -->
<span class="vbquote">(allex @ 21:06:2007, 10:50 )</span><!--QuoteEBegin-->Set item = doc.AppendItemValue( "test", item_c )
[snapback]70098" rel="nofollow" target="_blank[/snapback]​
[/quote]
Этим затираеться?
пользуйтесь:
Dim nItem As NotesItem
...
Call nItem.AppendToTextList( sT ) ' добавляем в поле
 
Замени PickListStrings на PickListCollection и можешь выкинуть это:
<!--QuoteBegin-allex+21:06:2007, 11:50 -->
<span class="vbquote">(allex @ 21:06:2007, 11:50 )</span><!--QuoteEBegin-->Forall plist In picklist
mslist = mslist & plist & Chr(10)
Set cdoc =db.GetDocumentByUNID(plist)
Set item_c = cdoc.GetFirstItem("Names")
'Call item.CopyItemToDocument(doc, "test")
''Set item = doc.ReplaceItemValue( "test", item_c )
Set item = doc.AppendItemValue( "test", item_c )
End Forall
[snapback]70098" rel="nofollow" target="_blank[/snapback]​
[/quote]
 
Medevic

За правильное направление в мыслях
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab