Dokumentation FormVerifier und FormCommander Konfiguration für die Formularoptimierung, Scripting und Userberechtigungs Konfiguration

Größe: px
Ab Seite anzeigen:

Download "Dokumentation FormVerifier und FormCommander Konfiguration für die Formularoptimierung, Scripting und Userberechtigungs Konfiguration"

Transkript

1 Plug & play System für handschriftliche Datenerfassung in Verbindung mit Penvision Formidable digital pen & paper System und digitalen Stiften von Anoto, natural- FORMS für Tablet Computer, Windows Tablets mit digital ink Interface sowie allen Arten von mobilen Datenerfassungsgeräten Dokumentation FormVerifier und FormCommander Konfiguration für die Formularoptimierung, Scripting und Userberechtigungs Konfiguration Der FormVerifier (verifier.exe) ermöglicht die komfortable Verifizierung der vom CT- PEN DPP System erstellten Formulare und bietet eine leistungsfähige Dokumentenverwaltung für den Multiuserbetrieb. Die Daten stehen im FormCommander entweder als DPP Formulare im PDF und XML Format, als HTML Webformulare oder PDF Formulare zur Verarbeitung zur Verfügung. In der Regel werden die DPP Formulare von Sachbearbeitern noch überprüft und bei Bedarf korrigiert. Der FormVerifier ist in der Lage auch komplexe Workflows für die Bearbeitung abzubilden und über die integrierte Scriptsprache flexible konfigurierbar. Sämtliche Bearbeitungsfunktionen und die Darstellung der Daten können userspezifisch konfiguriert werden. Formulare können für die Bearbeitung beliebig gefiltert werden, über eine Volltextsuche können z.b. nur alle Formulare welchen einen bestimmten Text in einem beliebigen Feld enthalten dargestellt werden. Die Darstellung erfolgt in einem Dialog mit dem resultierenden PDF auf der linken Seite sowie dem Eingabedialog rechts. Im Splitmodus wird in einem Fenster nur der Eingabedialog und in einem anderen Fenster das PDF Formular dargestellt. Damit kann auch auf zwei Monitoren komfortabel gearbeitet werden. Zusätzlich steht ein Tablet Mode mit Windows ink recognition SDK zur Verfügung um z.b. Formulare mit Windows 8 Tablets handschriftlich oder über die virtuelle Tastatur zu erfassen und zu Bearbeiten. Dabei müssen diese Formulare nicht mit dem DPP System erstellt werden, sondern können auch mit dem FormDesigner unabhängig erstellt werden. Somit können Formulare von beliebigen Quellen bearbeitet werden, individuelle

2 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 2 Schnittstellen zum Importieren von kundenspezifischen Formulardefinitionen sind auf Anfrage erhältlich. Dazu wird lediglich eine XML Datei mit der Formulardefiniton importiert und steht sofort für die Verarbeitung als DPP, Web, Tablet, Smartphone und Desktop Formular zur Verfügung. Jedes Formular kann dann mit Daten vorab befüllt werden, wie z.b. Kunden oder Auftragsdaten. Da für detaillierte Analysen und Korrekturen die Vektordaten der Formulare mit Anpressdruck und Zeitstempel herangezogen werden, sind sehr komplexe Analysen und Korrekturen möglich. Das System ist in der Lage verschiedenste Fehler beim Schreiben und der Texterkennung zu analysieren sowie logische Überprüfungen und Korrekturen nach frei definierbaren Regeln über die Scriptsprache durchzuführen. Fehler wie z.b. nicht vorhanden Artikelnummern können am PDF Formular rot eingerahmt werden, fehlende Eingaben automatisch am PDF ergänzt sowie ungenau markierte Checkboxen korrigiert werden. Es kann damit z.b. bei einem Verkaufsformular die Summe der Einzelpositionen überprüft werden, wenn keine Summe manuell eingetragen wurde, wird diese vom System anhand der Einzelpositionen automatisch berechnet und eingetragen. Sollte die Summe vom Anwender falsch berechnet und eingetragen worden sein, wird diese rot umrahmt. Im Beispiel wird die Summe der Stunden rot eingetragen, da diese nicht vom User eingegeben wurde. In diesem Beispiel wurde die Summe vom Anwender falsch berechnet und daher rot eingerahmt. Mit den zusätzlichen GPS Daten und Zeitstempel lassen sich Routen in Google Maps oder MS Mappoint darstellen (nur wenn der User die Freigabe der GPS Daten am Mobiltelefon erlaubt). Mittels der Vektordaten und Zeitstempel ist auch ein Echtzeit Playback des Formulars oder einzelner Felder (z.b. Unterschriften) möglich. Dabei kann für Unterschriftenvergleiche auch der Anpressdruck in Farbstufen oder als entsprechende Linienstärke dargestellt werden. Damit lassen sich Unterschriften sehr zuverlässig biometrisch verifizieren.

3 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 3 Über sog. Lookup Tabellen ist es möglich kundenspezifische Daten zu importieren und diese für die logische Überprüfung heranzuziehen. Als Beispiel kann der Artikel- und Kundenstamm importiert und die Formulardaten damit überprüft werden. Bei der manuellen Korrektur der Formulare sind diese Daten als Auswahlliste in der jeweiligen Feldern im Bearbeitungsdialog verfügbar. Bei der Bearbeitung können einzelne Wörter oder Begriffe in Wörterbücher übertragen werden, diese können von uns zur Optimierung der Schrifterkennung ins DPP System übertragen werden. Formulare können in einer Baumstruktur miteinander verknüpft werden. Es kann z.b. ein mehrseitiges Verkaufsformular mit einem oder mehreren zusätzlichen Formularen mit internen Informationen zum Vorgang kombiniert werden. Jedes Formular kann dabei einem übergeordneten Formular zugeordnet werden. Bei Bedarf lassen sich mehrseitige Formulare verknüpfen und zu einem Formular kombinieren (z.b. eine beliebige Anzahl von Verkaufsformularen). In einer zukünftigen Version lassen sich Formulare auch mit anderen Dokumenten wie Fotos, Word und Excel Dateien verknüpfen. Der Export nach der Verifizierung kann frei konfiguriert werden. Dabei können Formulare oder Formulargruppen in andere Verzeichnisse kopiert, als Mail versendet, an einen FTP Server oder mittels Webservice gesendet oder in andere Datenbanken exportiert werden. Als Exportformate stehen grundsätzlich PDF, XML, CSV, Excel, SQL, DBF (Foxpro), alle Grafikformate für Formulare zur Verfügung. Beliebige kundenspezifische Formate sind ebenfalls möglich. Für Kunden mit hohem Sicherheitsbedarf können Daten und Formulare nach AES256 Standard verschlüsselt werden. Eine detaillierte History speichert sämtliche Änderungen an Formularen mit User, Datum und Zeit. Damit wird der komplette Bearbeitungsverlauf vom Einlesen, konvertieren, korrigieren bis zum Export detailliert erfasst und protokolliert. Die Formulardefinitionen für die Darstellung der Dialoge werden vom System direkt aus den Konfigurationsdaten des DPP Systems automatisch erstellt und können noch individuell mittels integrierten Designer angepasst werden. Die Unterstützung für Full Dynamic Formulare ermöglicht die Bearbeitung auch bei Anwendungen, bei denen jedes Formular unterschiedlich gestaltet und vom Anwender individuell definiert wird (z.b. Verträge). Jedes Formular wird dabei als XML Datei im FormCommander importiert und enthält die Feldbeschreibung sowie den Hintergrund des jeweiligen Formulars. Formulare können vom IT System des Kunden komplett selbst gestaltet werden. Eine spezielle Importschnittstelle ermöglicht eine sehr einfache Formulardefinition durch den Kunden. Damit kann ein Formular z.b. als einfache PDF Datei (z.b. original Lieferschein aus dem Kunden ERP System) mit einer CSV Datei für Feldbeschreibung verarbeitet werden. Die relativ komplexe XML Definitions- Datei wird dann vom FormCommander auf Grund dieser Daten erstellt.

4 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 4 Das System ist sprachunabhängig, netwerkfähig und kann über die lokale Datenbank oder über die MySQL Datenbank am DPP Server verwendet werden. Die Berechtigungsstruktur für die Bearbeitung der Formulare ist userspezifisch konfigurierbar, Berechtigungen können von Gruppen- bis auf detaillierte Funktionsebene vergeben werden. Ebenso kann die Bearbeitung auf bestimmte Formulartypen oder Formularstatus für die jeweiligen User eingeschränkt werden. Die Entwicklung eines solchen Systems durch den Kunden selbst ist mit erheblichen Aufwand und Kosten verbunden, der FormVerifier ermöglicht die schnelle, kostengünstige Integration des CT-PEN DPP Systems in die eigene IT Struktur. Mit diesem System lassen sich auch kundenspezifische Lösungen von uns einfach, schnell und kostengünstig erstellen.

5 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 5 Konfiguration der Userberechtigungen Anmeldungsüberprüfung über LDAP und Einstellung des Basisverzeichnisses des FormComannders In der Datei SYSTEM.INI im Verzeichnis des Verifiers muss der Domainname eingetragen werden: [LDAPDOMAIN] NAME=domain In der Datei VERIFIER.INI muss noch der Programmpfad des FormCommanders eingetragen werden: [PATH] DATA=Root Pfad für FormCommander Konfiguration der Useranmeldungen Bei Anmelden im System können Sie mit der Eingabe von # beim Usernamen und dem Systemcode beim Passwort in der Usertabelle User anlegen, konfigurieren und löschen.

6 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 6 Wenn Sie unter Control ADMIN eingeben, erhält dieser User die Möglichkeit sämtliche Konfigurationen zu bearbeiten. Für die weiteren Einstellungen müssen Sie sich als Administrator im Verifier anmelden, um alle notwendigen Menüpunkte zu aktivieren. Melden Sie sich jetzt mit Ihrem User als Administrator an, Sie sehen alle Menüpunkte im Verifier für die Konfiguration des Systems. Als erstes wählen Sie die User Login Verwaltung im Menü User rechts oben und definieren alle User. Dazu können Sie einzelne User kopieren und Username, Passwort und Berechtigungscode abändern. Das Datenverzeichnis entspricht jeweils dem Ordner DATEN im Programmverzeichnis des FormCommanders bzw. in der Datei VERIFIER.INI -> PATH -> DATA. In der Stift User Verwaltung werden für den Verifier die Usergruppe, Control (ADMIN, CLERK etc.), Usergruppe, Username und Passwort für Webinterface, und Systemgruppe verwendet. Für detaillierte Berechtigungen ist zusätzlich noch für jeden User im Unterverzeichnis USER eine Definitionsdatei vorhanden. Für den User MAKA z.b. wird ein File mit dem Dateinamen.\USER\MAKA_FORMDIALOG.MDF erstellt.

7 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 7 Diese Datei hat folgendes Format: USERGROUP=AUSSENDIENST PROJECT=1,3,4 STATUS=VDE SCOPE= GROUP=ADMIN SORT=dtos(datum)+zeit BUTTONS=JJJJJJJJJXXXJJJJ LANGUAGE=DE * id 8 IDY auftrag 7 Auftrag browcolor(alltrim(mord->auftrag) # "?") bmp_status(status) 1.5 S BMP bmp_valid(status) 1.5 V BMP bmp_gps() 1.5 G BMP bmp_chain(status) 1.5 C BMP datum 7 Datum zeit 5 Zeit projekt 3 Proj. ntrim(propar(projekt,"formid")) 2 F.Id subject 20 Subjekt userid 3 UserID dp_penuser(userid) 15 Name status 5 Status browcolor("v" $ status.or. "S" $ status) trackingid 9 Seite version 3 Vers. dp_routing() 50 Routing pen_id 15 Pen ID attachpdf 3 PDF connect 4 Connect getformstatus(xml,.t.) 30 Doc Status Die Definition unterteilt sich in den Berechtigungskopf und der Definition der Tabellenzeilen. Bei den Tabellenzeilen können Inhalt, Überschrift, Farbe und Tooltip userspezifisch je nach Berechtigung definiert werden. Im Berechtigungskopf werden Berechtigungsgruppe, Projekt Filter, Status Filter, Tabellen Subfilter, Bearbeitungssprache, Sortierung, Gruppe, Buttons für die Bearbeitung sowie die Berechtigung für jeden einzelnen Menüpunkt definiert. Wenn Sie den Bereich der Tabellenzeilen löschen, wird die Standarddarstellung verwendet. Grundsätzlich gibt es verschiedene Definitionsstufen. Wenn Sie z.b. lediglich in der User Login Verwaltung beim Control ADMIN eintragen, werden Basisadminberechtigungen gesetzt, bei CLERK die die Basisberechtigungen für einen Sachbearbeiter. Wenn Sie die Definitionsdateien für die Details verwenden, überschreiben diese die Basisdefinitionen. Sie können dann jedes Detail der Bearbeitung definieren. Wählen Sie dazu im Menü oben rechts den Punkt User Definitions- Verwaltung. Wenn keine Definition vorhanden, können Sie mit set default eine neue Basisdefinition zur Detailbearbeitung eintragen. USERGROUP Dieser Eintrag überschreibt alle anderen Definitionen wie z.b. beim Login. Hier können Sie z.b. einzelnen Usern Admin Status mit ADMIN verleihen unabhängig vom Login. BUTTONS Sie können hier die einzelnen Buttons rechts für die Bearbeitung sperren. Jede Position dieser Zeichenkette entspricht einem Button in der Reihenfolge von oben nach unten, ausgenommen die ersten beiden Navigationsbuttons, diese können nicht gesperrt werden. Z.B. die Zeichenkette JJXJJJJ sperrt den 3. Button von oben für den Druck von markierten Formularen. PROJECT Durch eintragen einzelner Projektnummer, getrennt mit Komma, kann für diesen Bearbeiter die Tabelle auf einzelne Projekte eingeschränkt werden.

8 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 8 SORT Die Standardsortierung kann durch einen beliebigen gültigen Ausdruck in der XBase Scriptsprache ersetzt werden. Es können dabei alle Datenbankfelder sowie alle Funktionen der Scriptsprache kombiniert werden. STATUS Hier kann die Bearbeitung auf Status Kennzeichen eingeschränkt werden. Folgende Status Kennzeichen werden verwendet: D Formular gelöscht V Formular verifiziert E Formular exportiert P Gedruckt S Storniert - Status leer (Neu) ALL Alle Status, ausgenommen gelöschte Wenn kein Status eingetragen wird, hat ein Standard Sachbearbeiter keine Berechtigung Formulare mit dem Status E für exportiert, V für verifiziert und E für exportiert und D für zum löschen markiert zu bearbeiten. Ein Eintrag von? werden nur nicht exportierte Formulare angezeigt. Wenn das erste Zeichen ein Rufzeichen ist, dann wird der Statusfilter umgekehrt, bei!e werden also alle nicht exportierten Formulare angezeigt. GROUP Damit lässt sich die Tabelle auf alle Formulare einer oder mehrerer Usergruppen einschränken. Sie können damit Formulare von Arbeitsgruppen zusammenfassen und dem entsprechenden Sachbearbeiter zuordnen. Tragen Sie dazu in der Stift User Verwaltung bei den entsprechenden Usern im Feld "Systemgruppe" die Gruppe ein. LANGUAGE Damit können einzelnen Usern, z.b. bei internationalen Unternehmen, einen länderspezifische Bearbeitungssprache und Codepage für Sonderzeichen zugeordnet werden. Die Texte befinden sich in der Datei LANGUAGE.TXT und können beliebig angepasst werden. Das Landssprachenkürzel muss den Einstellungen für die Sprache entsprechen. Grundsätzlich sind die Sprachen deutsch, englisch und italienisch bereits vorhanden. Bei Aufruf der Bearbeitungstabelle sehen Sie oben in der Titelzeile die jeweiligen Einstellungen für die Filter und den Userstatus.

9 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 9 Tabellenspalten Definition Die dargestellten Spalten können mittels der Scriptsprache beliebig gestaltet werden. Jede Zeile wird durch Inhalt, Header, Breite, Farbcodeblock und Tipcodeblock definiert. Die Definitionen werden durch (pipe) getrennt. Beispiel: status 5 Status browcolor("v" $ status.or. "S" $ status) Spalte Hier können alle Datenbankfelder sowie sämtliche Funktionen der Scriptsprache verwendet werden. Breite Breite der Spalte Header Tabellenüberschrift Typ Wenn Bitmap Symbole dargestellt werden (Beispiel GPS Symbol wenn Koordinaten verfügbar sind), dann Typ BMP. Farbcodeblock Funktion für die Darstellung der Spalte in einer speziellen Farbe. Beispiel: Wenn der Status V oder S ist, dann wird die Spalte grün dargestellt. browcolor("v" $ status.or. "S" $ status) Tipcodeblock Funktion für die Darstellung zusätzlicher Informationen wie z.b. Formularvorschau als Bitmap oder Dokumentenhistory, wenn der Mauszeiger über dem entsprechenden Tabellenfeld steht. Beispiele: Formular als GIF Datei einblenden wenn Mauscursor über der entsprechenden Spalte _formtip(gif_ref()) Formularhistory anzeigen _formtip2(xml,history) User Menue Sie können für jeden User ein eigenes Startmenü festlegen. Diese Menüs werden wie die Userdefinitionsfiles verwaltet. Wenn keine spezielle Menüdefinitionsdatei für den User nach dem Login gefunden wird, dann verwendet das System die Datei MENUE.MDF. Beispiel für den User MAKA:.\USER\MAKA_MENUE.MDF Mit dem Button "User Menue" in der Userdefinitionsverwaltung können Sie diese Datei anlegen und bearbeiten. Beispiel für eine Menü Definitionsdatei: [MAIN]

10 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 10 * [STANDARDMENUE] * :System Systemfunktionen * Systemfunktionen syscontrol() * [BUTTONS] * [SIZE=35,2] [POSITION= 10,85,2.5,37,1] >Formulare lokal edit_openorder() >Formulare SQL Server _tab_auftrag() >Formidable Viewer goweb_formidable() >CT-PEN Support Webseite Homepage winapiopen(" >Support Mail Anfrage supportmail() >Export callextproc("export.jar") >Interne Dokumentation winapiopen(".\doc\interndocu.pdf") In der Regel müssen Sie lediglich jene Programmpunkte mit einem "*" am Anfang markieren, welche Sie dem User nicht zur Verfügung stellen wollen. Wenn Sie eigene Files wie interne Doku, EXCEL oder Word Dateien einbinden wollen, dann müssen Sie diese mit der Funktion winapiopen() öffnen. Die angegebene Datei wird je nach Dateiendung mit einer Anwendung verknüpft. Mit callextproc() können Sie externe Programme wie z.b. Batchfiles ausführen.

11 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 11 Tabellenspalten im Viewer ID Auftrag Status Bitmap Valid Bitmap GPS Verkettung Geschlossen History Datum Zeit Projekt FI Bezeichnung User ID Pen User Status Seite Vers. Routing Pen ID Gedr. Strokes PDF Zu Form Add1 Add4 Orig.ID Doc Status ID des Datensatzes, laufende Nummer Variable Bezeichnung für das Formular, kann über Script gesteuert werden Verarbeitungsstatus des Formulars als Bitmap Symbol, siehe oben Bei den drei oben genannten Spalten wird das Formular als Vorschau angezeigt, wenn Sie mit dem Cursor in einer dieser Spalten stehen, ebenso wenn Sie über der Spalte PDF stehen Ergebnis des Gültigkeits- Scripts, wenn z.b. ein Artikel aus einem Verkaufsauftrag falsch erkannt wurde Wenn GPS Koordinaten mit dem Formular gesendet wurden Wenn dieses Formular mit anderen Formularen verkettet wurde Z.B. wenn zu einem Verkaufsformular ein Zusatzformular oder Folgeformular vorhanden ist Wenn dieses Formular abgeschlossen wurde Wenn ein History-Eintrag für dieses Formular vorhanden ist. Wenn Sie mit dem Cursor über dieser Spalte stehen wird die History als Tooltip angezeigt Datum der Erstellung Zeit der Erstellung Projekt ID des Formulars Formidable ID des Projektes Bezeichnung, über Script gesteuert ID des Users Name des Users Statuskennzeichen Erste Seitennummer des Formulars Version des Formulars, kann auch mehrfach gesendet werden Weiterleitungen des Formulars Eindeutige Pen ID, steht auf jedem Stift auf dem Label Formular wurde gedruckt Es sind Vektordaten für dieses Formular vorhanden, diese werden für diverse Korrekturen oder Spezialauswertungen verwendet. Z.B. Extrahieren von Unterschriften, auslagern in DXF Format für Autocad, Playback des Formulars zur biometrischen Verifizierung Dateiname der PDF Version des Formulars Dieses Formular ist mit einem anderen Formular verkettet Zusätzliche Spalten die kundenspezifisch über Script mit Informationen gefüllt werden können. Beim zusammenführen von Formularen wird die Original ID gespeichert Verarbeitungsstatus im Klartext

12 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 12 Buttons rechts Diese Buttons können userspezifisch aktiviert oder gesperrt werden. Sie Sektion BUTTONS im Userdefinitionsfile. Anfang Ende Blättern in der Tabelle F2=Details Hier wird eine Übersicht der Formulardaten angezeigt, mit der Möglichkeit diese zu ändern und Scripts zu Testen. Es wird jedes Formularfeld mit Typ, Verarbeitungskennzeichen etc. dargestellt. F3=markieren Markieren des Datensatzes zur weiteren Verarbeitung F4=markierte drucken Drucken aller markierten Datensätze F5=Mark. entfernen Alle Markierungen entfernen F6=PDF öffnen PDF mit Akrobat Reader öffnen F7=Formular Einzelnes Formular drucken F8=Status Status Details anzeigen Mail weiterleiten Weiterleiten des Formulars an eine Mailadresse Verteiler Auflösen der Verteilerlogik und vorschlagen für Mailversand Usermail Formular an User senden Report Mittels Reportgenerator erstellen Vorlagen ausdrucken oder exportieren Export Export in ein anderes Verzeichnis. Die Konfiguration erfolgt über die allgemeinen Einstellungen unter in Ordner bei Eingang kopieren, mehrere Ordner können mit Komma getrennt angegeben werden ALT+E CSV Standard CSV Export, die markierten Formulare werden nach Projekt gruppiert und in einzelne CSV Dateien im Unterverzeichnis EXPORT ausgelagert. Der Dateiname setzt sich aus exp_ gefolgt von Formulardatum, Zeit, ID und Bezeichnung zusammen. Kombinieren Die markierten Formulare werden zu einem Formular zusammengefügt. Es wird ein PDF mit einem speziellen XML File erstellt, welche die Daten der zusammengeführten Formulare kombiniert. Achtung! das Format der XML Datei ist unterschiedlich zum Standard Format! Löschen Löschen des Formulars mit allen zugehörigen Daten und Verknüpfungen F9=Baum Baumstruktur verketteter Formulare anzeigen und bearbeiten. Dabei können Formulare in beliebiger Tiefe miteinander verkettet werden. F10=History Anzeigen der Verarbeitungs-History. Jeder Verarbeitungsschritt und jede Veränderung eines Formulars wird protokolliert GPS Position Anzeigen der GPS Position beim Ausfüllen des Formulars mit Google Maps GPS Tagesroute Anzeigen der Tagesroute des Users des gewählten Formulars. Es werden alle Formulare eines Tages für die Anzeige verwendet.

13 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 13 Pull Down Menüs Diese Menüpunkte werden je nach Status aktiviert. Als ADMIN sind alle Menüpunkt verfügbar, als CLERK (Sachbearbeiter) nur jene, welche Markierungen betreffen. Menügruppe Zusätze Selektoren Definitionen Selektoren werden für Popup Menüs im Verifier verwendet Alle Formulare komprimieren Bei mehrfach versendeten Formularen und wenn diese getrennt abgelegt werden (abhängig von der Einstellung in Basiskonfiguration doppelte Formulare zusammenführen ), werden die einzelnen Formulare zu einem einzelnen Formular zusammengeführt. Dabei werden alle Korrekturen berücksichtigt und in ein Formular übernommen Löschen aller Formulare eines Projektes Alle Formulare eines Projektes werden mit allen zusätzlichen Daten gelöscht Script Zusatzfelder ausführen Das Befüllen der Zusatzfelder Add1-Add4 kann nachträglich über das entsprechende Script ausgeführt werden. Das Script finden Sie in der Basiskonfiguration beim entsprechenden Projekt User ID ändern Ändern der User ID des Formulars, damit können Sie es einem anderen User zuordnen Auftrag neu eintragen Das Feld Auftrag kann über das Script neu befüllt werden Connector ausführen (Einlesen) Das Script welches beim Einlesen des Formulars ausgeführt wird, kann hier zu Testzwecken neu aufgerufen werden Connector ausführen (Export) Das Script welches beim Export des Formulars ausgeführt wird, kann hier zu Testzwecken neu aufgerufen werden Image Dateien erstellen Es werden die GIF Dateien für das Webinterface und diverse Vorschaufunktionen neu erstellt Formular manuell importieren Ein Formular kann als XML und PDF Datei zu Testzwecken importiert werden Formular validieren Alle Validierungs Scripts ausführen, ungültige Felder werden markiert Editierbares PDF erstellen Es wird ein PDF erstellt, welches das Original Formular enthält sowie ein PDF mit den einzelnen Felder und dem Ergebnis der Schrifterkennung. Diese Formulare können auf Anfrage nach dem Bearbeiten wieder über Webservice ins System übernommen werden. Diese Formulare können auch mit Zusatzfeldern versehen werden, um einen individuellen Workflow zu erstellen. Das Formular wird dann zur Ergänzung an die einzelnen Sachbearbeiter versendet und nach Fertigstellung wieder importiert. Dazu wird auf dem Formular unten rechts anstatt des Senden Feldes ein Button eingefügt. Dieser sendet dann das ausgefüllte Formular per Webservice an den FormCommander. Dieser liest die Felder aus und importiert sie wieder in das Formular. PDF Sicherheitsstatus Anzeigen des Sicherheitsstatus des PDF Formulars (Passwort, Verschlüsselung etc.) Displayinfo Info über die aktuelle Konfiguration des Verifiers anzeigen

14 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 14 Menügruppe Markierungen Alle Markierungen löschen Alle gesetzten Markierungen werden wieder gelöscht Markierungsfilter setzen Datensätze auf Grund eines speziellen Filters setzen Tabelle Filter auf markierte Sätze Es werden nur die Datensätze mit einer Markierung dargestellt Tabelle Filter auf markierte Sätze löschen Es werden wieder alle Datensätze dargestellt Markierte Sätze per weiterleiten Alle markierten Datensätze werden per weitergeleitet Markierte Sätze drucken Alle markierten Datensätze werden gedruckt Markierte Sätze Status ändern Statusänderung der markierten Datensätze Markierte Sätze exportieren Standard Export von PDF und XML Markierte Sätze Import Connector ausführen Das Importscript (Basiskonfiguration -> Connectoren) wird nochmals ausgeführt Markierte Sätze Export Connector ausführen Das Exportscript (Basiskonfiguration -> Connectoren) wird nochmals ausgeführt Markierte kombinieren Die markierten Formulare zu einem PDF Formular und XML File kombinieren. Achtung! Das Format der XML Datei ändert sich dabei! ALT+E Export CSV Standard CSV Export, siehe Buttons Report Es können verschiede Reports mit dem Reportgenerator erstellt werden, über den Designer können die Reports gestaltet werden. Testfunktionen Diese Funktionen werden nur zum Testen von Scripts und der Einstellung der Verarbeitungslogik verwendet. Nach der endgültigen Konfiguration des Systems werden diese Funktionen nicht mehr benötigt. Testmail erstellen Wenn Formulare per vom Server importiert werden (Standard ist SQL), kann aus dem gewählten Formular ein Testmail für den Import erstellt werden Test Korrektur von XML Variablen über Script Beim Einlesen können Felder über Scripts korrigiert werden. Z.B. das Script wctod(xvar( datum )) erkennt die verschiedensten Eingabefehler und Datumsformate und konvertiert das Datum in das Format TT-MM-JJJJ Connector Test Import Testen des Importscripts Connector Test Export Testen des Exportscripts Connector Test Source Testen des Basis Scripts Image mit Strokes erstellen Aus den Vektordaten wird ein Image in Kombination mit dem Hintergrund erstellt HTML Dialog Es kann aus dem Formular ein HTML Dialog aus Templates für die Bearbeitung im Webinterface oder zur externen Bearbeitung (Versand über und Import über Webservi-

15 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 15 XML Korrektur (Variablen) Prepop XML Verifizierungsmaske Source Test Formularergänzungstest XML Summe Multistring correct Sync record XML definition ce) erstellt werden, hier kann das Template im Browser angezeigt werden (falls vorhanden) Den Script Codeblock des Feldes ausführen Anzeigen der XML Datei mit den vorausgefüllten Daten bei prepopulated Formularen. Mit diesen Daten wurde das Formular beim Druck vorab befüllt, diese Daten werden über ein zusätzliches XML File wieder eingelesen und mit dem Originalformular verbunden Individuellen Code eines Scripts ausführen Test des Scripts zum Ergänzen von Formulardaten im PDF, z.b. automatisches einfügen der Artikelbezeichnung in einem Verkaufsformular wenn nur die Artikelnummer ausgefüllt wurde Test für das Script zum Summieren von Feldern in einem Formular. Damit lässt sich z.b. die Auftragssumme unter Berücksichtigung der einzelnen Preise automatisch im PDF und XML einfügen Es kann in Ausnahmesituationen vorkommen, dass Formulare mehrfach am Server verarbeitet werden, und Text in Feldern verdoppelt werden. Hiermit werden die Felder automatisch korrigiert, sodass jede Variable nur einmal vorkommt Bei Verifizierung auf mobilen Geräten wie Smartphones und Tablet Computern, können die XML Variablen in einzelnen Felder in einer speziellen Datenbank gespeichert werden. Diese Datenbank wird mit der internen Datenbank synchronisiert. Diese Datenbank kann auch für Importund Export der Software von Drittanbietern verwendet werden sowie für Individuallösungen zur gemeinsamen Bearbeitung des Datenbestandes. Es wird ein PDF Formular erstellt mit den jeweiligen XML Knoten Bezeichnungen. Dieser Ausdruck dient zur Kontrolle der Feldpositionen und Bezeichnungen der XML Knoten

16 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 16 Die Verifizierungsmaske Mittels Doppelclick auf die Tabellenzeile öffnet sich der Dialog für die Verifizierung. Dieser wird automatisch beim ersten Einlesen eines Formulars aus der Basiskonfiguration des DPP Systems erstellt und kann beliebig angepasst werden. Bei sog. Full Dynamic Formularen, wobei jedes gedruckte Formular unterschiedlich gestaltet werden kann, wird die Basiskonfiguration jedes Mal beim öffnen des Dialoges eingelesen. Eine Änderung der Formulardefinition ist nur für Parameter möglich, welche nicht das Format und die Position der Felder betrifft. Da der Hintergrund des rechten Teils des Dialoges immer vom PDF gerendert wird, kann die Qualität u.u. nicht optimal sein, dazu kann dann ein Standard Hintergrund für das Formular erstellt werden. Dieser wird dann in der Regel aus dem gleichen Programm als JPG File erstellt, wie das PDF gestaltet wurde. Damit entstehen keine Qualitätsverluste durch mehrfaches konvertieren. Diese Dateien finden Sie im Unterverzeichnis APPS des FormCommanders, jede Seite wird als separates JPG File abgelegt, beginnend mit bg-0.jpg für Seite 1. Wenn ein Formular im Design- und Konfigurationsmodus geöffnet wird, kann der Verifizierungsdialog individuell angepasst werden. Bestimmte Einstellungen sind userspezifisch und werden mit dem Userlogin verknüpft. Mit ALT+F9 wird der Dialog für die Einstellungen geöffnet: Standard Aufteilung (rechts PDF, links Bearbeitungsmaske) Splitmodus PDF und Bearbeitungsmaske werden in verschiedenen Fenster geöffnet. Ein Dialog enthält die Bearbeitungsmaske, das andere Fenster das PDF mit Adobe Akrobat. Nach Beenden der Bearbeitungsmaske wird das Fenster mit dem Adobe Reader automatisch geschlossen. Die Position des PDF Fensters wird gespeichert und beim nächsten Aufruf des Dialoges wieder an der gleichen Stelle dargestellt. Damit kann auch auf Systemen mit zwei Monitoren übersichtlich gearbeitet werden. Größe des Fensters Skalierung des Dialoges, über einen Faktor kann das Fenster vergrößert und verkleinert werden Position und Größe des Hintergrund Bildes Schrift für den Bearbeitungsdialog Anzeige von prepopulated Daten (Formulare mit spezifischen Daten) Anzeige von versteckten Feldern Anzeige oder unterdrücken der Toolbar des PDF Fensters Hintergrundfarbe des Eingabefelder Art der Konvertierung des Hintergrundes für den Bearbeitungsdialog In der Regel werden nur der Faktor für die Größe und die Schrift verändert.

17 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 17 Wenn der Design Modus aktiviert wurde, können über einen Designer die einzelnen Dialogfelder in der Größe und Position verändert werden. Mit ALT+D wird der Dialog für den Designer aufgerufen. Nach Bestätigung können Sie die einzelnen Felder beliebig verschieben und in der Größe ändern. Wenn Sie fertig sind, ESC drücken, die folgende Meldung bestätigen und dann unten den Button SavePos anklicken. Bei mehrseitigen Formularen kann mit CTRL und Plustaste bzw. CTRL und Minustaste vor und zurück geblättert werden. Mit ALT+F6 erhalten Sie Debug Infos über den Aufbau der Maske und den gewählten Parametern. Mit der rechten Maustaste erhalten Sie ein Kontextmenü in den einzelnen Feldern. Damit lassen sich markierte Begriffe ins Wörterbuch übertragen, das Wörterbuch für dieses Feld bearbeiten, Strokes prüfen (Unterschriften-vergleich) und die Feldkonfiguration im Designmodus bearbeiten. Mit der Taste F11 wird, falls Daten vorhanden, ein Popup Menü für das Feld aufgerufen. Damit lassen sich z.b. aus einem Artikelstamm die Daten für die Verifizierung auswählen. Für jedes Feld kann ein eigener Datenbestand für Popups definiert werden. Der Import und die Verwaltung von Selektoren wird im Anhang beschrieben. Sie können hier die Selektoren auch löschen, ändern oder neu anlegen. Sie können nach dem Code (z.b. Artikelnummer) oder der Bezeichnung suchen. Diese Daten werden auch zur automatischen Vervollständigung von Formularfeldern verwendet. Wenn z.b. nur die Artikelnummer eingetragen wurde, aber nicht die Bezeichnung. Dann kann diese automatisch im PDF und XML eingefügt werden.

18 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 18 Mit der Taste ALT+F9 wird der Dialog für die Konfiguration aufgerufen. Wenn Sie die Option Design wählen, wird nach dem Beenden und neu Öffnen der Maske der Designmodus aktiviert. Mit der Taste ALT+F10 wird der Dialog für die Basiskonfiguration aufgerufen Hier können Sie die wichtigsten Parameter ändern. Die Tasten + und + verändern den Faktor für die Größe des Dialoges. Bei Hintergrund neu erstellen wird aus der Datei background.pdf im Unterverzeichnis der Applikation eine JPG Datei für den Dialoghintergrund erstellt. Die Testbuttons zeigen die Konfiguration in einem sog. Array detailliert an. Mit der Taste F12 kann das Feld in einem eigenen Dialog bearbeitet werden. Diese Funktion ist bei sehr kleinen Feldern hilfreich.

19 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 19 Buttons oben im Bearbeitungsdialog Button 1 Druck Es kann über einen Druckdialog der Drucker gewählt werden, es wird der gesamte Dialog als Screenshot gedruckt. Wenn Sie nur das PDF drucken wollen, finden Sie den Button im PDF Dialog. Button 2 Mail Das Formular wird per versendet. Tragen Sie den Empfänger ein und ändern Sie u.u. den Text im Textfeld. Sie können das PDF auch gezippt senden. werden auch diese ausgewertet. Mit dem Button Verteiler wird der Standardverteiler für dieses Formular ermittelt und bei der Mailadresse eingetragen. Wenn Sie z.b. bei einem Formular Checkboxen für verschiedene Mailempfänger verwenden, werden diese Checkboxen ausgewertet und wenn angewählt, die entsprechenden Empfänger ermittelt. Wenn Sie eine Verteilerzeile mit Mailadresse oder Shortcuts verwenden, Button 3 PDF Status Es wird der aktuelle Status der PDF Datei angezeigt, dieser kann auch verändert werden.

20 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 20 Button 4 Formular Bearbeitungs-Status Es wird der aktuelle Status angezeigt, dieser kann geändert werden. Im Dialog unten sehen Sie Detailinformationen zur Auslagerung, schließen des Formulars und Änderungen durch User. Details finden Sie auch in der Formular History. Button 5 Weiterleitungen Falls Weiterleitungen durch Checkboxen oder Verteilerzeilen definiert wurden, werden diese angezeigt. Button 6 Workflow Baumstruktur Die Baumstruktur des Formulars wird angezeigt und kann bearbeitet werden. Damit lassen sich Formulare verknüpfen und zu einer Struktur kombinieren.

21 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 21 Button 7 History Es wird die komplette Verarbeitungs-History angezeigt Button 8 GPS Daten Es werden die Koordinaten mittels Google Maps dargestellt. Dazu muss am Mobiltelefon im Penpusher die Option GPS aktiviert werden. Button 8 Zusatz Funktionen Dieser Button ist für kundenspezifische Zusatzfunktionen per Script verwendbar. Button 9 Konfiguration Dieser Button öffnet den Konfigurationsdialog. Buttons Seiten Navigation Sie können bei mehreren Formularseiten zusätzlich zu den Buttons unten blättern.

22 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 22 Buttons unten Die Buttons 5,6,7,8 sind nur im Designmodus verfügbar Button 1 Druck Dialog Es wird der Adobe Druckdialog geöffnet zum Drucken des PDF. Button 2 Formular Details Es werden alle Detaildaten des Formulars angezeigt, Werte von Felder könne geändert werden. Button 3 Abbruch Abbruch ohne Speichern Button 4 Playback Playback der Vektordaten in Echtzeit zur Verifizierung von Unterschriften Button 5 F11=Popup Öffnet den Dialog für Popup Felder, sieh oben Funktionstaste F11. Dieser Button kann über die Einstellungen unterdrückt werden. Button 6 afields Es werden alle Felddefinitionen in einem Array angezeigt, dient zur Überprüfung der Definitionen. Button 7 SavePos Speichert die Feld Größe- und Position wenn diese mit dem Designer verändert wurden. Button 8 EditKonf. Die Konfigurationsdatei wird in einem Texteditor angezeigt und kann manuell verändert werden. Button 9 PDF Export Die PDF Datei kann in ein anderes Verzeichnis exportiert werden. Button 10 Speichern Die Änderungen der Formularfelder werden gespeichert. Button 11 Abschluss Das Formular wird abgeschlossen und falls vorhanden, das Export Script ausgeführt. Dazu muss in der Basiskonfiguration die Option Nach Verifizieren Export angewählt werden und ein Connector für dieses Formular definiert werden. Beim Export können Formulare In SQL Tabelle (ODBC) exportiert werden Mittels FTP versendet werden In einen Ordner als XML und PDF kopiert werden Als versendet werden

23 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 23 Als XML mittels Webservice exportiert werden Mittels SOAP als XML exportiert werden In eine FOXPRO oder SQL Datenbank exportiert werden, wobei jede XML Variable in ein eigenes Datenbankfeld gespeichert wird Alle diese Exportmöglichkeiten lassen sich auch kombinieren. Beim Abschluss wird der Formular Status geändert und eine XML Variable mit Datum, Zeit und Bearbeiter angefügt. Beim Export wird eine XML Variable mit der Exportmethode angefügt.

24 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 24 Formular-Felddefinitionen für CT-PEN DPP Formulare Sie erhalten von uns zur Definition aller verwendeten Felder eine EXCEL Vorlage, in welche Sie die Definitionen für die einzelnen Felder eintragen. Die Definition für ein Formular besteht aus folgenden Elementen Index Interne Nummer des Feldes (Referenznummer) Seite Nummer der Formularseite wenn mehrere Seiten verwendet werden XML Knoten Bezeichnung des Feldnamens im XML welches die Daten im Klartext aus der Schrifterkennung enthält und die hauseigene IT übernommen werden kann Typ Typ des Feldes Subtyp Untertyp zur Verarbeitung z.b. , Telefonnummer, Verteilerzeile etc. Bezeichnung Infotext für das Feld Dezimale Dezimalstellen bei numerischen Feldern Max.Länge Maximale Länge des Feldinhaltes Gruppe Bei Radiobuttons der Name der Gruppe Prepop J wenn beim Druck ein Wert in das Feld gedruckt wird wie z.b. Auftragsnummer, Kundendaten etc. Die Daten werden von Ihnen in Form einer XML Datei zur Verfügung gestellt (siehe Systeminfos) Datentypen für das Feld TYP: L Logic, als Checkbox R Radiobutton, Checkbox als Radiobuttongruppe, nur ein Feld der Gruppe kann angekreuzt werden, nur die zuletzt angehakte Checkbox wird registriert, Gruppenname muss ebenfalls angegeben werden M Memo, mehrzeilige Textfelder C Character, einzeilige Textfelder CB Character boxed, unterteilte Felder D Datum N Numerisch, nur Ziffern 0-9 U Checkboxen in Form einer Uhr, jede Checkbox hat einen Zeit-Rückgabewert Z Zeit T Checkboxen für Temperaturfelder in Form eines Thermometers B Barcodecheckbox, Stift liest nach dieser Checkbox einen beliebigen Barcode ein Subtypen VMAIL Mail Verteilerzeile TEL Telefonnummer WB Wörterbuch wird hinterlegt, z.b. Artikelstamm, Straßennamen etc.

25 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 25 Sonderfelder Diese Felder werden zur Steuerung des Workflows verwendet und vom FormCommander, Preprintprozessor und Verifier bei der Verarbeitung eingetragen. Diese Felder sollten nur gelesen werden. SYS_DESC1 Es wird ein Beschreibungstext lt. Script eingefügt SYS_DESC2 Beschreibung2 lt. Script SYS_DESC3 Kennung lt. Script SYS_USERNAME Username im Klartext SYS_BASEFORM Seitennummer des Hauptformulars mit dem dieses Formular verbunden ist (variable Formularsets) SYS_DOCUMENT_CLOSED Dokument ist für weitere Berabeitung durch User gesperrt, bei Bedarf kann auch das neuerliche Versenden durch den Penpusher verhindert werden. SYS_PROJEKTVERSION_001 Projektversion im XML Variablennamen codiert, die kann auch bei prepopulated Formularen in der Variablen SYS_PROJEKTVERSION als vorbelegter Wert übergeben werden. Damit werden bei neuen Formularversionen automatisch neue Instanzen der Konfiguration (config.xml) erstellt um z.b. für jede Version eine separate Darstellung der Felder und des Hintergrunds im Verifier zu ermöglichen. Damit muss für Änderungen nicht ein neues Projekt erstellt werden um alte Formulare weiter bearbeiten zu können. SYS_APPVERSION Version der Formidable Applikation am Linux Server SYS_USERHISTORY_[nVers] Bei mehrfach gesendeten und in ein Formular kombinierten Formularen enthält diese Variable für jede Version die Header Daten. Wenn z.b. das gleiche Formular verschiedene User versenden, kann damit der jeweilige User, Datum und Zeit ermittelt werden. Die Daten des letzten Formulars werden unter Berücksichtung verhergehender Änderungen durch den Verifier in ein Formular kombiniert. Diese Option kann in den Einstellungen geändert werden, dann wird jedes Formular separat gespeichert. _STORNOPAGE Checkbox für Seite stornieren, der Formularstatus wird auf Storniert gesetzt _CLOSED Checkbox um Seitenstatus vom User auf Geschlossen zu setzen. _NEXTPAGE Folgeseite (Radiobutton Gruppe SYSPAGE im Formidable) _LASTPAGE Letzte Seite einer Serie (Radiobutton Gruppe SYSPAGE im Formidable) _AKTPAGE Seitennummer einer Serie _STORNO_01 Checkbox für Storno aller Felder mit Endung _01, um komplette Zeilen zu Löschen _FORMTIME 4 Stellig, boxed, Zeitstempel, wird zur Verbindung von Formularen verwendet. Die Zeit dient nur dazu, dass der User einen einfachen eindeutigen Schlüssel zum Verbinden verschiedener Formulare zur Verfügung hat. Alle Formulare des gleichen Users welche im gleichen Block gesendet werden, verbindet das System damit automatisch. Im Verifier werden die verbundenen Formulare rechts unten in einer Liste und oben bei den angefügten Dateien als Vorschau dargestellt. Dabei können Formulare beliebig untereinander in einer Baumstruktur verbunden werden.

26 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 26 EVERNOTE Checkbox für autom. Export des Formulars in Evernote [var]_ld Leading decimals, Vorkommastellen um Dezimalfelder automatisch zusammenzuführen, zusätzlich ist das Feld mit anschließendem _TD notwendig. Diese beiden Felder werden automatisch zu einem Feld komibniert. Z.B. Werte aus Feld PREIS1_LD und Feld PREIS1_TD werden automatisch in Feld PREIS1 gespeichert. Diese XML Variable wird dann automatisch erstellt und muss nicht in Formidable berüchsichtigt werden [var]_td Trailing decimals, siehe _LD _EXPORT_WORD Das Formular wird als Word Dokument weitergeleitet, Voraussetzung ist eine Vorlage im Unterverzeichnis REP oder im APPS Verzeichnis des FormCommanders Zeilen welche durch _STORNO_[n] storniert werden können, müssen am Ende die jeweilige Zahl enthalten, z.b. ARTIKEL_01 für die Artikelnummer in Zeile 1, BEZEICHN_01 für Bezeichnung 01 etc. Bei fix zugeordneten Zusatzformularen muss in der Projekt Kennung CONNECT_[nProjekt] enthalten sein, z.b. CONNECT_1. Diese Formulare werden mit dem Feld _FORMTIME, welches die aktuelle Zeit des Hauptformulars enthält (vom User eingetragen) verbunden. Wenn also z.b. das Verkaufsformular die Projektnummer 5 hat, dann muss bei Zusatzformularen die Kennung CONNECT_5 eingetragen werden. Wenn kein fix zugeordnetes Formular folgt, wird das erste Formular des gleichen Tages mit dem gleichen _FORMTIME Wert gesucht und das aktuelle Formular damit verknüpft. Es können also beliebige Formulare miteinander am gleichen Tag verknüpft werden. Bei verketteten Formularen wird immer die Basis Seiten ID in der Variablen SYS_BASEFORM gespeichert, damit erhalten Sie immer eine eindeutige Referenz auf das Hauptformulare. Bei der Übernahme der Daten in Ihr System sollten Sie immer diese Referenz verwenden. Kombinierte Formulare werden mit einer eigenen ID zu einem neuen Formular mit einem kombinierten XML mit den Feldern und Kopfdaten aller Formulare gespeichert. In der Baumansicht sieht man die Abhängigkeit der Formulare. _DXF_[n] Export Skizze ins DXF Format, wird als Datei mit der Formular ID und der Seitennummer mit Endung dxf im Formularverzeichnis.www_root/form/ gespeichert Checkboxen müssen unbedingt true bei aktiviert zurückgeben! Wenn eine Checkbox mit dem Namen evernote gefunden wird und der User in den Userverwaltungsdaten Zugangsparameter für Evernote eingetragen wurden, dann wird dieses Formular über das Commandline Interface an Evernote als PDF und im Klartext übergeben. Dazu muss jedoch Evernote auf dem FormCommander Computer installiert sein.

27 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 27 Selektoren, Basisdaten für Popup Felder, Feldvalidierung und Autofill Felder Selektoren sind die Basis für Popup Felder, Feldvalidierung und automatischen Zusatztext in Formularen. Diese Daten werden über ein CSV File eingelesen. Die jeweilige Datei muss in den Ordner select des FormCommanders kopiert werden. Nach der Übernahme wird diese wieder gelöscht. Bei bereits eingelesenen Datensätzen werden nur die Bezeichnungen überschrieben. Die Datei muss mit SEL_ beginnen und die Endung CSV besitzten. Beispiel: SEL_ARTIKEL.CSV Die Datei muss wie folgt aufgebaut sein: ART;CODE;BEZEICHNUGN;INFO ART Art des Popups, damit wird die Gruppe für das jeweilige Formularfeld definiert, z.b. ARTIKEL. Die Art kann dann bei den Felddefinitionen für Popup Felder im FormCommander in der Felddefintion eingetragen werden. Dabei wird zwischen Popups mit und ohne Button rechts zur Auswahl im Verifier unterschieden. Wenn z.b. bei den Felddefinitionen des Formulars unter Popup H_ARTIKEL anstatt nur ARTIKEL eintragen, dann wird kein Popup Button rechts neben dem Formularfeld dargestellt, stattdessen muss die Auswahltabelle mit der Funktionstaste F11 aufgerufen werden wenn der Cursor im Feld steht. Dadurch können Popups auch bei direkt angrenzenden Feldern verwendet werden bei denen kein Platz für den Popup Button vorhanden ist. Im Designer Modus (Admin Rechte erforderlich) des Viewers kann mit Klick der rechten Maustaste das Kontextmenü aufgerufen werden, über welches ebenfalls die Felddefinitionsmaske geöffnet wird. Hier kann die Art dann unter Pupup eingetragen werden. CODE Kurzcode wie z.b. die Artikelnummer oder Kundennummer. Der Code ist die eindeutige Referenz auf die Bezeichnung, darf also nicht doppelt vorkommen. BEZEICHNUNG Bezeichnung des Feldes, kann für automatische zusätzliche Texte auf Formularen verwendet werden. Damit können Kürzel (Feld CODE) im Formular eingetragen werden, das System druckt automatisch die Zugehörige Bezeichnung ins Formular. INFO Optionale interne Info für das Feld Selektoren können auch manuell übernommen werden. Im FormCommander -> Button unten Konfig -> Menü oben Stammdaten -> Selektoren Definition -> Button rechts Import. Hier sehen Sie auch alle übernommenen Daten und können diese manuell ändern. Diese Selektoren können auch Projektübergreifend verwendet werden. Achtung: für die automatische Übernahme muss in der Konfiguration des FormCommanders -> Button unten Konfig -> Tab Einstellungen die Option Selektoren automatisch importieren aktiviert sein. Objektvariable in Tabelle setzen Die Variable Objekt kann über ein Script auf einen beliebigen Wert gesetzte werden, in den meisten Fällen wird eine XML Variable dazu verwendet. Das interne Datenbankfeld hat die Bezeichnung Auftrag (historisch bedingt) und kann z.b. über die Projektdefinition unten mit dem Button Script Fld1 über ein Script beim Import gesetzt werden.

28 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 28 Beispiel um die XML Variable Auftragsnummer und das Importdatum in die Objektvariable zu übertragen: mord->auftrag := xvar("auftragsnummer")+date() Attachments aus anderen Quellen mit Formular verknüpfen Über das FormCommander Webinterface können Bilder vorab mit der Kamera auf Handy oder Tablet erfasst und später mit einem Formular über eine Objekt ID verknüpft werden. Es können ebenso andere Datenquellen dafür verwendet werden. Diese Daten werden in der Datei für Attachments gespeichert und später mit dem Formular verknüpft. Dabei können z.b. Fotos auch bestimmten Feldern oder Formularzeilen zugeordnet werden. Dazu muss das Formular in der Felddefinition eine spezielle Kennung im Feld Verarbeitung eingetragen werden. Folgende Werte sind dafür vorgesehen und können kombiniert werden: U Usergebundenes Attachment, kann nur vom gleichen User angebunden werden D Attachment muss am selben Tag wie das Formular angebunden worden sein _[Zeile] Id für eine spezielle Position am Formular, damit kann ein Attachment einer bestimmte Formularzeile zugeordnet werden Beispiel: Bei XML Variable OBJEKT wird in der Felddefinition in der Projektkonfiguration DU eingetragen. Fotos die der User vorab mit der Kamera am Smartphone aufnimmt, werden im Webinterface mit einer Objekt ID versehen die der User eingibt. Wenn danach das Formular mit dem selben Wert im Feld Objekt gesendet wird, verknüpft das System das vorab gespeicherte Foto als Attachment zum Formular. Im Verifier ist dieses Foto rechts in der Attachment Ansicht sichtbar. Popup Felder Diese Felder dienen im Verifier Popup s beim editieren der Formulare. Dazu muss im Form- Commander in der Formularfelddefinition im Feld Popup die Gruppe für das Popupfeld eingetragen werden. Feldvalidierung Felder können auf einfache Weise auf Gültigkeit überprüft werden. Dazu muss in den Formularfelddefinitionen eine Funktion im Feld Gültig eingetragen werden. Wenn die Bedingung false bzw..f. zurückgibt, wirde das Feld auf dem Formular rot umrahmt. Beispiel für die vordefinierten Funktionen val_csc() und val_csb(): Ein Formularfeld (XML Variable ARTIKEL01) wird überprüft, ob der Inhalt in der Tabelle der Popup Werte enthalten ist. In der Popu Definition muss die Artikelnummer wie folgt übergeben werden: ARTIKEL; ;Rohrschelle 15mm;Rohrschelle Die Funktion im Feld Gültig : val_csc("artikel",xvar("artikel01")) Soll die Artikelbezeichnung validiert werden, muss die Funktion wie folgt eingetragen werden: val_csb( ARTIKEL,xvar("BEZEICHNUNG01"))

29 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 29 Wenn die der Text im Formularfeld BEZEICHNUNG01 nicht gefunden wird, erscheint das Feld auf dem resultierenden PDF rot umrahmt. Die Feldvalidierungsfunktion kann auch aus jedem gültigen Scriptausdruck erstellt werden. Beispiel: upper(xvar("usercode")) $ {"USER1", "USER2", "USER3", "USER4"} Variable USERCODE muss im Vergleichsarray enthalten sein Beispiel: val(xvar("nummer")) > 10.and. val(xvar("nummer")) < 100 Mit der Funktion replxml(cxmlvar,cscript) im Feld für das Validierungs Script können auch Werte im XML über die Validierung einfach geändert werden. Wenn Sie z.b. zwei Formularfelder in ein Feld verbinden wollen, können Sie das wie im folgenden Beispiel definieren. Feld MAKZ und Feld ID in ein neues Feld MAID übertragen: replxml( MAID, xvar( MAKZ ) + xvar( ID ) ) Natürlich können auch bestehende Felder überschrieben werden: replxml( ID, xvar( MAKZ ) + xvar( ID ) ) Beachten Sie bitte bei den Ausdrücken, das die Hochkomma richtig verwendet warden! Sie können auch Klammer anstatt der Hochkommas für Strings verwenden, dabei darf der Ausdruck jedoch keine Klammern enthalten: replxml( ID,[xvar( MAKZ ) + xvar( ID )]) Mit der Funktion checktimevalid(cfld,nlimit) ist es möglich Felder in denen der User die aktuelle Zeit z.b. für eine Tätigkeit schreibt, mit dem Zeitstempel der Vektordaten zu vergleichen. Sollte die Zeit nicht im Bereich welcher durch den Wert nlimit eingegrenzt wird sein, dann wird das Feld im PDF rot eingerahmt und im Verifier rot dargestellt. Z.B. sollte bei checktimevalid( zeit_job_beginn,120) im XML Feld zeit_job_beginn die eingetragene Zeit nicht innerhalb den 120 Sekunden plus/minus liegen, wird das Feld rot eingerahmt. Es gibt noch eine wesentlich leistungsfähigere Möglichkeit Felder bzw. komplette Formulare zu validieren, dazu werden die sog. SRC Connectoren verwendet. Diese können komplexen Sourcecode zur Kontrolle und Markierung von Felder enthalten und ermöglichen auch das Einfügen zusätzlicher Texte auf dem PDF. Dabei haben Sie tausende Scriptbefehle der XBA- SE Programmiersprache sowie sämtliche internen Funktionen des FormCommanders zur Verfügung. Einfache Validierungen sollte jedoch aus Geschwindigkeitsgründen über das Script im Feld Gültig durchgeführt werden. Beispiel: amark := {} cxml := mord->xml nxwert1 := val(xvar("boxed105",cxml))/100 nxwert2 := val(xvar("boxed106",cxml))/100 nxwert3 := val(xvar("boxed107",cxml))/100 nxsum := val(xvar("boxed108",cxml))/100 nsum := nxwert1+nxwert2+nxwert3 cxml := put_xmlvar(cxml,"boxed105",ntrim(nxwert1,2)) cxml := put_xmlvar(cxml,"boxed106",ntrim(nxwert2,2)) cxml := put_xmlvar(cxml,"boxed107",ntrim(nxwert3,2))

30 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 30 if nxsum = 0 // wenn leer cxml := put_xmlvar(cxml,"boxed108",ntrim(nsum,2)) // Berechneter Wert aadd(amark,{"boxed108",ntrim(nsum,2)}) // Wert ins PDF eintragen da Feld nicht ausgefüllt if mord->(rec_lock()) mord->xml := cxml // Summe korrigiert endif else if ntrim(nxsum,2) # ntrim(nsum,2) aadd(amark,{"boxed108","#","1,0,0"}) // Feld rot umranden, 1,0,0 = Farben RGB endif endif cstat("pdfcorrect",amark) In diesem Beispiel werden die Felder boxed105 bis boxed107 überprüft und bei Bedarf die Summe in Feld boxed108 eingetragen bzw. das Feld bei falscher Summe rot umrandet. Beispiel Artikelnummern aus verschiedenen Feldern verbinden und prüfen ob vorhanden bzw. gültige Nummer x := 0 cxml := mord->xml amark := {} asel := saveopen("sel") sel->(setorder("code")) for x := 1 to 20 cvar1 := "ANDM_" + strzero(x,2) cval1 := xvar(cvar1) if!empty(cval1) cval1 := padr(cval1,5,"0") cxml := put_xmlvar(cxml,cvar1,cval1) //dcqdebug cval1 end cvar2 := "ANFAM_" + strzero(x,2) cval2 := xvar(cvar2) if!empty(cval2) cval2 := padr(cval2,5,"0") cxml := put_xmlvar(cxml,cvar2,cval2) //dcqdebug cval2 end cvar3 := "ANEN_" + strzero(x,2) cval3 := xvar(cvar3) if!empty(cval3) cval3 := strzero(val(cval3),3) cxml := put_xmlvar(cxml,cvar3,cval3) //dcqdebug cval3 end cvar4 := "BEMERK_" + strzero(x,2) cval4 := xvar(cvar4) cvar5 := "PREIS_" + strzero(x,2) cval5 := xvar(cvar5) if!empty(cval5) if!"." $ cval5.and.!"," $ cval5 cval5 := ntrim(val(cval5)/100,2) cxml := put_xmlvar(cxml,cvar5,cval5) //dcqdebug "var5" end end cartikel := cval1 + cval2 + cval3 if!empty(cartikel) if!sel->(seek(padlen("artikel",10) + cartikel))

31 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 31 end end aadd(amark,{cvar1,"#","1,0,0"}) // Feld rot umranden, 1,0,0 = Farben RGB aadd(amark,{cvar2,"#","1,0,0"}) aadd(amark,{cvar3,"#","1,0,0"}) //dcqdebug cartikel next x if mord->xml # cxml.and. mord->(rec_lock()) mord->xml := cxml end saveopen(asel) cstat("pdfcorrect",amark) Hinweis: Auch wenn die XBase Sprache ein "endif" ermöglicht, erlaubt der Scriptinterpreter nur "end" Text in PDF über Selektor Tabelle Über die Funktion val_addtext(cart,cvar,ctarget,[ccolor],[cfont],[cpos]) im Feld Gültig in der Felddefinition kann der Text (Bezeichnung) eines Selektor Codes ins PDF Formular eingetragen werden. cart Kennung des Selektors, z.b. ARTIKEL cvar XML Variable deren Inhalt in den Selektoren im Bereich ARTIKEL gesucht wird ctarget XML Variable in welche der gefunden Text des Selektors übertragen wird ccolor definiert die Farbe in den Anteilen in Prozent von Rot, Grün und Blau. cfont enthält einen gültigen Windows Font. cpos enthält die Position links,oben, z.b. "30,50" = 30mm vom linken Rand, 50mm vom oberen Rand. Beispiel: In der Datenbank für die Selektoren wird z.b. die Artikelnummer aus der XML Variablen ARTIKEL01 im Bereich ARTIKEL gesucht. Die zugehörige Bezeichnung wird in rot in das PDF eingesetzt val_addtext("artikel","artikel01","bezeichnung01","1,0,0","10.arial","30,50") Selektoren können über ASCII Importdateien automatisch übernommen werden, dazu wird ein spezielles Verzeichnis des FormCommanders nach diesen Dateien überwacht. Sie brauchen dazu lediglich die Daten regelmäßig aus Ihrem System in dieses Verzeichnis auslagern.

32 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 32 Verfügbare Formularelemente Die Formulare können vielseitig bis zur Größe A3 gestaltet werden, anbei ein paar Beispiele für Formularelemente. Standardfelder für Text und Zahlen (Typ CB) Jedes Zeichen muss in eine Box geschrieben werden Datumsfelder Typ D Radiobuttons Typ R es wird nur eines der Felder mit einem Kreuz markiert, bei Mehrfachmarkierung (Fehler beim Ankreuzen) wird nur die letzte Wahl registriert. Checkboxen Typ L zum Anhaken einzeln wählbar. Uhrzeit wählbar Typ U Zeitspanne Typ ZS von bis, die Dauer wird automatisch berechnet Zeiten erfassen 7:00 Beginn 8:00 9:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 Ende Temperatur Typ T Celsius Typ C Subtyp Verteiler Mail Typ E Subtyp VMAIL es können sog. Shortcuts verwendet werden. (einstellbar im Webinterface) oder direkte adressen Checkboxen Typ L Subtyp z.b. für verteiler, die entsprechenden Adressen können im Webinterface definiert werden.

33 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 33 Folgende Punkte sind bei der Gestaltung von Formularen zu beachten: Die Farbe schwarz (K) darf einzig und allein für den Anoto Raster eingesetzt werden, alle anderen Formularelementen müssen aus CMY aufgebaut werden Genügend große Felder für Buchstaben, optimal ab 8mm Höhe und 7mm Breite Genügend Abstand der Zeilen, optimal ab ca. 2mm Verwenden Sie geschlossene Boxen für jedes Zeichen, damit wird die Schreibdisziplin des Users entsprechend verbessert. Verwenden Sie vorzugsweise Zahlenfelder und Checkboxen, diese werden mit fast 100%iger Genauigkeit erkannt. Halten Sie einen ausreichenden Abstand zwischen Checkboxen, der User könnte andernfalls mehrere Checkboxen gleichzeitig ankreuzen. Jedes Formular welches mobil versendet wird, muss eine Senden-Box unten rechts enthalten. Halten Sie mindestens 15mm Abstand zwischen Formularfeldern und der Senden-Box unten rechts. Erstellen Sie nach Möglichkeit Wörterbücher für Felder oder Feldgruppen zur Optimierung der Schrifterkennung Jede Seite mit der DPP Funktionalität muss ein sog. Anoto Statement (Anoto ist der Lizenzgeber für das patentierte Raster) und ein CT-PEN Statement enthalten. Beide Statements müssen mindestens 4mm vom Seitenrand entfernt platziert werden. Format von Wörterbüchern für die Optimierung der Texterkennung Sie können Wörterbücher als ASCII im UTF-8 Format an an CT-PEN senden oder ab Mitte 2010 direkt über einen Webservice. Wir hinterlegen diese Wörterbücher auf unserem Server beim entsprechenden Formularfeld um die Schrifterkennung zu optimieren. Vergessen Sie bitte nicht auch das entsprechende Feld bzw. die Feldgruppe für das Wörterbuch bekanntzugeben. Wörterbücher sollten nur sinnvolle Wörter enthalten, also keine einzelnen Zeichen und kurze Zeichengruppen welche nicht eindeutig zuordenbar sind. Folgende Sprachen bei der Schrifterkennung werden derzeit unterstützt: Arabic Chinese (Simplified) Chinese (Traditional) Danish Dutch English (Canada) English (GB)* Eng lish (US ) Finnish French (Canada) French (France) German Greek Italian Japanese Korean Norwegian Portuguese (Portugal) Portuguese (Brazil) Russian Spanish (Mexico) Spanish (Spain)

34 FormVerifier by Rudolf Reinthaler Softwareentwicklung Seite 34 Swedish Turkish Konfiguration von Formularfeldern für die Verarbeitung Jedes Formularfeld kann auf verschiedene Weise für die Verarbeitung konfiguriert werden. Dabei wird unterschieden zwischen der einmaligen Verarbeitung beim Einlesen ins System und der Verifzierungskontrolle. Die Einstellungen setzen sich aus Parametern und Scripts zusammen. Über die Projekteinstellungen -> Zusätze -> Auto fill fielddef. Wählen Sie zuerst die Felder zur Verarbeitung aus der Tabelle. Sie können mit STRG+Links Klick und SHIFT mehrere Sätze markieren. Danach wählen Sie die zu ändernden Parameter. Es kann immer nur ein Wert in der gewählten Gruppe in einem Vorgang verändert werden. Hide / Unhide in Viewer Felder könnnen zur Anzeige im Viewer unterdrückt werden TTyp Verarbeitungstyp, z.b. , VMAIL (Verteilerzeile). Damit werden zusätzliche Funktionen und Kontrollen ausgelöst. Art Die Verarbeitungsart kann kundenspezifisch definiert werden und wird in der Standardkonfiguration nicht verwendet. Page Formularseite für das Feld Picture Es können Eingabemasken für den Verifier definiert werden.