2014-11-04 83 views
2

我有一個正在爲掃描儀工作的文檔。掃描儀向我的數據庫發送一封電子郵件,並且從視圖中可以訪問該文檔並查看附件和主題。Xpages將附件從文檔發送到另一個

有沒有一種方法可以使用附件並將其放入另一個文檔?我設法使用sessionScope發送主題豐富的文本,但它不與附件一起工作。

在目標文檔中我有一個fileDownloader。

這將是最好的方式來做到這一點?

+0

如何創建目標文檔?它是否沒有源文件? – poisonedYouth 2014-11-04 12:40:01

+0

是的,它不在源文檔中。 – 2014-11-04 12:56:44

+0

你想打開目標文件還是僅僅用於保存數據? – poisonedYouth 2014-11-04 13:04:12

回答

1

使用NotesRichTextItem的appendRTItem()方法:

  • 閱讀原體項目進入NotesRichTextItem
  • 新文檔中創建一個新的NotesRichTextItem
  • 原NotesRichTextItem追加到新創建的

這也複製RichText中包含的所有附件。

實施例:

var docOrig:NotesDocument = ...; 
    var docNew:NotesDocument = database.createDocument(); 
    docNew.replaceItemValue("Form", "Test"); 
    var bodyOrig:NotesRichTextItem = docOrig.getFirstItem("Body"); 
    var bodyNew:NotesRichTextItem = docNew.createRichTextItem("Body"); 
    bodyNew.appendRTItem(bodyOrig); 
    docNew.save(); 

實施例2:

嵌入在與數據源 「文檔1」 一個XPage的按鈕相同的代碼。按鈕

  • 將創建表「測試」一個新的文檔,
  • 副本富文本項目「身體」與當前文檔「文檔1」到新文檔的所有附件和
  • 打開一個XPage「測試。 XSP」爲新創建的文檔
<xp:button 
    value="Create and open new document with a copy of current document's item Body" 
    id="button1"> 
    <xp:eventHandler 
     event="onclick" 
     submit="true" 
     refreshMode="complete"> 
     <xp:this.action> 
      <xp:openPage 
       name="Test.xsp" 
       target="editDocument"> 
       <xp:this.documentId><![CDATA[#{javascript: 
        var docOrig:NotesDocument = document1.getDocument(); 
        var docNew:NotesDocument = database.createDocument(); 
        docNew.replaceItemValue("Form", "Test"); 
        var bodyOrig:NotesRichTextItem = docOrig.getFirstItem("Body"); 
        var bodyNew:NotesRichTextItem = docNew.createRichTextItem("Body"); 
        bodyNew.appendRTItem(bodyOrig); 
        docNew.save(); 
        return docNew.getUniversalID();}]]></xp:this.documentId> 
      </xp:openPage> 
     </xp:this.action> 
    </xp:eventHandler> 
</xp:button> 

爲前提兩個例子:附件必須在當前文檔的項目‘身體’。

+0

我打開一個帶有按鈕打開頁面事件的新文檔,不需要使用'database.createDocument()'創建一個文檔,如何從上一頁保存正文並將其帶入新頁面? – 2014-11-05 11:24:23

+0

而我已經有了RichText字段。 – 2014-11-05 11:46:52

+0

您可以使用Knut的代碼來複制rtItem並保存文檔(以獲得單一的)。使用unid,您可以使用「打開頁面簡單操作」來編輯文檔 – poisonedYouth 2014-11-05 12:46:22

相關問題