2017-03-09 4 views
0

Mit dem onclick-Ereignis eines Buttons möchte ich mehrere Dokumente speichern, aber nur das letzte wird gespeichert.SSJS zum Speichern mehrerer Dokumente

<xp:this.data> 
    <xp:dominoDocument var="document1" formName="tg"></xp:dominoDocument> 
    </xp:this.data> 

und im Onclick-Ereignis der Schaltfläche:

... 
while (re.next()) { 

     document1.replaceItemValue("TGARKD",tgarkd); 
     document1.replaceItemValue("TGKDOM",tgkdom); 
     document1.replaceItemValue("TGARGR",tgargr); 
     document1.replaceItemValue("TGDLGR",tgdlgr); 
     document1.save(); 
} 

Antwort

1

Wenn Sie mehrere Dokumente in der NSF erstellen möchten, müssen Sie Backend-Klassen verwenden müssen. Die DominoDocument-Datenquelle ist an ein einzelnes Backend-Dokument gebunden. var doc = document1.getDocument(true) einen Griff an dem (ersten) Back-End-Dokument, dann in der Schleife

var doc2 = database.createDocument(); 
doc.copyAllItems(doc2, true); 
doc2.save(true, false); 
+0

für den Datensatz speichert: 'getDocument (true)' Anrufe haben Nebenwirkungen in Kombination mit Dateianhängen - möglicherweise im gespeicherten Dokument fehlen. –

+0

Vielleicht ist eine Alternative, weil wir das Dokument unmittelbar nach dem Speichern erhalten, 'database.getDocumentByUNID()', wobei die neu gesetzte unid von DominoDocument verwendet wird. –

0

Alternativ verwenden erhalten Sie Ihre Datenquelle innerhalb einer Wiederholungssteuerung definieren könnten und binden die Felder zu, dass ein. Dann außerhalb der Wiederholung rufen Sie save(), die alle Datenquellen

Verwandte Themen