Seite 1 von 2

Wert übergeben an {Feld in Text}

Verfasst: 02.10.2010, 14:49
von Alpenfex
Hallo!
Gibt es eine Möglichkeit, den Wert eines Text-Eingabefeldes zur Laufzeit
an den Textplatzhalter (Feld in Text) zu übergeben? Livecycle stellt ja nur
Funktionen wie z.B. das Aktuelle Datum zur Verfügung.
Ich entwerfe ein Vertragsformular, in dem der Name des Auftraggebers öfters im
Text vorkommt. Der Platzhalter soll daher über ein Eingabefeld den Namen an
den betreffenden Stellen im Text übernehmen. Oder gibt es eine Alternative?
Wichtig ist, das sich der Fließtext dynamisch an die Länge des Namens anpasst.
Danke für Eure unterstützung!

Wert übergeben an {Feld in Text}

Verfasst: 03.10.2010, 12:20
von nele_sonntag
Ich würde statt der STATISCHEN Textobjekte trotzdem ein Textfeld nehmen (Layout auf Beschriftung ohne) und ins EXIT-Ereignis des auszufüllenden Feldes folgenden Code hinterlegen:

Code: Alles auswählen

//Feldwert in statischen Text eingebunden mit Zeilenumbruch
PfadFeld1.rawValue = "Heute morgen hat" + Pfad_zum_Feld_was_übernommen_werden_soll.rawValue + "wieder mal verschlafen.nAber das ist nicht schlimm.";

//Feldwert in ein anderes Feld übernommen, könnte man auch mit Bindung GLOBAL realisieren
PfadFeld2.rawValue.rawValue = Pfad_zum_Feld_was_übernommen_werden_soll.rawValue;
Das PDF als dynamisch abspeichern, die Felder bei Layout auf Höhe anpassen und mehrzeilig erlauben, dann das Seiten-Teilformular auf Textfluss stellen.

LG Mandy

Wert übergeben an {Feld in Text}

Verfasst: 03.10.2010, 19:12
von Alpenfex
Hallo, Mandy!
Danke für Deine Antwort. Es ist also offenbar wirklich so, dass "Feld in Fließtext" eine
interne Adobe-Funktion ist und kein Objekt, das über JS oder FC angesprochen
werden kann. Ich bin insofern verwundert, da mein Vorhaben ja nicht gerade so
ungewöhnlich ist. Denn umgekehrt würde dies bedeuten, dass Eingabefelder nur
am Ende eines statischen textes stehen können, da sie sonst überlappen.
Deine aufgezeigte Lösung ist mir bekannt, aber ich habe insgeheim auf eine einfachere bzw. sauberere Lösung gehofft.
"Feld in Fließtext" erzeugt ein berechnetes Feld (standardmäßig auf hidden eingestellt), dass die jeweiligen Werte übernimmt. Es übernimmt auch Werte aus
benutzerdefinierten Feldern, nur die Übergabe an den Platzhalter funktioniert hier nicht, da offensichtlich das Ereignisskript an dieser Stelle bereits umgesetzt worden ist und nicht neu iniziiert werden kann.
Ich habe noch einen Plan B parat, nämlich ein Formular mit allen erforderlichen
Eingaben, deren Werte dann mittels eine Schaltfläche an ein zweites Formular übergeben werden (die Schaltfläche öffnet das zweite Formular). Von der Logik her
müsste dann auch die Wertübergabe für das "Feld in Fließtext" klappen.
Das werde ich mal probieren....
Danke für Deine Hilfe!
Oliver 

Wert übergeben an {Feld in Text}

Verfasst: 03.10.2010, 20:20
von nele_sonntag
Hallo Oliver,

ich glaub, ich verstehe Deine Anforderung nicht so ganz. :(
Was stört Dich jetzt an dieser Umsetzung?
Und wieso sagst Du "....Denn umgekehrt würde dies bedeuten, dass Eingabefelder nur am Ende eines statischen textes stehen können, da sie sonst überlappen..." ??

Wieso nur am Ende und wieso überlappend?

Bei einer Adobe-Vorführung hatte mal jemand etwas mit Feld in Fließtext gezeigt, habe ich nur nie verwendet. Vorteil?

Hilft Dir das vlt. weiter?

http://help.adobe.com/de_DE/livecycle/9.0/designerHelp/index.htm?content=UsingSpecialObjects_3.html

unten: http://help.adobe.com/de_DE/livecycle/9.0/designerHelp/index.htm?content=001537.html

mittig: http://help.adobe.com/de_DE/livecycle/9.0/designerHelp/index.htm?content=text_task_1.html

Ansonsten noch mal bei den Profis anfragen..fileaffairs, walde...

Viel Erfolg,
lG Mandy

Wert übergeben an {Feld in Text}

Verfasst: 03.10.2010, 20:43
von nele_sonntag
Oh, ich glaub, ich hab's.

Text in Dein statisches Textfeld schreiben, Cursor an der Stelle positionieren, wo Dein schwebendes TF hin soll. Evtl. noch TF in die gewünschte Breite bringen und bei Layout Höhe anpassen aktivieren.

Dem Textfeld im Fließtext den gleichen Namen geben, wie dem Eingabefeld, Bindung auf global und er übernimmt's.

Ich hoffe, das war es, was Du meinst?

LG Mandy

Wert übergeben an {Feld in Text}

Verfasst: 04.10.2010, 17:21
von Alpenfex
Hallo, Mandy!

Genau das habe ich gesucht und es hätte mich doch gewundert, wenn es nicht
einfacher ginge als zuvor angenommen. Offenbar hat Dich die Sache nicht in
Ruhe gelassen, danke jedenfalls, dass Du Dir dafür Zeit genommen hast.
Das ist wohl die einfachste Lösung! :):):)
LG
Oliver


Wert übergeben an {Feld in Text}

Verfasst: 04.10.2010, 20:19
von nele_sonntag
Hallo Oliver,

nee, es hat mich tatsächlich nicht in Ruhe gelassen :-)) Manchmal bin ich ein wenig ehrgeizig. Lern so ja auch einiges hinzu.

Außerdem hatte ich auch einige Briefgeneratoren mit meinem ersten Ansatz realisiert und gar nicht an diese Möglichkeit mehr gedacht. Allerdings ist bei mir die Maßgabe, dass man den fertigen Brief für alle Fälle auch noch editieren können muss. Für mich also weiterhin nicht Fließtext :-) Zumal in der Hilfe stand, dass dies nicht über mehrere Seiten realisierbar ist.

Für den Serienbrief soll das ja wohl ein guter Ansatz sein. Das bräuchte ich und muss für mich mal knobeln. Datenanbindung hat bis jetzt nie funktioniert bei mir.

Für was benutzt Du diese Lösung? Vielleicht fällt mir dann an, wozu ich es gebrauchen könnte?

LG Mandy

Wert übergeben an {Feld in Text}

Verfasst: 06.10.2010, 19:36
von Alpenfex
Hallo, Mandy!
Ich habe mehrere Verträge und diverse Vereinbarungen, in denen ich das nutzen möchte. So gibt es z.B. bei einem Dienstleistungsvertrag einen Auftraggeber (in Folge
üblicherweise "AG" genannt und einen Auftragnehmer, in Folge üblicherweise "AN"
genannt. Im Fall des Auftragnehmers möchte ich den tatsächlichen Firmennamen statt
"AN" verwenden, da das meiner Meinung nach persönlicher klingt und den "Massenvertrag" gewissermassen personifiziert. Der eigentliche Vertrags- bzw.
Paragraphentext bleibt immer gleich und ich brauche den AN-Namen nur an einer
Stelle eingeben. So ist zumindest der Plan. Wenn Du schreibst, "zumal in der Hilfe
stand, dass dies nicht über mehrere Seiten realisierbar ist
", müsste ich da noch tüfteln.
Aber das Problem tritt ja schon bei einer simplen Briefanrede auf:

Sehr VarAnrede Vartitel VarVorname VarNachname !

In Adobe sind statischer Text und Eingabefelder ja zwei völlig voneinander
unabhängige Objekte. Der Beginn von VarAnrede ist ja klar definiert (1 Leerzeichen nach "Sehr"). Aber wie setzt Du nun das Rufzeichen am Satzende? Das müsste ja je nach Zeichenlänge der vier Variablen dynamisch mitwachsen. Das habe ich bisher nicht bewerkstelligen können.
Liebe Grüsse nach Frankfurt,
Oliver

Wert übergeben an {Feld in Text}

Verfasst: 07.10.2010, 14:06
von nele_sonntag
Naja, zumindest schreibt dies Adobe:
http://help.adobe.com/de_DE/livecycle/9.0/designerHelp/index.htm?content=text_task_1.html (mittig)

Hinweis: Beachten Sie beim Zusammenführen schwebender Felder mit Daten, dass diese nicht über mehrere Seiten hinweg angezeigt werden können.

Fraglich für mich wäre, ob man das Eintragefeld auf die Masterseite setzt (nur am Bildschirm sichtbar, Bindung global) Vielleicht gehts dann.

Ist ja für einen Vertrag dann nicht wirklich geschickt, außer Du schreibst mit Schriftgröße 5, dann passt's wohl meist auf eine.

Ich finde trotzdem meine erste Variante nicht so dramatisch. Es ist zwar etwas mehr Schreibarbeit, aber dann nutzt Du es doch 100fach und musst nie mehr ran.

Nun ja, Dein Leerstellenproblem löst Du ganz einfach. Da wo Du Leerstellen (hie rmit Underscore dargestellt haben möchtest, fügst Du sie ein.

Code: Alles auswählen

Sehr_varAnrede_varTitel_varVorname_varNachname,
Und Ausrufezeichen genauso:

Code: Alles auswählen

Herzlichen Glückwunsch_varVorname!
LG Mandy

Wert übergeben an {Feld in Text}

Verfasst: 07.10.2010, 18:04
von Alpenfex
Ööhh, hab mich wohl falsch ausgedrückt ;)

statischer text eingabefeld1 eingabefeld2 eingabefeld3 statischer text
(wobei alle eingabefelder berechnet sind und die Werte aus der Eingabemaske
übernehmen)

Das geht nicht, weil statischer Text und Eingabefeld 2 unabhängige Objekte sind.
Wäre die Zeichenkette des Wertes in Eingabefeld3 zu lange, würde sie den
rechten statischen Text "überlappen" bzw. überschreiben...

Wie auch immer, die Lösung passt schon so!
Aber ein Kaliber wie Adobe könnte ja standardmäßig auch ein Steuerelement
"Placeholder" haben, dass wie ein normales Eingabefeld berechnet bzw. per
Skript angesprochen werden kann und sich einfach in den Fliesstext einfügt.
Die Funktion vermisse ich einfach, denn es lassen sich ja weit komplexere Dinge
mit Acrobat und Livecycle realisieren. Andererseit denke ich mir, wozu braucht man dann noch ein User-Forum?
Nochmal besten Dank für Deine geistige Unterstützung und vielleicht trifft man
sich hier wieder einmal!
LG
Oliver