Freut mich, dass sich die Mühe gelohnt hat. Nachträglich ein Feldformat zu ändern scheint mir kein Weg zum Erfolg. Schau mal in die Pattern, ob du da das richtige einstellen kannst.
Wenn alle Stricke reißen, hilft sicherlich, die Daten mit einer RegEx in JavaScript zu bürsten.
Gruß
armine
Rundung auf zwei Stellen nach dem Komma
Rundung auf zwei Stellen nach dem Komma
Man sollte erst denken, dann schreiben...
Ich hab es jetzt mal gelöst, in dem ich ein neues Textfeld eingefügt habe, Ktostand. In diesem mache ich im calculate-event ein replace, ein parseFloat und schiebe den Zahlenwert, der dabei rauskommt dann an das Feld Kontostand.
Jetzt wird der korrekte Saldo im Feld Kontostand angezeigt. Ich versuche jetzt noch, den Dispo in meinen XML-Datenstrom reinzukriegen, dann kann ich die Berechnungen ganz von den Benutzereingaben unabhängig machen.
Eine Frage hätte ich noch. Du hast mir ein wunderschönes Hinweisfenster erzeugt:
[fontsize=2][fontsize=2]
if[/fontsize][/fontsize][fontsize=2] (xfa.host.messageBox("Soll der Dispo gelöscht werden?\n\nBei \"ja[/fontsize][fontsize=2][fontsize=2]\[/fontsize][/fontsize][fontsize=2]": Löschung ist zwingend manuell in OSPlus durchzuführen!"[/fontsize][fontsize=2][fontsize=2],[/fontsize][/fontsize][fontsize=2] "Dispo löschen?"[/fontsize][fontsize=2][fontsize=2],[/fontsize][/fontsize][fontsize=2] 2[/fontsize][fontsize=2][fontsize=2],[/fontsize][/fontsize][fontsize=2] 2) [/fontsize][fontsize=2][fontsize=2]==[/fontsize][/fontsize][fontsize=2] 4) {
xfa.resolveNode("Info-Sammlung.Row7.DispoL").rawValue [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] 0 ; [/fontsize][fontsize=2][fontsize=2]// Dispo wird gelöscht[/fontsize][/fontsize]
[fontsize=2][fontsize=2]Die beiden Felder Dispo5k und DispoL sind ja "entweder oder". Wenn Dispo5k auf "ja" gestellt wird, soll DispoL automatsch auf "nein" und andersrum. Beide auf "nein" geht natürlich auch.[/fontsize][/fontsize]
[fontsize=2][fontsize=2]Aktuell poppt immer das Fenster auf und fragt nach der Löschung. Ich bestätige die mit "nein", wähle bei Dispo5k "ja" und wieder kommt das Popup.[/fontsize][/fontsize]
[fontsize=2][fontsize=2]Eleganter wäre es wohl, gleich nach beidem zu fragen, also: "Hinweis auf Löschung?" Bei "ja" DispoL auf "nein", Text generieren. Bei "nein", Frage: "Dispo löschen?..." Bei "ja" DispoL auf "ja", Dispo5k ist schon "nein", Textausgabe und anderen Betrag ausweisen. Bei "nein" DispoL auf "nein", Dispo5k ist schon auf "nein". Ende.[/fontsize][/fontsize]
[fontsize=2][fontsize=2]Was macht jetzt mehr Sinn: Zwei so schöne Popups hintereinander? Oder ganz auf sie verzichten und nur auf den beiden Feldern ein "Wenn ich 'ja', dann das andere 'nein'". So hatte ich es ja ursprünglich gemacht.[/fontsize][/fontsize]
[fontsize=2][fontsize=2]LG Nick_ko
[/fontsize][/fontsize]
Ich hab es jetzt mal gelöst, in dem ich ein neues Textfeld eingefügt habe, Ktostand. In diesem mache ich im calculate-event ein replace, ein parseFloat und schiebe den Zahlenwert, der dabei rauskommt dann an das Feld Kontostand.
Jetzt wird der korrekte Saldo im Feld Kontostand angezeigt. Ich versuche jetzt noch, den Dispo in meinen XML-Datenstrom reinzukriegen, dann kann ich die Berechnungen ganz von den Benutzereingaben unabhängig machen.
Eine Frage hätte ich noch. Du hast mir ein wunderschönes Hinweisfenster erzeugt:
[fontsize=2][fontsize=2]
if[/fontsize][/fontsize][fontsize=2] (xfa.host.messageBox("Soll der Dispo gelöscht werden?\n\nBei \"ja[/fontsize][fontsize=2][fontsize=2]\[/fontsize][/fontsize][fontsize=2]": Löschung ist zwingend manuell in OSPlus durchzuführen!"[/fontsize][fontsize=2][fontsize=2],[/fontsize][/fontsize][fontsize=2] "Dispo löschen?"[/fontsize][fontsize=2][fontsize=2],[/fontsize][/fontsize][fontsize=2] 2[/fontsize][fontsize=2][fontsize=2],[/fontsize][/fontsize][fontsize=2] 2) [/fontsize][fontsize=2][fontsize=2]==[/fontsize][/fontsize][fontsize=2] 4) {
xfa.resolveNode("Info-Sammlung.Row7.DispoL").rawValue [/fontsize][fontsize=2][fontsize=2]=[/fontsize][/fontsize][fontsize=2] 0 ; [/fontsize][fontsize=2][fontsize=2]// Dispo wird gelöscht[/fontsize][/fontsize]
[fontsize=2][fontsize=2]Die beiden Felder Dispo5k und DispoL sind ja "entweder oder". Wenn Dispo5k auf "ja" gestellt wird, soll DispoL automatsch auf "nein" und andersrum. Beide auf "nein" geht natürlich auch.[/fontsize][/fontsize]
[fontsize=2][fontsize=2]Aktuell poppt immer das Fenster auf und fragt nach der Löschung. Ich bestätige die mit "nein", wähle bei Dispo5k "ja" und wieder kommt das Popup.[/fontsize][/fontsize]
[fontsize=2][fontsize=2]Eleganter wäre es wohl, gleich nach beidem zu fragen, also: "Hinweis auf Löschung?" Bei "ja" DispoL auf "nein", Text generieren. Bei "nein", Frage: "Dispo löschen?..." Bei "ja" DispoL auf "ja", Dispo5k ist schon "nein", Textausgabe und anderen Betrag ausweisen. Bei "nein" DispoL auf "nein", Dispo5k ist schon auf "nein". Ende.[/fontsize][/fontsize]
[fontsize=2][fontsize=2]Was macht jetzt mehr Sinn: Zwei so schöne Popups hintereinander? Oder ganz auf sie verzichten und nur auf den beiden Feldern ein "Wenn ich 'ja', dann das andere 'nein'". So hatte ich es ja ursprünglich gemacht.[/fontsize][/fontsize]
[fontsize=2][fontsize=2]LG Nick_ko
[/fontsize][/fontsize]
Rundung auf zwei Stellen nach dem Komma
An dem "erst denken ..." ist was dran. Mittlerweile bin ich nämlich auch auf die Idee mit dem Import des Kontostands als Text gekommen und den will ich dann per RegEx ins Dezimalfeld holen. Nun nehme ich mal an, dass der Dispo im gleichen Zahlenformat vorliegt und dann Weg einheitlich ist. Kannst du mal das Zahlenformat nennen bzw. Beispiele geben?
Die Geschichte mit den beiden Dropdowns nehme ich mir vor.
Gruß
armine
Die Geschichte mit den beiden Dropdowns nehme ich mir vor.
Gruß
armine
Rundung auf zwei Stellen nach dem Komma
Hallo armine,
ich weiß nichtmal, ob vom XML überhaupt einen Datentyp geliefert wird. Ich glaube eher, dass der LCD/Acrobat das interpretiert. Da ein Wert z.B. im Format -1234,98 geliefert wird, kann da nur ein string bei rauskommen, weil das Komma jeden Zahlen-Datentyp ausschließt. Aber mit replace und parseFloat kann man das ja nachholen.
Ich habe am Freitag versucht, die Geschichte mit den Dropdowns zu lösen. Leider hab ich mir das komplette script damit gekillt. Ich bin noch auf der Fehlersuche. Ich häng es aber mal mit an. Einen Syntaxfehler findet ja ein anderer Programmierer meist auf Anhieb, bei der eigenen Arbeit sieht man manchmal den Wald vor lauter Bäumen nicht.
ich weiß nichtmal, ob vom XML überhaupt einen Datentyp geliefert wird. Ich glaube eher, dass der LCD/Acrobat das interpretiert. Da ein Wert z.B. im Format -1234,98 geliefert wird, kann da nur ein string bei rauskommen, weil das Komma jeden Zahlen-Datentyp ausschließt. Aber mit replace und parseFloat kann man das ja nachholen.
Ich habe am Freitag versucht, die Geschichte mit den Dropdowns zu lösen. Leider hab ich mir das komplette script damit gekillt. Ich bin noch auf der Fehlersuche. Ich häng es aber mal mit an. Einen Syntaxfehler findet ja ein anderer Programmierer meist auf Anhieb, bei der eigenen Arbeit sieht man manchmal den Wald vor lauter Bäumen nicht.

Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Rundung auf zwei Stellen nach dem Komma
Scriptfehler sind scheinbar alle behoben.
Aber wenn ich die Datei aufmache, kommt folgender Fehler:
Ungültiger Node-Typ: typefaces
Fehler in Datei C:DOKUME~1User-IDLOKALE~1Tempa_236k1e7ar365bc6ur.tmp in Zeile 2159 aufgetreten
1 Warnungen/Fehler gemeldet.
------------------------
Wenn ich die Datei als XDP speichere, kommt folgender Fehler:
Schriftdienst: Standardschriftart für diese Schrift ist Myriad Pro.
Ungültiger Festlegen-Vorgang für Eigenschaft; common hat keine Eigenschaft 'xmlns'
1 Warnungen/Fehler gemeldet.
------------------------
Wenn ich dann in der XML-Quelle nach "common" suche, komme ich hierhin:
[fontsize=2]
<[/fontsize][fontsize=2][fontsize=2]common[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]xmlns[/fontsize][/fontsize][fontsize=2]="[/fontsize][fontsize=2][fontsize=2]http://www.xfa.org/schema/xci/2.6/[/fontsize][/fontsize][fontsize=2]">
<[/fontsize][fontsize=2][fontsize=2]log[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]to[/fontsize][/fontsize][fontsize=2]>memory</[/fontsize][fontsize=2][fontsize=2]to[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]mode[/fontsize][/fontsize][fontsize=2]>overwrite</[/fontsize][fontsize=2][fontsize=2]mode[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]>C:DOKUME~1User-IDLOKALE~1Temp1e_3b7s1e7ao341124i4h.log</[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]threshold[/fontsize][/fontsize][fontsize=2]/>
</[/fontsize][fontsize=2][fontsize=2]log[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]template[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]base[/fontsize][/fontsize][fontsize=2]>Pfad zur Datei</[/fontsize][fontsize=2][fontsize=2]base[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]relevant[/fontsize][/fontsize][fontsize=2]/>
<[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]/>
</[/fontsize][fontsize=2][fontsize=2]template[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]data[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]/>
<[/fontsize][fontsize=2][fontsize=2]adjustData[/fontsize][/fontsize][fontsize=2]>1</[/fontsize][fontsize=2][fontsize=2]adjustData[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]xsl[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]/>
<[/fontsize][fontsize=2][fontsize=2]debug[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]/>
</[/fontsize][fontsize=2][fontsize=2]debug[/fontsize][/fontsize][fontsize=2]>
</[/fontsize][fontsize=2][fontsize=2]xsl[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]outputXSL[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]/>
</[/fontsize][fontsize=2][fontsize=2]outputXSL[/fontsize][/fontsize][fontsize=2]>
</[/fontsize][fontsize=2][fontsize=2]data[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]messaging[/fontsize][/fontsize][fontsize=2]/>
<[/fontsize][fontsize=2][fontsize=2]locale[/fontsize][/fontsize][fontsize=2]/>
</[/fontsize][fontsize=2][fontsize=2]common[/fontsize][/fontsize][fontsize=2]>[/fontsize]
[fontsize=2]User-ID und Pfad hab ich gelöscht, sonst haut mir die Revision auf die Finger.
[/fontsize]
[fontsize=2]Ich steh total auf dem Schlauch. Was ist das? Kann es sein, dass mir Schreibrechte auf Dateien auf dem Server fehlen (Der LCD ist auf einem Terminalserver installiert)? Oder fehlt eine Adobe-Komponente? Oder ist es was ganz anderes?[/fontsize]
[fontsize=2]LG Nick_ko
[/fontsize]
Aber wenn ich die Datei aufmache, kommt folgender Fehler:
Ungültiger Node-Typ: typefaces
Fehler in Datei C:DOKUME~1User-IDLOKALE~1Tempa_236k1e7ar365bc6ur.tmp in Zeile 2159 aufgetreten
1 Warnungen/Fehler gemeldet.
------------------------
Wenn ich die Datei als XDP speichere, kommt folgender Fehler:
Schriftdienst: Standardschriftart für diese Schrift ist Myriad Pro.
Ungültiger Festlegen-Vorgang für Eigenschaft; common hat keine Eigenschaft 'xmlns'
1 Warnungen/Fehler gemeldet.
------------------------
Wenn ich dann in der XML-Quelle nach "common" suche, komme ich hierhin:
[fontsize=2]
<[/fontsize][fontsize=2][fontsize=2]common[/fontsize][/fontsize][fontsize=2] [/fontsize][fontsize=2][fontsize=2]xmlns[/fontsize][/fontsize][fontsize=2]="[/fontsize][fontsize=2][fontsize=2]http://www.xfa.org/schema/xci/2.6/[/fontsize][/fontsize][fontsize=2]">
<[/fontsize][fontsize=2][fontsize=2]log[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]to[/fontsize][/fontsize][fontsize=2]>memory</[/fontsize][fontsize=2][fontsize=2]to[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]mode[/fontsize][/fontsize][fontsize=2]>overwrite</[/fontsize][fontsize=2][fontsize=2]mode[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]>C:DOKUME~1User-IDLOKALE~1Temp1e_3b7s1e7ao341124i4h.log</[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]threshold[/fontsize][/fontsize][fontsize=2]/>
</[/fontsize][fontsize=2][fontsize=2]log[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]template[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]base[/fontsize][/fontsize][fontsize=2]>Pfad zur Datei</[/fontsize][fontsize=2][fontsize=2]base[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]relevant[/fontsize][/fontsize][fontsize=2]/>
<[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]/>
</[/fontsize][fontsize=2][fontsize=2]template[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]data[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]/>
<[/fontsize][fontsize=2][fontsize=2]adjustData[/fontsize][/fontsize][fontsize=2]>1</[/fontsize][fontsize=2][fontsize=2]adjustData[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]xsl[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]/>
<[/fontsize][fontsize=2][fontsize=2]debug[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]/>
</[/fontsize][fontsize=2][fontsize=2]debug[/fontsize][/fontsize][fontsize=2]>
</[/fontsize][fontsize=2][fontsize=2]xsl[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]outputXSL[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]uri[/fontsize][/fontsize][fontsize=2]/>
</[/fontsize][fontsize=2][fontsize=2]outputXSL[/fontsize][/fontsize][fontsize=2]>
</[/fontsize][fontsize=2][fontsize=2]data[/fontsize][/fontsize][fontsize=2]>
<[/fontsize][fontsize=2][fontsize=2]messaging[/fontsize][/fontsize][fontsize=2]/>
<[/fontsize][fontsize=2][fontsize=2]locale[/fontsize][/fontsize][fontsize=2]/>
</[/fontsize][fontsize=2][fontsize=2]common[/fontsize][/fontsize][fontsize=2]>[/fontsize]
[fontsize=2]User-ID und Pfad hab ich gelöscht, sonst haut mir die Revision auf die Finger.

[fontsize=2]Ich steh total auf dem Schlauch. Was ist das? Kann es sein, dass mir Schreibrechte auf Dateien auf dem Server fehlen (Der LCD ist auf einem Terminalserver installiert)? Oder fehlt eine Adobe-Komponente? Oder ist es was ganz anderes?[/fontsize]
[fontsize=2]LG Nick_ko
[/fontsize]
Rundung auf zwei Stellen nach dem Komma
Hallo Nick_ko,
übers Wochenende habe ich weiter gebastelt und ein Zusammenfassung der beiden Dropdowns gefunden. Im Fall „Mahnung“ (und nur hier) ist per Klick nun eine von drei Möglichkeiten auswählbar. Ärgerlich, dass man hier per Tastatur 1, 2, oder 3 eingeben muss. Datumseingaben sind nun nämlich nur noch per „Datumsauswahl“ (hat jemand eine bessere dt. Bezeichnung für den „datepicker?) möglich. Bei den Texten wird nun übrigens zwischen dem Vorhandensein eines Dispos und „Dispo == (0 ||null)“ unterschieden.
Allgemein: Die Benutzerführung ist nun enger und bei unerwarteten Datumseingaben wird der Terminrahmen im PopUp genannt.
Bei Kenntnis der betriebseigenen Regeln und Gepflogenheiten geht’s noch enger.
Warum im Fall von „ja“ das PopUp dreimal aufgeht habe ich nicht herausgefunden. Gibt es einen Guru der das abstellen kann?
Zum Schriftproblem: In einem beliebigen Feld ist die Hausschrift zuzuweisen. Dieses Feld markieren und auf XML-Source umschalten. Da findest du den Referenzstring
<font typeface="Sparkasse Rg"
für den Font mit dem du per Suchen und Ersetzen von
<font typeface="Myriad Pro"
allem die Hausschrift überstülpst.
Für Kontonummer, -stand und den Dispo wurde die Zeile „Importzahlen“ eingefügt. Hier werden die Werte als Text importiert und via RegEx (erst verschwindet ein eventuell vorhandener Punkt zur Tausendertrennung und dann wird aus dem Komma ein Punkt – fertig ist die Zahl, wenn meine Vermutung über das Aussehen stimmt) von den entsprechenden Feldern als richtige Zahlen abgeholt. Diese Zeile ist aus Layoutgründen "hidden".
Bei Anschrift2 liegt ein Skript, das bei Stringlänge < 10 Zeichen Presence auf "hidden" setzt. Damit soll eine fehlende Anrede2 das Layout nicht verderben.
Ob’s mit den Schreibrechten auf dem Server hapert klärst du mal mit dem dafür Verantwortlichen. An fehlende Komponenten will ich nicht glauben.
Nun hoffe ich, dass ich alles erwähnt habe und wünsche dir, dass es klappt.
armine
übers Wochenende habe ich weiter gebastelt und ein Zusammenfassung der beiden Dropdowns gefunden. Im Fall „Mahnung“ (und nur hier) ist per Klick nun eine von drei Möglichkeiten auswählbar. Ärgerlich, dass man hier per Tastatur 1, 2, oder 3 eingeben muss. Datumseingaben sind nun nämlich nur noch per „Datumsauswahl“ (hat jemand eine bessere dt. Bezeichnung für den „datepicker?) möglich. Bei den Texten wird nun übrigens zwischen dem Vorhandensein eines Dispos und „Dispo == (0 ||null)“ unterschieden.
Allgemein: Die Benutzerführung ist nun enger und bei unerwarteten Datumseingaben wird der Terminrahmen im PopUp genannt.
Bei Kenntnis der betriebseigenen Regeln und Gepflogenheiten geht’s noch enger.
Warum im Fall von „ja“ das PopUp dreimal aufgeht habe ich nicht herausgefunden. Gibt es einen Guru der das abstellen kann?
Zum Schriftproblem: In einem beliebigen Feld ist die Hausschrift zuzuweisen. Dieses Feld markieren und auf XML-Source umschalten. Da findest du den Referenzstring
<font typeface="Sparkasse Rg"
für den Font mit dem du per Suchen und Ersetzen von
<font typeface="Myriad Pro"
allem die Hausschrift überstülpst.
Für Kontonummer, -stand und den Dispo wurde die Zeile „Importzahlen“ eingefügt. Hier werden die Werte als Text importiert und via RegEx (erst verschwindet ein eventuell vorhandener Punkt zur Tausendertrennung und dann wird aus dem Komma ein Punkt – fertig ist die Zahl, wenn meine Vermutung über das Aussehen stimmt) von den entsprechenden Feldern als richtige Zahlen abgeholt. Diese Zeile ist aus Layoutgründen "hidden".
Bei Anschrift2 liegt ein Skript, das bei Stringlänge < 10 Zeichen Presence auf "hidden" setzt. Damit soll eine fehlende Anrede2 das Layout nicht verderben.
Ob’s mit den Schreibrechten auf dem Server hapert klärst du mal mit dem dafür Verantwortlichen. An fehlende Komponenten will ich nicht glauben.
Nun hoffe ich, dass ich alles erwähnt habe und wünsche dir, dass es klappt.
armine
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.