Wert eines Dezimalfeldes in einem verketteten Text ausgeben

Grundsätzliche Themen zur Bedienung, Erstellung von Formularen, Datenbankanbindung und Beispiele ...
Antworten
tom1963
Beiträge: 7
Registriert: 25.01.2014, 14:47

Wert eines Dezimalfeldes in einem verketteten Text ausgeben

Beitrag von tom1963 » 01.02.2014, 13:18

Hallo zusammen,

ich hab ein Dezimalfeld und möchte wenn der Wert größer 0 ist den Wert in einer Zeichenfolge ausgeben. Ich blende den Text nur ein, wenn der Wert größer null ist. Das funktioniert auch.

Was nicht funktioniert ist, dass mir der Zahlenwert ausgegeben wird. Ausgegeben wird nur immer "null", egal wie groß der eingegebene Dezimalwert ist.

Rabattvereinbarung.rawValue = "Für dasObbjekt  erhalten Sie zusätzlich\neinen Bonus von " + Formular1.Header.Rabatt.rawValue +"%."

Vielen Dank für eure Hilfe

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Wert eines Dezimalfeldes in einem verketteten Text ausgeben

Beitrag von nele_sonntag » 01.02.2014, 13:56

Hallo Tom,

wie auch gestern bei deiner anderen Frage geschrieben...es ist immer sinnvoll Dein PDF hochzuladen,
  1. denn dan kann man erstens am "lebenden Objekt" arbeiten und Dir genau erklären, wo Dein Fehler liegt.
  2. muss keiner selbst erst eine Datei erstellen, was unter Umständen (nicht so in diesem Fall) auch Zeit kostet, in der man schon anderen helfen könnte. :)
Also keine Ahnung, was du falsch gemacht hast, gehen tut es im exit-Event des Dezimalfeldes so:

Code: Alles auswählen

/*
Bedeutet: Wenn das DF ungleich null, also befüllt ist, dann schreibe in  das Textfeld diesen verketteten String. "Statischer Text" + Eingabe aus DF +  "statischer Text"
*/

if(this.rawValue != null){
    Textfeld1.rawValue = "nknvkysinviy " + this.rawValue + " ihihilkhik."
}
LG Mandy

Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

tom1963
Beiträge: 7
Registriert: 25.01.2014, 14:47

Wert eines Dezimalfeldes in einem verketteten Text ausgeben

Beitrag von tom1963 » 01.02.2014, 15:07

Hallo Mandy,

vielen Dank für die Antwort. Hat super geklappt, ich hab immer im Zielfeld als initialize
den Wert ausgehend vom Dezimalfeld geschrieben und das hat nicht funktioniert.

Zum Hochladen der PDF - es stehen einige Firmeninterne Daten im PDF, das wollte ich nicht hochladen. Nächstes Mal mach ich eine extra Beispieldatei.

Nochmals vielen Dank und ein schönes Wochenende

Liebe Güße Tom

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Wert eines Dezimalfeldes in einem verketteten Text ausgeben

Beitrag von nele_sonntag » 01.02.2014, 17:42

Hallo Tom,

dann solltest Du Dir in jedem Fall einmal bei F1 (Hilfedatei) bei Suchen "prozessereignisse" eingeben und Dir das Schaubild und ganz unten Informationen zu den zugehörigen Prozessen anschauen.

Das initialize-Event wird nur ein einziges Mal ausgeführt, nämlich zu Anfang, wenn das XDP (Layout) mit den Daten quasi verschmolzen wird.

Zu diesem Zeitpunkt (Siehst Du iÜ, wenn Du Dir eine Message ausgeben lässt im initialize des Dezimalfeldes.)

Code: Alles auswählen

app.alert(this.rawValue);
ist es halt einfach null, weil noch keine Eingabe getätigt wurde. Und danach findest das initialize nie mehr statt, außer Du rufst es explizt per Skript noch einmal auf.

Wenn etwas nicht erwartungsgemäß funktioniert, sollte man einfach schauen wieso...und das gelingt mit app.alert am besten. Du siehst zum einen, wann der Alert kommt (also das jeweilige Event ausgeführt wird) und ob Dein Feld den erwarteten Wert liefert. So hättest Du zum Beispiel hier gemerkt, dass nachdem Du den Wert eingegeben hast, kein Alert angezeigt wird.

Zur besseren Übersicht, kannst Du Deinen Alter-Aufruf um das Event ergänzen, damit Du weißt, zu welchem Alert denn das Pop-Up-Fenster gehört.

Code: Alles auswählen

app.alert("Wert im Initialize: " + this.rawValue);
Also musst Du in einem nächsten Schritt überlegen, zu welchem Zeitpunkt Dein DF befüllt hast? Und kommst somit bspw. zum exit-Event des DFs.

Hoffe, das hilft Dir ein bisschen weiter.

LG Mandy


Antworten