Bindung für neu erzeugte Zeilen
Bindung für neu erzeugte Zeilen
Irgendwo ist da noch ein Fehler. Vom Prinzip her ist das genau so wie ich es möchte, nur funktionierts leider noch nicht.
Gruß
Gruß
- FileAffairs
- Beiträge: 372
- Registriert: 15.09.2008, 20:14
Bindung für neu erzeugte Zeilen
Hallo Andon,
nun - der Code stellt nur das Prinzip dar. Du musst das dann dahingehend anpassen wie a) Deine Formularstruktur und b) die Datenstruktur ist.
Wenn Du Beispieldaten hast kann ich das ja für Dein Formular mal machen.
Lieben Gruß
Maruan Sahyoun // fileaffairs.de
nun - der Code stellt nur das Prinzip dar. Du musst das dann dahingehend anpassen wie a) Deine Formularstruktur und b) die Datenstruktur ist.
Wenn Du Beispieldaten hast kann ich das ja für Dein Formular mal machen.
Lieben Gruß
Maruan Sahyoun // fileaffairs.de
Bindung für neu erzeugte Zeilen
Ich habe die Beispielmerkmale CHAR_MENGE1 - 5 angelegt, um das zu testen.
Das Feld 'FS' hat die Bindung zum Merkmal CHAR_MENGE1.
Ich habe dann im Feld FS im Event initialize den Code eingefügt:
// Ermittle die Instanz des Feldes FS im Container und addiere
// 1 dazu, da die Instanzzählung mit 0 beginnt
var instanz = this.parent.instanceIndex + 1;
// Baue die Referenz auf den Knoten auf
var oNode = xfa.resolveNode("xfa.record.CHAR_MENGE"+instanz);
// lese den Wert des XML Knotens und schreibe diesen in das Feld
this.rawValue = oNode.value;
Leider gibt er immernoch jeder neuen Zeile bzw jedem neuen Feld 'FS' das Merkmal CHAR_MENGE1 mit...
Das Feld 'FS' hat die Bindung zum Merkmal CHAR_MENGE1.
Ich habe dann im Feld FS im Event initialize den Code eingefügt:
// Ermittle die Instanz des Feldes FS im Container und addiere
// 1 dazu, da die Instanzzählung mit 0 beginnt
var instanz = this.parent.instanceIndex + 1;
// Baue die Referenz auf den Knoten auf
var oNode = xfa.resolveNode("xfa.record.CHAR_MENGE"+instanz);
// lese den Wert des XML Knotens und schreibe diesen in das Feld
this.rawValue = oNode.value;
Leider gibt er immernoch jeder neuen Zeile bzw jedem neuen Feld 'FS' das Merkmal CHAR_MENGE1 mit...
- FileAffairs
- Beiträge: 372
- Registriert: 15.09.2008, 20:14
Bindung für neu erzeugte Zeilen
Hallo Andon,
hier einmal das korrekte Script für das calculate Event. Bitte darauf achten im Script Editor JavaScript einzustellen.
Da fehlt natürlich noch Fehlerbehandlung wenn z.B. gar keine Daten gefunden werden.
Lieben Gruß
Maruan Sahyoun // fileaffairs.de
hier einmal das korrekte Script für das calculate Event. Bitte darauf achten im Script Editor JavaScript einzustellen.
Code: Alles auswählen
// Ermittle die Instanz des Feldes FS im Container und addiere
// 1 dazu, da die Instanzzählung mit 0 beginnt
var instanz = this.parent.parent.instanceIndex + 1;
// Baue die Referenz auf den Knoten auf
var oNode = xfa.resolveNode("xfa.record.CHAR_MENGE"+instanz);
// lese den Wert des XML Knotens und schreibe diesen in das Feld
this.rawValue = oNode.value;
Lieben Gruß
Maruan Sahyoun // fileaffairs.de
Bindung für neu erzeugte Zeilen
Das scheint zu funktionieren, nur ich kann das Formular nun nicht mehr ausfüllen. Wenn ich im Feld FS etwas eintrage und irgendwo anders hinklicke ist der Inhalt weg. D.h. eventuell habe ich jetzt verschiedene Merkmale in jeder Zeile und kann ich keins davon befüllen...
- FileAffairs
- Beiträge: 372
- Registriert: 15.09.2008, 20:14
Bindung für neu erzeugte Zeilen
Hallo Andon,
das Beispiel ist ja auch so gedacht, das Daten aus SAP im Feld angezeigt werden. Damit ist das Feld erst einmal für eigene Dateneingaben gesperrt. Es sollte ja auch nur den Mechanismus der Datenbindung zeigen den Du nehmen kannst.
Da ich schlussendlich nicht weis was Du eigentlich genau erreichen möchtest kann es kein Beispiel sein das Deine gesamten Anforderungen abdeckt.
Schönen Gruß
Maruan Sahyoun // fileaffairs.de
das Beispiel ist ja auch so gedacht, das Daten aus SAP im Feld angezeigt werden. Damit ist das Feld erst einmal für eigene Dateneingaben gesperrt. Es sollte ja auch nur den Mechanismus der Datenbindung zeigen den Du nehmen kannst.
Da ich schlussendlich nicht weis was Du eigentlich genau erreichen möchtest kann es kein Beispiel sein das Deine gesamten Anforderungen abdeckt.
Schönen Gruß
Maruan Sahyoun // fileaffairs.de
Bindung für neu erzeugte Zeilen
Die Eingaben sollen in dem Fall in die Merkmale CHAR_MENGE1-5 geschrieben werden. D.h. wenn ich das Dokument im Reader öffnen und im Feld einen Wert eintrage soll der in CHAR_MENGE1 gespeichert werden. Das klappt bei allen Feldern die eine Bindung haben. Durch das neue Skript zeigt es mir, wenn ich es mit XML exportiere nun alle 5 Merkmale an, nur bin ich nicht mehr in der Lage die Felder zu befüllen.
Bindung für neu erzeugte Zeilen
Nochmals die Bitte mir einen kleinen Tipp zu geben. Ich muss nur noch in der Lage sein die Felder im Adobe Reader zu befüllen und sie zu speichern, denke das ist nur noch ein kurzer Weg bis zum Glück!
Vielen Dank für die Mühe.
Vielen Dank für die Mühe.
- FileAffairs
- Beiträge: 372
- Registriert: 15.09.2008, 20:14
Bindung für neu erzeugte Zeilen
Hallo Andon,
ich würde an der Stelle wirklich empfehlen die Daten nicht als CHAR_MENGE1-5 sondern als CHAR_MENGE zu deklarieren. Du sparst Dir damit einen Haufen Arbeit. Es ist ja nicht nur damit getan die Daten im Reader so abzuspeichern, sondern die Daten müssen ja konsistent bleiben. Also z.B. geladen werden können, beim löschen einer Datenzeile angepasst werden ....
Mir ist nicht klar warum das mit CHAR_MENGE1-5 so sein muss!
Ansonsten gibt es 2 Lösungsansätze
a) die Datenbindung dynamisch zu erstellen. Das ist aber nicht so ohne weiteres möglich wenn Du mit dem Reader und Reader Extensions arbeitest, da dazu das Template Modell angepasst werden muss, was aber bei Reader Extensions Teil der Signatur ist.
b) das Record Modell selbst erstellst und löschst sprich die Datenknoten die in xfa.record enthalten sind direkt manipulierst.
Lieben Gruß
Maruan Sahyoun // fileaffairs.de
ich würde an der Stelle wirklich empfehlen die Daten nicht als CHAR_MENGE1-5 sondern als CHAR_MENGE zu deklarieren. Du sparst Dir damit einen Haufen Arbeit. Es ist ja nicht nur damit getan die Daten im Reader so abzuspeichern, sondern die Daten müssen ja konsistent bleiben. Also z.B. geladen werden können, beim löschen einer Datenzeile angepasst werden ....
Mir ist nicht klar warum das mit CHAR_MENGE1-5 so sein muss!
Ansonsten gibt es 2 Lösungsansätze
a) die Datenbindung dynamisch zu erstellen. Das ist aber nicht so ohne weiteres möglich wenn Du mit dem Reader und Reader Extensions arbeitest, da dazu das Template Modell angepasst werden muss, was aber bei Reader Extensions Teil der Signatur ist.
b) das Record Modell selbst erstellst und löschst sprich die Datenknoten die in xfa.record enthalten sind direkt manipulierst.
Lieben Gruß
Maruan Sahyoun // fileaffairs.de
Bindung für neu erzeugte Zeilen
Ok, aber wenn ich nur das Merkmal CHAR_MENGE deklariere und mehrere Zeilen befülle, wird ja nur ein Wert dort eingetragen. In der XML File später wird dann nur das Merkmal mit einem Wert angezeigt. Die anderen Werte der anderen Zeile werden dann keinem Merkmal zugeordnet.