Webseiten-Werkzeuge

Benutzer-Werkzeuge


Eigenschaft:

Feldindex / Bedingung


Beschreibung:

Bei der Feldauswahl kann durch die Angabe eines Feldindex die Überprüfung eines bestimmten Feldes innerhalb der Nutzdaten oder über die Angabe des Namens einer Bedingung die Überprüfung einer Bedingung des aufrufenden Dokumentenprozesses angefordert werden. Die Nutzdaten respektive das Ergebnis einer Bedingung werden gegen einen Vergleichswert getestet. Der Ausgang dieser Überprüfung bestimmt, ob das nachfolgend definierte Text-, Barcode- oder Ressourcen-Feld innerhalb des Formulars gedruckt werden soll oder nicht.


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. Die vom Client (oder -Gateway) erzeugte Datei enthält unter anderem eine Liste der erkannten Textfelder zusammen mit ihrem Feldindex:

 [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. Im Zusammenhang mit dem Einbinden von Feldern in Formulare muss die angegebene Seitennummer allerdings immer '00' sein, damit das Formular auf beliebigen Seiten verwendet werden kann. 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 Formatprozess 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.


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.
  • Wird unter Feldindex und Vergleichswert nichts eingegeben, gilt die Bedingung für das Drucken des Feldes immer als erfüllt.
  • 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.
  • Leider existieren Anwendungen, deren Feldindizes je nach Füllgrad des gedruckten Dokuments variieren. Zum Beispiel kann es vorkommen, dass eine Zahl im rechten Teil des Blattes einmal direkt positioniert wird, und ein andermal, wenn eine weitere Zahl links von ihr auftaucht, mit dieser zweiten Zahl zusammen in einem Textfragment erkannt wird. In diesen Fällen muss print2forms Anweisungen für beide Fälle bekommen.
  • 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/formular/feldindexfeldauswahl.txt · Zuletzt geändert: 2018-02-21 15:12 (Externe Bearbeitung)