Вернуть данные из вызванной формы в исходную

  • Автор темы Xel
  • Дата начала
X
#1
Доброго времени суток.
Только начинаю разрабатывать приложения под Lotus Notes/Domino. Есть такая задача:
Есть форма для добавления ордера. На ней есть поля для заполнения реквизитов организации.
Есть форма для добавления организации.
Должна быть возможность вызова справочника организаций для добавления в него новой организации и ввода добавленных реквизитов в ордер из справочника организаций.​

Мысль крутится вокруг того, чтобы как-нибудь передать uidoc ордера форме добавления организации, но как это сделать или вообще-то как-то по другому лучше реализовать...
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 601
277
#2
@Picklist, @DbLookup, и диалог тип поля вам в руки...
и алиасы ключей через пайп, в списках, типа:
Название | ключ

также практикуются @DbColumn(..., columnName) + "|" + @DbColumn(..., columnKey)
тоесть сразу списки вытаскиваем из вьюшек с ключами
по ключу попавшему в поле - делаем @DbLookup в вычисляемых полях дока (формулу вставляем)

юнид можно передавать, но это не ваш случай :blink:
DialogBox метод и так могет апдейтить поля
а еще есть в форме - наследовать значения из дока...
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
1
#3
еще плюс notesuiworkspace.PickListCollection будет полезным изучить, я думаю
 
X
#4
PickList'ы и иже с ними это, конечно, все замечательно, но немного не то, что нужно.

Попробую объяснить еще раз.
Человек заполняет форму, хочет выбрать из справочника (пусть даже при помощи PickList'а) организацию. Но организацию он там не обнаруживает, и поэтому ему нужно добавить новую организацию. Он жмет на кнопку (пусть будет Action), после чего перед ним вылазит форма для добавления новой организации, и после того, как он сохранит эту организацию, заполненные данные будут внесены на форму ордера.

Что-то похожее может DialogBox, но смущает "Открывает в модальном диалоговом окне текущий документ по
указанной форме "форма"." Т.е. новую организацию он в базу не добавит.
 
13.03.2009
625
1
#5
Внимательнее курИте хелп:

Syntax
flag = notesUIWorkspace.DialogBox( form$ , [autoHorzFit] , [autoVertFit] , [noCancel] , [noNewFields] , [noFieldUpdate] , [readOnly] , [title$] , [notesDocument] , [sizeToTable] , [noOkCancel] , [okCancelAtBottom] )

notesDocument
NotesDocument. Optional. A document to be opened instead of the current document.

Т.о.:
Dim doc As New NotesDocument( db )
if ws.DialogBox( ........ , doc , ...) then
......
doc.save( ... )
end if