AfWinImportScan
Mit dieser Anweisung wird ein Dialog für das Scannen von Dokumenten angezeigt. In (handle1) wird eine leere CTE-Liste übergeben, die zuvor mit AfCteOpen() angelegt werden muss. Die Anweisung ruft folgenden Dialog auf:
Der angezeigte Dialog wurde ohne optionale Parameter aufgerufen. Auf der linken Seite kann der Scanner und Parameter des Scanvorgangs angegeben werden.
Auf der rechten Seite wird der Arbeitsmappenbaum dargestellt. In dem Eingabefeld "Arbeitsmappe" kann ein Suchbegriff eingegeben und eine Arbeitsmappensuche gestartet werden. Diese funktioniert identisch zu der Suche im Arbeitsmappenbaum.
In dem angezeigten Dialog sind die Schaltflächen [Importieren] und [Schliessen] vorhanden. Der Dialog wird nur durch Drücken der Schaltfläche [Schliessen] geschlossen. Der Befehl gibt den Wert _WinIdCancel zurück. Bei [Importieren] wird der Scanner gestartet und nach dem Scanvorgang die Dateien importiert, der Dialog bleibt aber für weitere Scanvorgänge geöffnet. Das Skript wird erst nach dem Schließen fortgesetzt.
![]() |
Der Arbeitsplatz, auf dem die Anweisung ausgeführt wird, muss als Scan-Arbeitsplatz definiert sein (siehe Einstellungen / Programm / Arbeitsplatz). Ist der Arbeitsplatz kein Scan-Arbeitsplatz, wird der Fehler sAfErrNoRecArb (-20046) zurückgegeben.
|
Nach der Ausführung der Anweisung befindet sich in der in (handle1) übergebenen Liste für jede importierte Datei ein Element. Folgende Informationen werden in dem Element gespeichert:
Eigenschaft | Datentyp | Beschreibung |
Name | alpha(250) | Archivnummer_Anhangdateinummer |
Id | int | Arbeitsmappennummer |
Custom | alpha(4096) |
Die Arbeitsweise des Dialogs kann über optionalen Parameter angepasst werden. Im Parameter (handle2) kann der Deskriptor eines übergeordneten Fensters (üblicherweise die Variable gAfActParentDlg) oder 0 übergeben werden. Hat der Dialog kein Eltern-Objekt, kann er in den Hintergrund verschoben werden. Da der Dialog modal angezeigt wird, ist eine weitere Verarbeitung erst nach dem Schließen des Dialogs möglich.
In (alpha3) kann der Name einer Notiztabelle angegeben werden (siehe Einstellungen Vorlagen / Notiztabellen). Der Archivname kann dann aus einer Liste mit vorgegebenen Namen ausgewählt oder eingegeben werden.
Über die Parameter (int4) und (int5) kann die Root-Arbeitsmappe und die selektierte Arbeitsmappe angegeben werden. Es wird dann nur der Teil des Arbeitsmappenbaums angezeigt, der ab der Root-Arbeitsmappe vorhanden ist. Die in (int5) angegebene Mappe wird im Arbeitsmappenbaum ausgewählt. Der Befehl berücksichtigt die für den ArcFlow-Benutzer definierten Berechtigungen. Arbeitsmappen ohne Leserecht werden im Arbeitsmappenbaum nicht angezeigt.
Im Übergabeparameter (alpha6) kann ein Archivname vorbelegt werden. In den Parametern (alpha7) und (alpha8) kann ein Prefix bzw. Suffix für den Archivnamen angegeben werden. Die werden vor bzw. hinter den Archivnamen gesetzt.
Beispiel:
local { tResult : int; tCteList : handle; tCteItem : handle; tAbmNo : int; tArcNo : alpha(12); tArcFileNo : int; tFileOrigin : alpha(1024); } { tCteList # AfCteOpen(_CteList); tResult # AfWinImportScan(tCteList,gAfActParentDlg,'Documenttypes', sAbmReceipts,sAbmDeliveryReceipts,'Lieferschein'); for tCteItem # tCteList->CteRead(_CteFirst); loop tCteItem # tCteList->CteRead(_CteNext,tCteItem); while (tCteItem != 0) { tArcNo # AfStrGet(tCteItem->spName,'_',1); tArcFileNo # CnvIA(AfStrGet(tCteItem->spName,'_',2)); tAbmNo # tCteItem->spId; ... } tCteList->AfCteCloseAll(); return(true); }