P
PavelT100
Не могу разобраться как работает уже написанных код. На subforme есть Listbox под название tmpLIST в режиме Editable. На второй закладке выбрана опция "Use formula for choices". И в формуле указано dsLIST. Стоят галки "Refresh fields on keyword change" и "Refresh choises on document refresh". Больше никаких опций ни в какой закладке я не нашел. Далее еcть текстовое поле Unid в режиме "Computed for display" и в окне Value прописана формула tmpLIST. Больше никаких опций ни в какой закладке для этого поля я не нашел.
Далее есть код вызова этой subforme :
Здесь out_array это строковый массив. Строки длинные. Левая часть строк показывается в ListBox. А крание правые 32 символа каждой строки это Unid некоторых документов. При открытии формы в листбоксе позиционируется первая строка и в поле Unid отображается правая часть первой строки - это я могу понять - dialog.tmpLIST = Right$(out_array(0), 32). Но при перемещениях по листбоксу изменяется и поле Unid правильно вырезая крание правые 32 символа из соответвующих строк. Но где может быть код который это делает? Я не могу его найти. Повторив это все что нашел в своей новой форме - получил иной результат. При откытии диалога действительно в поле UNID показывается последние 32 символа первой строки, но при перемещениях по курсору в Unid показывается вся текущая строка листбокса начиная с первого левого символа.
Далее есть код вызова этой subforme :
Код:
Dim ui As New notesuiworkspace
Set dialog = db.CreateDocument
dialog.dsLIST = out_array
dialog.tmpLIST = Right$(out_array(0), 32)
listSelect$=""
If ui.DialogBox ( "HL_DLG11", True, True, False, False, False, False, "Séléction de la pharmacie : Etape 2", dialog) Then
listSelect$ = Cstr(dialog.tmpLIST(0))
Set doc=db.GetDocumentByUNID(listSelect$)
Set CliSearchSQL=doc
Else
doc.SQLStatus=1
End If