Gentable
Das Gentable kann über ein "Gentable"-Objekt realtiv einfach ausgelesen und neu geschrieben werden.
var docFile = context.file;
var gentable = new Gentable(docFile);
/* Erstellt ein Array aus Zeilen-Objekten *
* Zahlen, Datumswerte und Boolsche Werte haben bereits das passende Format */
if( gentable.readFromField()===false || gentable.Result===false ){
util.log(Gentable.Log); /* Bei Fehlern kann das Log ausgegeben werden */
context.errorMessage = gentable.Error; /* Fehlermeldung in Client-Sprache */
return -1;
}
/* Beispiel um Zeilen zu iterieren */
for( var row=0; row<gentable.Rows.length; row++ ){
var net = gentable.Rows[row]["Net"]; /* Netto aus der Zeile ausgeben */
gentable.Rows[row]["Gross"] = net; /* Brutto auf den Netto-Wert setzen */
}
/* Summe aus Spaltenwerten bilden. */
var sumNet = gentable.sumLineAmounts("Net");
/* Gentable in die Datenbank-Tabelle 'Invoice_Posting_Pos' schreiben.
* Die eindeutige Zeilen ID wird zurück in die Gentable-Spalte "ID" geschrieben.
* Hierüber wird beim nächsten Aufruf ein Update ausgeführt. */
gentable.insertIntoDB();
/* Gentable-String in das Feld 'Gentable' schreiben.
* Über den Parameter kann optional direkt ein sync() auf das DocFile-Objekt ausgeführt werden. */
var syncFile = true;
gentable.createGentableStr(syncFile);
Gentable User-Exits
Beim Speichern und bei Abschluss einer Aktion werden bereits User-Exit-Funktionen zur Verfügung gestellt. Wenn in den Funktionen Positionsfelder geprüft werden sollen oder wenn Anpassungen am Gentable vorgenommen werden sollen, dann muss das Gentable erneut ausgelesen werden und nach Abschluss muss der Gentable-String erneut generiert werden und die datenDaten müssen erneut in die Datenbank geschrieben werden.
Hierfür wurden zusätzliche User-Exit Funktionen explizit für das Gentable an der Version XX.XXX hinzugefügt.