Drucken übers Menü

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
schulzenman
Beiträge: 17
Registriert: 01.09.2008, 12:45

Drucken übers Menü

Beitrag von schulzenman » 04.11.2008, 19:35

Hallo Leute,

1. angeblich soll es ja nicht möglich sein das Drucken übers Adobe Reader oder Internet Browser Menü abzubrechen. Damit habe ich mich ja nun auch mittlerweile abgefunden. Es ist aber möglich, eine durch Java Script durchgeführte Pflichtfeldprüfung beim klicken des Druckbuttons (nicht Schaltfläche im Formular) durchlaufen zu lassen um dann durch eine dementsprechende Fehlermeldung auf einen Abbruch des Druckes hinzuweisen.
Das Script zur Pflichtfeldprüfung habe ich schon. Aber wo kommt es hin? Im XML Code? Mir würde auch reichen wenn beim Drucken über Menü eingeblendet wird: "Bitte benutzen Sie die Drucken-Schalfläche im Formular". Denn dort habe ich mein Script zur Pflichtfeldprüfung erfolgreich hinterlegt.

2. Das Script würde ich gerne auf eine aus der LCD Bibliothek vorgegeben E-Mail Senden Schaltfläche legen. Nur steht am Ende des Scriptes folgendes:

Code: Alles auswählen

else {
    xfa.host.print(1, "0", (xfa.host.numPages -1).toString(), 0, 1, 0, 0, 0);
}
das muß ersetzt werden mit welcher Funktion?
Wichtig ist, das die Option "als PDF senden" erhalten bleibt. Es soll nicht als XML gesendet werden.

Ich bitte Euch um Hilfe.

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

Drucken übers Menü

Beitrag von FileAffairs » 06.11.2008, 09:32

Hallo Schulzenmann,

es gibt eine Möglichkeit das Drucken zu unterdrücken, wenn die Felder nicht richtig validieren. Das erfordert jedoch eine Anpassung des XML, da die entsprechende Einstellung im Designer nicht vorhanden ist. Details findest Du unter http://forms.stefcameron.com/2008/04/13 ... acrobat-8/

Wenn Du einfach nur eine Meldung beim Drucken ausgeben möchtest, so kommt der Code in das prePrint Event, am besten auf Formularebene.

Möchtest Du eine Schaltfläche haben die nur dann druckt, wenn auch alle Eingaben korrekt sind, so kannst Du das so machen, dass a) eine Schaltfläche existiert, die die Prüfung macht und dann - wenn die Prüfung erfolgreich ist - automatisch eine verborgene Schaltfläche drücken die den eigentlichen Druck auslöst (executeEvent Methode).

Gruß
FileAffairs



schulzenman
Beiträge: 17
Registriert: 01.09.2008, 12:45

Drucken übers Menü

Beitrag von schulzenman » 07.11.2008, 13:50

Die Lösung:

zu 1. Wie Fileaffairs es beschrieben hat kommt der Code in das prePrint Event auf Formularebene. Für die die es nicht wissen, die Formularebene wählt man links über die Hirarchie an.

zu 2. um eine Schaltfläche mit einem Script zu belegen, dass der Ausdruck des Formulars mit angehängter PDF möglich ist, benutzt man:

Code: Alles auswählen

var myDoc = event.target;
myDoc.mailDoc(true, "mail@mail.de", "", "", "Betreff", "hier kommt der Text rein");
Kommt eine Feldprüfung hinzu sieht das so aus: (gekürztes Script)

Code: Alles auswählen

var fehler = false;
var fehler_text = "";
var myDoc = event.target;
if ( Formular1.Teilformular1.OF_beschaeftigung.rawValue == "") {
    fehler = true;
    fehler_text = fehler_text + "Bitte Beschäftigungsverhältnis auswählen!n";
}

// pruefe Teilformulare in Abhaengigkeit vom Inhalt des Optionsfeldes 1 
if( Formular1.Teilformular1.OF_beschaeftigung.rawValue == 1) {
    if( Formular1.Teilformular1.Teilformular1_1.txf_geburtstag.rawValue == null) {
        fehler = true;
        fehler_text = fehler_text + "Geburtstag fehlt!n";
    }
}

if ( fehler == true) {
    app.alert( "Achtung! Sie haben nicht alle Felder ausgefüllt.nn" + fehler_text);
} else {
    myDoc.mailDoc(true, "mail@mail.de", "", "", "Betreff", "Hier kommt der Text rein");
}
 

Antworten