2016-08-31 81 views
0

我想創建一個新文檔,其中某些字段值將來自當前文檔。請注意,當前文檔不處於編輯模式。如何使用Javascript和Lotusscript從當前文檔創建新文檔

有當前文檔中的三個按鈕:

編輯文檔

//Validate inputs 
myForm = window.document.forms[0] 
myForm.Refresh.click() 
myForm.Edit.click() 

添加客人

//Validate inputs 
myForm = window.document.forms[0] 
myForm.AddGuest.click() 

關閉

myForm = window.document.forms[0] 
myForm.Close.click() 

一旦添加客戶按鈕被點擊,它必須能夠訪問可在另一個隱藏按鈕,「AddGuest」中發現的LotusScript代理。

@Command([ToolsRunMacro]; "AddGuests") 

一旦添加客人按鈕的點擊,就必須有一種新的形式來了,但一些字段值(姓,名等)必須保留和形式必須是可編輯的,所以我可以節省它作爲新文件(而不是迴應)。任何人都可以幫我用代理代碼來做到這一點嗎?以下是我的代理的代碼。

Sub Initialize 
Dim session As NotesSession 
Dim db As NotesDatabase 
Dim currentdoc As NotesDocument 
Dim newdoc As NotesDocument 
Dim workspace As NotesUIWorkspace 

Set session = New NotesSession 
Set workspace = New NotesUIWorkspace 
Set db = session.CurrentDatabase 
Set currentdoc = workspace.Currentdocument.document 
Set newdoc = New NotesDocument(db) 
Call newDoc.Replaceitemvalue("FirstName", "") 

Call workspace.EditDocument(newdoc,True) 
End Sub 

嘗試點擊按鈕後,什麼也沒有發生。

+1

喜新的文件,什麼是目標客戶?註釋或瀏覽器? – umeli

+0

嗨!目標客戶端是Web瀏覽器。 – Ragome

+0

好的。那麼你的代理不能使用UI類。首先保存文檔,然後在[]中打印指向它的鏈接,例如「[print https:// [fqdn]/dbid/0/documentid?editdocument]」,或者查看新的閃亮的xpages/java世界.... – umeli

回答

0

你可以做這樣的事情:

獲取當前文檔

set currentDoc = workspace.CurrentDocument.Document 

創建一個新文檔

Set newDoc = new NotesDocument(db) 
call newDoc.ReplaceItemValue("Form", "AddGuest") 

添加值FRA當前文檔到新文檔中 呼叫newDoc.Replaceitemvalue( 「FirstName」,currentDoc.FirstName) call newDoc.Replaceitemvalue(「LastName」,currentDoc.LastName)

顯示在編輯模式下

call workspace.Editdocument(newDoc, True) 
+0

正在訪問相同的表格,只是保存爲新文檔。請問代碼 調用newDoc.ReplaceItemValue(「Form」,「AddGuest」) 仍然合適嗎? – Ragome

+0

我現在可以看到您正在使用JavaScript。我從Notes客戶端或Web瀏覽器運行此代碼? –

+0

嗨。它在網絡瀏覽器中運行。 – Ragome

相關問題