Autor Thema: Mehrere Summary-Zeile aus berechnetem JS  (Gelesen 2466 mal)

Offline DummBatz

  • Frischling
  • *
  • Beiträge: 2
Mehrere Summary-Zeile aus berechnetem JS
« am: 10.08.14 - 11:07:19 »
Hallo liebes Forum,

nachdem ich schon so oft hier guten Rat gefunden habe, möchte ich heute mal direkt etwas Fragen (und ich schwöre, von nun an auch Fragen zu beantworten!).

Ich bin beim Thema XPages noch im Larvenstadium und mache gerade meine ersten Gehversuche.

Situation: Ich habe eine DataView mit einer View, in der pro Kategorie genau ein Dokument steht. Von dort lese ich mit folgenden Script (bitte als Pseudocode verstehen) weitere Docs aus, die (quasi relational) dazugehören:


var db:NotesDatabase = session.getDatabase(session.getServerName(), "projekt\\Datenbank.nsf");
var vw1:NotesView = db.getView ('View1');
var doc1:NotesDocument = null ;
var tempdoc:NotesDocument = null;
var coll1:NotesDocumentCollection = null;
var collTargetDocs:NotesDocumentCollection = null;
var retWert = "";

try {
if (rowHandle.isDocument()) {
   
   
   collTargetDocs = db.createDocumentCollection();

   var procID = rowHandle.getDocument().getItemValueString('ProzessID');
   
   coll1= vw1.getAllDocumentsByKey(procID, true);
   doc1 = coll1.getFirstDocument();

   while ( doc1 != null) {
      
      if (collTargetDocs.getDocumentdoc1 == null) {
         collTargetDocs.addDocument(doc1);
      }
      tempdoc = vw1.getNextDocument();
      doc1.recycle();
      doc1 = tempdoc;
      }
   
   return collTargetDocs;
   } else {
   return null;
}    catch(e) {
      print("Fehler in Zeile" + e);
}

Problem: Es kommen jetzt pro Zeile von rowHandle (collection var im View Binding) n Sätze in collTargetDocs zurück. Das Script funktioniert, ich bekomme aber immer nur eine Zeile zurück. Ich vermute, das Face geht stumpf über die erste View, in der immer nur ein Satz steht und liefer darum auch immer nur einen Satz zurück.

Frage: Wie bekomme ich es hin, dass ich jeden Treffer aus der collTargetDocs als summary entry behandeln kann? Ich möchte die MultiColumns in der DataView nutzen, und möchte natürlich noch drumrumformatieren und auf Basis jedes handles des Ergebnisses (also: foreach in rowHandle) nochmal interieren. Als welcher Datentyp müsste das dann sein (ich habs mit einer DocCollection versucht + NVEntryCollection + als JS-Array, der reagiert nicht drauf)?

Oder muss ich das bereits fertig formatiert zurückgeben? Hat schon mal jemand mit dem xe:ObjectData rumgespielt? Muss ich mir ein Bean bauen? Wenn ja: Wie muss ich die Daten zurückübergeben? Ich finde auch nicht so recht viel Doku; hat jemand was?

Ich hoffe, das ist halbwegs verständlich :-)  Vielen Dank für die Mühe!!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz