Перенос данных из одной формы в другую

Desten

Active member
18.10.2016
39
0
BIT
6
Доброго времени суток! Подскажите как реализовать такое:
Есть база "Remont", в ней форма "FormRemont". При ее открытии некоторые поля заполняются вручную. Как только все что необходимо заполнено, нужно сохранить эти данные в другую базу ("RemontNew") с последующем просмотром этих данных. . Во второй базе форма "FormRemont" идентичная первой.
Переносить видимо надо примерно подобным образом:
Код:
Sub Click(Source As Button)
Dim wsp As New NotesUIWorkspace
Dim currentUiDoc As NotesUIDocument
Dim newUiDoc As NotesUIDocument
Set currentUiDoc = wsp.CurrentDocument
Set newUiDoc = wsp.ComposeDocument("","","FormRemont")
Call newUiDoc.FieldSetText("Имя_поля", currentUiDoc.FieldGetText("Имя_поля"))
Call currentUiDoc.Save
Call currentUiDoc.Close(True)
End Sub
Но видимо где то я путаю...
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
разумеется - открыть targetdb (программно)
Код:
Dim target NotesDocument, source NotesDocument
Set source = currentUIdoc.Document
Set target=targetdb.CreateDomcument
Call source.copyAllItems(target)
Call target.ReplaceItemValue({Form},{FormRemont})
If Not target.Save(False, true) Then Error 1024,{save conflict}
Set newUiDoc=wsp.EditDocument(True, doc)
 

Desten

Active member
18.10.2016
39
0
BIT
6
разумеется - открыть targetdb (программно)
Код:
Dim target NotesDocument, source NotesDocument
Set source = currentUIdoc.Document
Set target=targetdb.CreateDomcument
Call source.copyAllItems(target)
Call target.ReplaceItemValue({Form},{FormRemont})
If Not target.Save(False, true) Then Error 1024,{save conflict}
Set newUiDoc=wsp.EditDocument(True, doc)
Эм... а можно немного поподробнее? Я В этом не особо силен ) где путь прописывать до базы 2й? И нужно ли еще что то дописывать?
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
Эм... а можно немного поподробнее? Я В этом не особо силен ) где путь прописывать до базы 2й? И нужно ли еще что то дописывать?
в хелпе читайте про открытие БД
открывать, лучше, по RID (ReplicaID), кот. (в свою очередь) хранить где-то в настроечном доке
можно (конечно) отсканить весь каталог БД на предмет совпадения с именем, но мне такой вариант не кажется оптимальным
можно нахардкодить...
пример открытия по имени Set targetDB=ses.Getdatabase(db.Server, fullname, False)
 
Мы в соцсетях:

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