In der Palette „Objekt“ können Sie auf der Registerkarte „Ausführen“ eine Datenverbindung für die Schaltfläche auswählen und festlegen, ob die entsprechende Verarbeitung auf dem Client-Computer, dem Server oder beiden ausgeführt werden soll. Die Datenverbindung muss Zugriff auf die Benutzerschnittstelle eines Webdienstes oder auf einen OLEDB-Datenbank-Server haben, der entweder Daten während der Laufzeit an das Formular zurücksendet oder an anderer Stelle eine Aktion ausführt.
Nachdem Sie die Datenquelle angegeben haben (siehe Arbeiten mit Datenquellen), können Sie festlegen, welcher Vorgang oder welche Abfrage ausgeführt werden soll. Wird während der Laufzeit auf die Schaltfläche geklickt, dann wird die Verarbeitung so beendet, wie durch die Operation oder Abfrage definiert ist.
Zurückgesendete Daten können mit dem Formular zusammengeführt werden, so dass nur solche Daten überschrieben werden, die bestehenden Objekten zugewiesen sind. Die Struktur des Formulars wird dabei nicht aktualisiert. Alternativ können Sie auch angeben, dass die Struktur des Formulars anhand der zurückgesendeten XML-Daten aktualisiert werden soll. In diesem Fall wird die Formularstruktur aktualisiert und die zurückgesendeten Daten werden zusammengeführt, sobald die Verarbeitung abgeschlossen ist.
Um die Verarbeitungsoptionen für eine Schaltfläche zu definieren, müssen Sie zunächst die gewünschte Schaltfläche auswählen. Die Verarbeitungsoptionen werden in der Palette „Objekt“ auf der Registerkarte „Ausführen“ festgelegt. Damit die Registerkarte „Ausführen“ angezeigt wird, müssen Sie auf der Registerkarte „Feld“ im Bereich „Kontrolltyp“ die Option „Ausführen“ auswählen.
So führen Sie eine Webdienst-Operation oder eine Datenbankabfrage mit Hilfe einer Schaltfläche ausMit dem Schaltflächentyp „Ausführen“ können Sie eine Verarbeitungsanforderung für einen Webdienst ausführen. Ein Webdienst verarbeitet an ihn gesendete Operationen, um Eingangs- und Ausgangsinformationen im Formular zu definieren.
Sie fügen eine Verbindung zum Webdienst hinzu und erstellen oder binden dann Felder an die Anfrage- und Antwortmeldungen. Die gebundenen Felder können Eingangsdaten zum Senden zu dem Dienst generieren oder eine Nachricht von dem Dienst empfangen. Zum Erstellen der Anforderungsmeldung können mehrere Felder verwendet werden und die Antwortmeldung kann mehrere Felder füllen. Um die Operation zu verarbeiten, können Sie eine Schaltfläche zum Ausführen verwenden oder ein Skript schreiben. Beispielsweise können Sie einen Webdienst verwenden, um einen Zinssatz, einen Wechselkurs oder einen Aktienwert abzurufen.
Fügen Sie dem Formularentwurf eine Schaltfläche hinzu. Siehe So fügen Sie einem Formularentwurf Objekte hinzu.
Klicken Sie in der Palette „Objekt“ auf die Registerkarte „Feld“.
Wählen Sie im Bereich „Kontrolltyp“ die Option „Ausführen“ aus. Entsprechend den Einstellungen auf der Registerkarte „Ausführen“ wird eine Webdienst-Operation oder eine Datenbankabfrage ausgeführt.
Klicken Sie auf die Registerkarte „Ausführen“ und wählen Sie in der Liste „Verbindung“ die Option „Neue Datenverbindung“ aus.
Aktivieren Sie „WSDL-Datei“ und klicken Sie auf „Weiter“.
Geben Sie im Feld „WSDL-Datei“ die URL-Adresse des WSDL-Dokuments ein, oder klicken Sie auf „Durchsuchen“, um das Dokument auf der Festplatte Ihres Computers zu suchen und auszuwählen. Ist das WSDL-Dokument auf einem sicheren Server gespeichert, wird das Dialogfeld „Authentifizierung erforderlich“ oder „Digitale ID wählen“ angezeigt.
Führen Sie einen der folgenden Schritte aus:
Geben Sie im Authentifizierungsdialogfeld den korrekten Benutzernamen und das richtige Kennwort ein und klicken Sie auf „OK“.
Wählen Sie im Dialogfeld „Digitale ID wählen“ die korrekte digitale ID als Client-Zertifikat aus und klicken Sie auf „OK“.
Wählen Sie die aufzurufende Operation und klicken Sie auf „Weiter“.
Das Fenster auf der rechten Seite zeigt Details für die ausgewählte Operation an. Wenn die ausgewählte Operation nicht SOAP-verschlüsselt oder nicht doc-literal ist, wird in diesem Fenster eine Warnungsmeldung angezeigt und Sie können den Vorgang nicht fortsetzen.
(Optional) Führen Sie zum Einrichten einer Clientauthentifizierung folgende Schritte durch:
Zum Definieren der HTTP- oder HTTPS-Authentifizierung wählen Sie „Erfordert HTTP/HTTPS-Authentifizierung“ und wählen dann optional die Anmeldeinformationen aus, die bei der Verifizierung akzeptiert werden sollen.
Zum Definieren der Authentifizierung auf SOAP-Meldungsebene wählen Sie „Erfordert Authentifizierung auf Meldungsebene“ und dann optional „Akzeptiert Benutzername und Kennwort“.
Klicken Sie auf „Finish“.
Geben Sie in der Liste „Ausführen am“ an, wo die Verarbeitung vorgenommen werden soll:
Wenn die Anforderung auf dem Client-Computer verarbeitet werden soll, wählen Sie „Client“ aus.
Wenn die Anforderung auf dem Server verarbeitet werden soll, wählen Sie „Server“ aus.
Wenn die Anforderung auf dem Client-Computer und dem Server verarbeitet werden soll, wählen Sie „Client und Server“ aus.
Um die Struktur des Formulars zu aktualisieren und die zurückgesendeten Daten nach Abschluss der Verarbeitung zusammenzuführen, wählen Sie „Formulardaten erneut zusammenfügen“ aus. Sie müssen die Option „Formulardaten erneut zusammenführen“ verwenden, wenn die Antwortdaten dynamische Daten (wie ein sich wiederholendes Teilformular) füllen sollen, die an WSDL-Daten gebunden sind. Dies kann in der Antwort mehrere Male vorkommen. Um die korrekte Anzahl sich wiederholender Teilformulare erstellen zu können, müssen die dynamischen Daten vollständig zusammengeführt werden. Sind die WDSL-Antwortdaten an eine feste Anzahl von Feldern gebunden, füllen die Antwortdaten die bestehenden Felder. Sie müssen die Formulardaten daher nicht erneut zusammenführen.
So hängen Sie ein Datenbankskript an eine Schaltfläche anSie können Skripten für komplexere Datenbearbeitung in einem Unternehmenssystem verwenden. In diesem Beispiel können Sie sehen, wie einige einfache Skripten zu Schaltflächenfeldern hinzugefügt werden, um einfache Datenbankoperationen durchzuführen, wie z. B. das Wechseln zum ersten, vorherigen, nächsten und letzten Datensatz, das Hinzufügen neuer Datensätze, das Aktualisieren vorhandener Datensätze und das Löschen von Datensätzen.
Hinweis: Dieses Beispiel basiert auf einer bestimmten Datenbank und Konfiguration, die nicht in den Designer-Musterdateien enthalten ist. Das Beispiel dient als Referenz für die Erstellung Ihrer eigenen Datenbankabfrageskripten.
Klicken Sie in der Palette „Objektbibliothek“ auf die Kategorie „Standard“ und ziehen Sie acht Schaltflächenobjekte in den Formularentwurf. Wenn Sie ein Schaltflächenobjekt hinzufügen, lautet der Standardkontrolltyp „Normal“. Übernehmen Sie die Standardeinstellung.
Benennen Sie die Schaltflächen wie folgt: „Erste“, „Vorherige“, „Nächste“, „Letzte“, „NeueHinzufügen“, „Aktualisieren“, „Löschen“ und „Abbrechen“.
Wählen Sie die erste Schaltfläche aus, in diesem Fall die Schaltfläche mit der Bezeichnung „Erste“.
Wählen Sie im Skript-Editor in der Liste „Anzeigen“ die Option click , in der Liste „Sprache“ die Option „JavaScript“ und in der Liste „Ausführen am“ die Option „Client“ aus.
Fügen Sie im Skript-Editor folgendes JavaScript-Skript hinzu:
xfa.sourceSet.DataConnection.first();
Wiederholen Sie Schritt 5 mit Hilfe folgender Skripten für alle übrigen Schaltflächen:
Vorherige: xfa.sourceSet.DataConnection.previous();
Nächste: xfa.sourceSet.DataConnection.next();
Letzte: xfa.sourceSet.DataConnection.last();
NeueHinzufügen: xfa.sourceSet.DataConnection.addNew();
Aktualisieren: xfa.sourceSet.DataConnection.update();
Löschen: xfa.sourceSet.DataConnection.delete();
Abbrechen: xfa.sourceSet.DataConnection.cancel();
Speichern Sie den Formularentwurf.
Testen Sie das Formular mit Hilfe der Registerkarte „PDF-Vorschau“. Wenn ein solches Formular in Adobe Reader ausgefüllt wird, müssen Sie mit Hilfe von Reader Extensions für das Formular Verwendungsrechte festlegen, damit Adobe Reader auf die Datenbank zugreifen kann.
Klicken Sie auf die anderen Schaltflächen, um die mit jedem Datensatz verknüpften Daten anzuzeigen. Das Beispiel zeigt, dass die Schaltfläche „Letzte“ bewirkt, dass die ID, die Teilenummer, die Beschreibung und der Stückpreis für den letzten Datensatz in den entsprechenden Feldern angezeigt werden.
Mit einer Schaltfläche Felder aus einer Datenbank ausfüllenSie können eine Datenbank verwenden, die die Daten für Felder in Ihrem Formular bereitstellt, einschließlich Textfelder und numerischer Felder.
In diesem Beispiel sind die Schaltfläche zum Abrufen von Datensätzen und das Listenfeld an die Datenbank (mit der Bezeichnung „Datenverbindung“) gebunden, die in der Palette „Datenansicht“ auf der linken Seite zu sehen ist. An die Schaltfläche ist außerdem ein FormCalc-Skript angehängt, um auf der Basis der im Feld „Listenfeld“ ausgewählten Teilenummer Informationen abzurufen. Die abgerufenen Datensätze werden in den Feldern „ID“, „PART_NO“, „UNITPRICE“ und „DESCRIPTION“ angezeigt.
Stellen Sie eine Verbindung zur Datenbank her.
Ziehen Sie aus der Palette „Datenansicht“ die Elemente „UNIT_PRICE“, „DESCRIPTION“, „PART_NO“ und „ID“ unter „Datenverbindung“ auf den Formularentwurf. Jede Node, die auf den Formularentwurf gezogen wird, erstellt ein gebundenes Feld.
Klicken Sie in der Palette „Objekt“ auf die Registerkarte „Standard“ und ziehen Sie ein Schaltflächenobjekt auf den Formularentwurf.
Geben Sie einen neuen Namen für die Schaltfläche ein. Im Beispiel wird „RETRIEVE RECORD“ verwendet.
Klicken Sie auf die Schaltfläche und wählen Sie im Skript-Editor in der Liste „Anzeigen“ die Option „click“, in der Liste „Sprache“ die Option „FormCalc“ und in der Liste „Ausführen am“ die Option „Client“ aus.
Geben Sie ein FormCalc-Skript ein, das dem folgenden Beispiel ähnlich ist. Das Skript ruft die Daten in den angegebenen Datensätzen ab und druckt sie in den entsprechenden Feldern, wenn der Benutzer auf die Schaltfläche klickt.
//Change the commandType from TABLE to TEXT. TEXT
//is the equivalent of SQL Property
$sourceSet.DataConnection.#command.query.commandType = "text"
//Set the Select Node. Select in this case will be
//whatever SQL Property you want
$sourceSet.DataConnection.#command.query.select.nodes.item(0).value = Concat("Select*from OfficeSupplies Where ID = ", DataListBox1.rawValue,"")
//Reopen the Data connection
$sourceSet.DataConnection.open()
Speichern Sie den Formularentwurf als PDF-Datei.
Testen Sie das Formular mit Hilfe der Registerkarte „PDF-Vorschau“, um zu überprüfen, ob das Skript erwartungsgemäß funktioniert.
|
|
|