stormforce
New member
Hallo zusammen
Nach Monaten bin ich nun um ein Programm reicher und habe die Möglichkeit PDF Formulare selber zu erstellen.
Dabei habe ich am Ende des Dokumentes einen Button, der einen JS Programm Code enthält, welcher aber leider nicht richtig funktioniert.
bei der Angehängten PDF Datei ist es der grosse Button auf der erste Seite.
Folgende Ausgangslage:
Ich habe ein PDF File erzeugt, welches Ihr im Anhang findet.
Anhang anzeigen Service report 4 single function.pdf
dies dient nur zum Test, birgt aber alle nötige Voraussetzungen für einen erfolgreichen Test.
1. Ziel:
alle 3 Seiten als Formular unter irgendeinem Pfad abspeichert. (funktioniert einwandfrei)
2. Ziel:
Erste Seite vom Dokument extrahieren und weiterverarbeiten. (funktioniert einzel)
3. Ziel:
die Felder auf der extrahierte Seite auf readonly schalten. (funktioniert einzel)
4. Ziel:
Mail an CustomerMail mit vorgefertigtem Text im Betreff und dem Text.
zusätzlich das 1 seitige extrahierte,, schreibgeschützte Dokument als Anhang. (Mail funktioniert einwandfrei, allerdings ist der Anhang nie schreibgeschützt und 1-seitig.
Ich habe knapp 8h damit verbracht Möglichkeiten zu suchen, wie es funktionieren könnte, und vermutlich irgendwie mit variablen, die abgespeichert werden und dann wieder abgerufen.
leider konnte ich aber nicht mal 2 der 4 Ziele miteinander verbinden. Ich vermute es liegt an dem this.xxx nur bin ich kein geborender Programmieren und dies sind meine ersten Gehversuche in JS.
Möglichkeiten sind alle offen, sofern alles über einen Button läuft.
Das einseitige, nicht editierbare Dokument kann auch irgendwo gespeichert werden.
folgend seht Ihr noch denn Quellcode, denn ich bereits geschrieben habe.
natürlich habe ich alles ohne die Bemerkungszeichen verwendet.
Ich wäre froh, wenn mir jemand weiterhelfen könnte, da ich mit meinem Latein ziemlich am Ende bin, und auch niemanden gefunden habe der mit weiterhelfen kann.
Besten Dank und freundliche Grüsse
Stefan Lüdi
Nach Monaten bin ich nun um ein Programm reicher und habe die Möglichkeit PDF Formulare selber zu erstellen.
Dabei habe ich am Ende des Dokumentes einen Button, der einen JS Programm Code enthält, welcher aber leider nicht richtig funktioniert.
bei der Angehängten PDF Datei ist es der grosse Button auf der erste Seite.
Folgende Ausgangslage:
Ich habe ein PDF File erzeugt, welches Ihr im Anhang findet.
Anhang anzeigen Service report 4 single function.pdf
dies dient nur zum Test, birgt aber alle nötige Voraussetzungen für einen erfolgreichen Test.
1. Ziel:
alle 3 Seiten als Formular unter irgendeinem Pfad abspeichert. (funktioniert einwandfrei)
Code:
this.saveAs("/f/Firma/Allgemeines/Service Rapport/TestReport/" + this.getField("AuftragsNr").value + ".pdf");
Erste Seite vom Dokument extrahieren und weiterverarbeiten. (funktioniert einzel)
Code:
this.extractPages({
nStart: 0,
nEnd: 0,
cPath: "/f/Firma/Allgemeines/Service Rapport/PDFKunde/" + this.getField("MaschineNr").value + ".pdf"
});
3. Ziel:
die Felder auf der extrahierte Seite auf readonly schalten. (funktioniert einzel)
Code:
for (var i=0; i<this.numFields; i++) {
var f = this.getField(this.getNthFieldName(i));
if (f==null) continue;
f.readonly = true;
}
4. Ziel:
Mail an CustomerMail mit vorgefertigtem Text im Betreff und dem Text.
zusätzlich das 1 seitige extrahierte,, schreibgeschützte Dokument als Anhang. (Mail funktioniert einwandfrei, allerdings ist der Anhang nie schreibgeschützt und 1-seitig.
Code:
try
{
var myDoc = event.target;
var cToAddr = this.getField("CustomerMail").value;
var cSubLine = "Service Report of Intervention at " + this.getField("MaschineType").value + "-" + this.getField("MaschineNr").value ;
var cBody = "Guten Tag" + "\n";
cBody += "Im Anhang erhalten Sie den Raport vom folgenden Einsatz.\n\n";
cBody += "Auftragsnummer: " + this.getField("AuftragsNr").value + "\n";
cBody += "Maschine: " + this.getField("MaschineType").value + "\n";
cBody += "Seriennummer: " + this.getField("MaschineNr").value + "\n";
cBody += "Techniker: " + this.getField("Techniker").value + "\n\n";
cBody += "Bei Fragen sind wir gerne für Sie da.\n";
this.mailDoc({bUI:false, cTo:cToAddr, cCc:"", cSubject:cSubLine, cMsg:cBody});
} catch(e){app.alert(e)}
Ich habe knapp 8h damit verbracht Möglichkeiten zu suchen, wie es funktionieren könnte, und vermutlich irgendwie mit variablen, die abgespeichert werden und dann wieder abgerufen.
leider konnte ich aber nicht mal 2 der 4 Ziele miteinander verbinden. Ich vermute es liegt an dem this.xxx nur bin ich kein geborender Programmieren und dies sind meine ersten Gehversuche in JS.
Möglichkeiten sind alle offen, sofern alles über einen Button läuft.
Das einseitige, nicht editierbare Dokument kann auch irgendwo gespeichert werden.
folgend seht Ihr noch denn Quellcode, denn ich bereits geschrieben habe.
Code:
1//this.saveAs("/f/Firma/Allgemeines/Service Rapport/TestReport/" + this.getField("AuftragsNr").value + ".pdf");
2//this.extractPages({
//nStart: 0,
//nEnd: 0,
//cPath: "/f/Hapa/Allgemeines/Service Rapport/PDFKunde/" + this.getField("MaschineNr").value + ".pdf"
//});
3//for (var i=0; i<this.numFields; i++) {
// var f = this.getField(this.getNthFieldName(i));
// if (f==null) continue;
// f.readonly = true;
//}
4//try
//{
// var myDoc = event.target;
// var cToAddr = this.getField("CustomerMail").value;
// var cSubLine = "Service Report of Intervention at " + this.getField("MaschineType").value + "-" + this.getField("MaschineNr").value ;
// var cBody = "Guten Tag" + "\n";
// cBody += "Im Anhang erhalten Sie den Raport vom folgenden Einsatz.\n\n";
// cBody += "Auftragsnummer: " + this.getField("AuftragsNr").value + "\n";
// cBody += "Maschine: " + this.getField("MaschineType").value + "\n";
// cBody += "Seriennummer: " + this.getField("MaschineNr").value + "\n";
// cBody += "Techniker: " + this.getField("Techniker").value + "\n\n";
// cBody += "Bei Fragen sind wir gerne für Sie da.\n";
// this.mailDoc({bUI:false, cTo:cToAddr, cCc:"", cSubject:cSubLine, cMsg:cBody});
//} catch(e){app.alert(e)}
natürlich habe ich alles ohne die Bemerkungszeichen verwendet.
Ich wäre froh, wenn mir jemand weiterhelfen könnte, da ich mit meinem Latein ziemlich am Ende bin, und auch niemanden gefunden habe der mit weiterhelfen kann.
Besten Dank und freundliche Grüsse
Stefan Lüdi
Zuletzt bearbeitet: