Webseiten-Werkzeuge

Benutzer-Werkzeuge


Eigenschaft:

Feldindex / Bedingung / Tag


Beschreibung:

Wurde bei der Eigenschaft Prüfung der Wert Feld angegeben, wird mit diesem Wert festgelegt, welches der Textfelder innerhalb der Nutzdaten überprüft werden soll. Für alle anderen Werte der Eigenschaft Prüfung hat die Eigenschaft Feldindex keine Bedeutung, und kann leer bleiben.


Um die verschiedenen Textfelder innerhalb der Nutzdaten zu kennzeichnen, werden vom print2forms-System sogenannte Feldindizes vergeben. Die Vergabe der Indizes erfolgt in einer speziellen Betriebsart des print2forms-Clients. Für den Vergabevorgang wird einfach ein Referenzdokument gedruckt. Der erzeugte Ausdruck ist dann eine Liste der erkannten Textfelder zusammen mit ihrem Index:

 [p2f]
 [Param]1.0;10.1.17.7;01.05.04 11:41:22
 [Computer]iseries.spe-gmbh.de
 [Printer]P2FPRT01
 [User]QUSER
 [Job]QPADEV0001
 [File]QSYSPRT
 [0102580000]                                                      00001/3
 [0102D00000]                                                      1704
 [01030C0000]   Kunde GmbH
 [0103480000]   Z.Hd. Hr. K. Kunde                              346-57897
 [0103C00000]   Kundenstrasse 7                                 15595
 [0103FC0000]   D-12345 Kundenstadt
 [0104380000]                                                   Hr. A. Muster
 [0104B00000]                                                   12.03.2003
 [0106180000]  1   L1BL100  Schaltlitze 0,14x100 m    St     260      0    260
 [0106900000]  2   L1BR500  Schaltlitze 0,14x500 m    St     270      0    270 
 [0107080000]  3   USB2BB3  USB Kabel B/B Stecker     St      30      0     30
 [Page]
 [End]

Ein Feldindex ist in der Regel eine zehnstellige Hexadezimalzahl, deren erste zwei Stellen die Seitennummer repräsentieren. Sind die ersten beiden Stellen Null, wird der Feldindex auf jeder Seite gesucht. Im Zusammenhang mit dem Einbinden von untergeordneten Formularen muss die angegebene Seitennummer immer '00' sein. Die nächsten vier Stellen repräsentieren die vertikale Position, die letzten vier Stellen die horizontale Position.

Sollen nur Nutzdaten innerhalb eines bestimmten Bereichs getestet werden, kann für die horizontale und vertikale Position auch ein Bereich angegeben werden. Ein Bereich wird durch die Angabe einer unteren und einer oberen Grenze gekennzeichnet. Im Feldindex wird dies durch eine öffnende eckige Klammer, den Minimalwert, ein Minuszeichen, den Maximalwert und eine schliessende eckige Klammer notiert. Der Minimal- und Maximalwert werden dabei als vierstellige Hexadezimalzahl erwartet. Es ist zulässig, für die horizontale und auch für die vertikale Position gleichzeitig Bereiche anzugeben.

Für die vertikale und horizontale Position lassen sich innerhalb des Feldindex sogenannte Wildcards verwenden. Dies wird mit einer Gruppe von jeweils vier Fragezeichen dargestellt. Abhängig von der Position der Wildcards im Feldindex werden somit alle Nutzdaten getestet, die an einer bestimmten horizontalen oder vertikalen Position beginnen. Werden sowohl für die horizontale als auch für die vertikale Position Wildcards angegeben, werden alle Nutzdaten gegen den Vergleichswert getestet. Die Notation '????' ist im Prinzip lediglich eine Kurzschreibweise für '[0000-7FFF]'.

Wird statt einer Hexadezimalzahl der Name einer Bedingung angegeben, muss dieses Formular von einem Druck- oder Etikettenprozess benutzt werden, der seinerseits von einem Dokumentenprozess aufgerufen wurde. Die hier angesprochenen Bedingungen sind die, die in den Bearbeitungsschritten die Ausführung des jeweiligen Schrittes in Form einer Bedingungsliste konditionieren.

Zuerst wird im aktuellen Bearbeitungsschritt nach einer Bedingung mit dem angegebenen Namen gesucht. Ist diese Suche nicht erfolgreich, werden beginnend mit dem ersten Bearbeitungsschritt alle Bedingungen innerhalb des Dokumentenprozesses geprüft. Durch dieses zweistufige Suchen genügt es, wenn eine Bedingung in einem der Bearbeitungsschritte ausgewertet wird - die Bedingung muss nicht unnötig wiederholt werden.

Wird der Name eines XML-Tags angegeben, muß dieser Name in spitzen Klammern (Kleiner- und Größer-Zeichen) notiert werden. Für die Auswertung des Inhalts des Tags wird intern ein regulärer Ausdruck erzeugt, der aus dem öffnenden Tag, dem Vergleichswert und dem schliessenden Tag besteht. Dadurch ist es möglich, den Tag-Inhalt über den Vergleichswert genauer zu spezifizieren und gegebenenfalls einzuschränken.


Hinweise:

  • Die Textfelder werden aufgrund der sie umgebenden Steuersequenzen erkannt. Deshalb kann es vorkommen, das Worte und Sätze auseinandergerissen werden, wenn innerhalb der Worte/Sätze Steuersequenzen, zum Beispiel zum Repositionieren oder zum Umschalten des Zeichensatzes, verwendet werden. Dies ist insbesondere bei der Verwendung von Windows-Programmen oft der Fall. In diesen Fällen hilft es, den Druckertreiber so umzukonfigurieren, dass er Druckerschriften anstatt der geladenen Windows-Schriften verwendet. Die ständigen Repositionierungen unterbleiben dann.
  • Ein weiteres Problem mit Windows-Programmen ist, dass Texte für Menschen nicht mehr lesbar sind, weil der Druckertreiber optimiert, und die Zeichensätze umkodiert hat. Diese Umkodierung wechselt von Dokument zu Dokument, abhängig vom Dokumentinhalt. Eine maschinelle Auswertung von Feldinhalten ist damit unmöglich. Auch in diesem Fall hilft es, den Druckertreiber so umzukonfigurieren, dass er Druckerschriften anstatt der geladenen Windows-Schriften verwendet.
  • Beim print2forms-Gateway wird die Datei mit den Feldindizes immer erzeugt, da sie dort Bestandteil der Kontrolldatei sind, die zur Steuerung der dem Gateway nachgeschalteten Prozesse dient. Die Datei befindet sich in dem bei der Konfiguration des Gateways angegebenen Spool-Verzeichnis.
  • Bei der Suche nach Bedingungen in den Dokumentprozessen über den Namen wird nur das erste Auftreten des Namens gefunden. Eventuell mehrfach verwendete Namen werden nur dann erkannt, wenn sich dieser Name im aktuellen Bearbeitungsschritt befindet - insofern kann man auch gezielt Bedingungen 'überdecken'. Bedingungen innerhalb von Dokumentprozessen, die keinen Namen haben, können hier nicht getestet werden.
  • Der eigentliche Test der Bedingung erfolgt durch Testen des Vergleichswerts gegen das erste extrahierte Textfragment der Dokumentenprozessbedingung. Von daher muss im Vergleichswert der Bedingung im Dokumentprozess immer ein Text durch Klammerung extrahiert werden. Wurden mehrere Textfragmente extrahiert, oder wurde ein Textfragment mehrfach extrahiert, können diese weiteren Fundstellen hier zur Zeit nicht getestet werden.


print2forms/objekte/ovl/opsidx.txt · Zuletzt geändert: 2021-02-26 18:12 (Externe Bearbeitung)