Invoice Anwender-Handbuch Anmeldung Menüstruktur Erklärt die Menüs in der Invoice Lösung. Bilder können, je nach Individualisierung und vorgenommenen Einstellungen, abweichen. Übersichtsmenü Nach dem einloggen in Documents, ist das Übersichtsmenü das erste Fenster, welches Sie sehen. Im Zentrum des Übersichtsmenü ist das eingebundene Squeeze Dashboard zu sehen, welches Dokumente in Squeeze und deren Verarbeitungsstatusanzeigt. Die Übersicht lässt sich auch durch klicken auf den "Bearbeiten" Button anpassen. In der Kopfzeile beziehungsweise Toolbar Mitte sind Rückkehr zum Übersichtsmenü und die Suchleiste zu finden.  Auf der rechten Seite der Kopfzeile finden sich Datei Upload, Nachrichten, Benachrichtigungen und Benutzerprofil.  Auf der linken Seite findet sich eine weitere Menü Spalte, die Outbar. Diese bietet eine Vielzahl von Ansichten und Einstellungsmethoden.     Kopfzeile   Das Kopfzeilen Menü beinhaltet folgende Funktionen: Das Haussymbol, welches jemanden ins Übersichtsmenü zurückbringt Die Suchleiste mit Auswahlmenü, Sucheingabe und erweiterter Suche Eine neue Session öffnen Ausgewählte Datei hochladen Nachrichten verschicken Benachrichtigunsfenster Benutzerprofil   Benutzerprofil/Benutzermenü Das Benutzerprofil stellt verschiede Möglichkeiten zum konfigurieren von Documents zur Verfügung und es kann sich von hier aus abgemeldet werden. Benutzereinstellungen In den Benutzereinstellungen lassen sich verschieden Individualisierungen vornehmen. Zu beachten ist, das Änderungen erst nach einer erneuten Anmeldung aktiv werden. Es lässt sich die Start-Outbar setzten, welche beim einloggen Standartmäßig angezeigt wird. Kennwort ändern "Kennwort ändern" bietet die Funktion zum wechseln des Passwort.  Es kann passieren, das vorhandene API Keys zurückgesetzt werden.  Sprache Im "Sprache wechseln" Fenster, lässt sich die Oberflächen Sprache ändern. Zurzeit stehen Deutsch und Englisch zur Verfügung. Abwesenheit Im "Abwesenheit" Fenster, lässt sich einstellen, ob man derzeit im Haus beziehungsweise nicht im Haus ist. Es lässt sich der Zeitraum einstellen, in welchem man nicht im Haus ist und Stellvertreter für diesen Zeitraum. Mappen können an die Stellvertretung weitergeleitet werden. Zusätzlich lässt sich eine zuvor eingestellte Nachricht einrichten, welche an Versender verschickt wird.    Persönlicher Ordner Im Fenster "Persönliche Ordner" können neue Ordner erstellt werden oder nicht mehr benötigte Ordner gelöscht werden. Wenn ein Ordner ausgewählt wird (in der Abbildung beispielhaft Projekt 123) können weitere Einstellungen konfiguriert werden. Es kann der Ordnername verändert werden und Benachrichtigungen per E-Mail für dieses Ordner aktiviert werden. Es lassen sich außerdem verschiedene Filtereinstellungen vornehmen, um gewünschte Inhalte anzeigen zu lassen. E-Mail Optionen In den E-Mail Optionen können Zusammenfassungen für Eingang und Abschluss von Vorgängen per E-Mail zugesendet werden. Der Zeitpunkt, zu welcher dieses Zusammenfassung verschickt werden soll, kann auch ausgewählt werden. Außerdem können Benachrichtigungen für Neue Mappe im Eingangskorb und Mappe zurück aus Versendung aktiviert werden. Info/Support Das Info/Support Fenster bietet verschiedene technische Informationen wie Versionsnummern und Verbrauchtes Volume. Zusätzlich können hier Supportfälle gemeldet werden. Suche/Suchleiste Im Dropdown Menü auf der Linken Seite kann man die zu durchsuchende Kategorie auswählen. In der Suchleiste kann man Suchbegriffe eingeben und nach diesen suchen. Das rechte Symbol öffnet die "Erweiterte Suche. Erweiterte Suche Die erweiterte Suche bietet eine konfigurierbare Suche und das speichern von individuellen Suchen. Auf der linken Seite kann man Suchquellen auswählen. Rechts daneben lassen sich die Mappentypen auswählen, welche durchsucht werden sollen.  Rechts gibt es die Möglichkeit nach bestimmten Parametern beziehungsweise Werten zu suchen. Zusätzlich lassen sich Suchmaske und Trefferliste einstellen, u Suchergebnisse weiter einzugrenzen. Unten Links findet sich "Meine Suche", welche es ermöglicht eigene Suchkonfigurationen zu speichern.       Outbar/Linkes Menü Ober Hälfte Die Linke Menü Spalte oder Outbar lässt sich in drei Bereiche gliedern. In der ober Hälfte der Outbar, lässt sich die Outbar mit Hilfe des Pfeils einklappen. Durch "+ Neue Mappe" lässt sich eine neue Mappe anlegen. "Favoriten" lassen sich als Favoriten markierte Einträge finden. "Eingang zeigt neu eingegangene Dokumente an. "Aufgaben"  "Zuletzt benutzt" zeigt eine Liste der zuletzt benutzten Dokumente an. "Wiedervorlage" "Gelöscht" beinhaltet gelöschte Dokumente. "Gespeicherte Suchen" beinhaltet die aus "Erweiterter Suche" gespeicherter eigenen Suchen. Mittlere Hälfte Die mittlere Hälfte der Outbar variiert je nach Auswahl der der unteren Hälfte. Untere Leiste Die untere Leiste der Outbar bietet die möglich zwischen verschieden Ansichten der mittleren Outbar hälfte zu wechseln. Es gibt Ordner, Mailroom, Invoice, Procurement, Administration, Dokumentenbaum und Reports.        Rechnung öffnen Es gibt unterschiedliche Möglichkeiten die gewünschte Rechnung zu finden: In erhaltener Email auf Link klicken. Anzeige über die Menü Struktur nach Status. Suche nach Rechnungen (in der Abbildung wurde nach B.R.T Dokumenten in Eingang gesucht. Ein links Klick auf die gewünschte Rechnung öffnet dann die Übersicht für die ausgewählte Rechnung. Die einzelnen Bereiche einer Rechnung Es sollen kurz die einzelnen Bereiche benannt und gezeigt werden. Genauere Information folgen im nächsten Kapitel. Es gibt unterschiedliche Ansichtsmöglichkeiten, da jeder Benutzer sich seine gewünschte Ansicht einstellen kann. Daher kann die gezeigte Abbildung von der Ansicht bei jedem Benutzer abweichen.  Suchbereich bietet die in vorherigen Kapitel erklärten Suchfunktionen Benutzermenü zeigt die unterschiedlichen Benutzermenü Punkt Trefferliste ist die Liste der gefunden Dokumente für eine gewählte Suchmaske Viewer ist der Dokumenten Ansicht Felder zeigt die unterschiedlichen Felder Register zeigt die Registerleiste Invoice Menü bietet die unterschiedlichen Menü Punkte für Invoice Kontierungsbereich ist die Positionstabelle  Outbar bietet die Möglichkeit zwischen den mittleren Menüs zu wechseln Funktionen der Rechnungsansicht Im folgenden werden die möglichen Ansichtsarten erklärt, welche zur Verfügung stehen. Im abgebildet Beispiel ist der Squeeze Viewer als Standard eingestellt.  Dadurch wird die Mono View angezeigt. Im Zentrum ist der Squeeze Viewer zu sehen. Rechts oben ist die Registerleiste und darunter die Feldansicht. Unter dem Viewer ist "Gentable" also die Positionstabelle. Links sind weitere Rechnungen im Ordner Eingang zu sehen und die Outbar. In der Kopfzeile über dem Viewer finden sich: Abkoppeln Bearbeiten ermöglicht die Bearbeitung von Rechnungen Dublette zulassen (Dieser Button wird nur gezeigt falls eine Dublette vorhanden ist) Validiert Zurück zur Gruppe Aktionen (Je nach Benutzer können unterschiedliche Aktionen zur Verfügung stehen) Doppelansicht Durch klicken des Symbols lässt sich die Double-View oder Doppelansicht öffnen und schließen. Die Abbildung zeigt die Doppelansicht, in welcher der Viewer zusätzlich zu den Feldern angezeigt wird.  Mithilfe der Rot markierten Button lassen sich zurzeit nicht benötigte Bereiche einklappen und wieder ausklappen. Man kann die Mappe auch mit Hilfe des Symbols abkoppeln.        Bearbeiten von Rechnungen Mit Hilfe des Bearbeiten Buttons über den Viewer lassen sich Rechnungen bearbeiten. Damit kommt man in die Ansicht zum bearbeiten. Man kann in der Feldansicht und in der Gentable Werte beziehungsweise Felder anpassen und Kommentare hinzufügen. Mit dem Button "Speichern" werden Änderungen übernommen. Mit dem Button "Abbrechen" werden Änderungen verworfen. Registerleiste Die Registerleiste ist in der Rechnungsansicht zu sehen und bietet unterschiedliche Register an. Welches Register beim aufrufen eines Dokuments als Standard geöffnet wird, ist konfigurierbar. Register Eingangsrechnung Bei Auswahl des Eingangsrechnungsregisters wird die Feldansicht angezeigt. Register Squeeze Viewer Bei Auswahl des Squeeze Viewer Registers wird das Dokument im Squeeze Viewer angezeigt. Dabei ist an der rechten Seite die Feldansicht weiterhin verfügbar. Register Dokument In Register Dokument finden sich Anhänge des ausgewählten Dokuments. Register Kreditor CSV Standard Kontierung für für Kreditoren können hier als CSV Datei hinterlegt werden. Weitere Information zum Thema und Funktionen findet sich im Kapitel "Kreditor-CSV".  Register Status Im Register Status oder Log lassen sich Arbeitsschritte nachvollziehen und Fehler, Weiterleitungen oder Feldwertänderung nachvollziehen.  Hier findet man auch die zugeteilte Squeeze ID. Administration Erläuterung der unterschiedlichen Administration Menüs Administration Zugriff In der unteren Leiste der Outbar lässt sich die Administration mit Hilfe des Zahnrads für verschiedene Kategorien öffnen. Diese Funktion steht nur Administratoren zur Verfügung.  Bei Auswahl der gewünschten Kategorie, ändern sich die Auswahlmöglichkeiten des mittleren Teils der Outbar.   Allgemein Bei der Auswahl von bietet der mittlere Teil der Outbar die in der Abbildung gezeigten Funktionen. Lizenz Im Reiter "Lizenz" findet man den Hostnamen, das Ablaufdatum der Lizenz und Informationen über des verbrauchten Daten Volumens der einzelnen Module. Dabei handelt es sich um das Gesamtvolumen. Verbindungen "Verbindungen" zeigt die Verbindung zu anderen Diensten und die Verbindungskonfigurationen. Hier finden sich auch Verbindungskonfigurationen zu Squeeze. Man kann die je nach gewählter Verbindung, die Verbindung prüfen, neue API-Keys erzeugen, Standardkonfigurationen laden, neue Verbindungen anlegen oder löschen. Die unter Abbildung zeigt als Beispiel die Verbindung zu Squeeze. Je nach ausgewählter Verbindung variieren die Felder. Benutzer Der Punkt "Benutzer" bietet eine Übersicht über die alle registrierten Benutzer. Man kann den Status der einzelnen Benutzer sehen (für genaueres siehe "Benutzer Status"), sowie den Lizenztyp. Man kann Login-Name, E-Mail, Vor- und Nachname sowie Telefon und Mobilnummer der Benutzer einsehen. Außerdem von welchen Benutzergruppen diese Mitglied sind. Zusätzlich lassen sich in der Kopfzeile neue Benutzer anlegen( ), Benutzer synchronisieren( ) aktualisiert die Benutzermappen(otrUser) aus den Benutzeraccounts und der Button "Aktionen" bietet weitere Einstellungsmöglichkeiten. Das Aktualisierung Symbol( ) auf der rechten Seite aktualisiert die Benutzerliste. Benutzer Status   Benutzer mit diesem Symbol sind freigegebene Benutzer Benutzer mit diesem Symbol sind Benutzer, welche nicht in anderen Listen angezeigt werden  Benutzer mit diesem Symbol sind gesperrt Benutzer mit diesem Symbol sind Benutzer die abwesend sind Benutzer Lizenztypen Concurrent (Open) ein Pool von Lizenzen, welcher sich von unterschiedlichen Benutzern geteilt wird Named sind reservierte, individuelle Lizenzen zum anmelden von Benutzern, Zugang ist jederzeit gewährt  Shared sind Konten, welche von unterschiedlichen Benutzern geteilt werden können (nur für Archive Zugriff) Benutzergruppen In der Benutzergruppen Übersicht lassen sich alle Benutzergruppen sehen und verwalten. Es können neue Benutzergruppen hinzugefügt werden( ). Übersetzung   Stammdaten Im Menüpunkt "Stammdaten" sind die vorhanden Stammdaten zu finden und neue Stammdaten können importiert werden. Tabellendaten exportieren Mit diesem Menüpunkt lassen sich Tabellendaten exportieren und importieren. Dokumenten-Struktur In der Dokumenten-Struktur Übersicht ... Buchungsschnittstelle   Documents Property Cache   Job-Skripts Im Fenster "Job-Skripts" finden sich die derzeit verfügbaren Jobs. Es Angaben, ab wann diese gültig sind und die geplanten Ausführungszeiträume. Zusätzlich lässt sich die Ausführungshäufigkeit und wann welcher Job zuletzt ausgeführt wurde. Die einzelnen Jobs können von hier aus manuell ausgeführt werden. Logdateien In der Log Ansicht lassen sich die Logdateien von verschiedenen Bereichen Anschauen, herunterladen und löschen. In der Konfiguration können die farbliche Darstellung der Highlights angepasst werden.     Benutzer Übersicht Wenn man in der Benutzerliste einen Benutzer auswählt, öffnet dich eine detailliertere Ansicht des ausgewählten Benutzers. Es können Grundlegende Daten wie Lizenztyp, Login-Name, E-Mail usw. gesetzt werden. Es können die Benutzergruppen definiert werden, welchen der ausgewählte Benutzer zugehören soll. Zusätzlich lassen sich unter "Einstellungen" der Status setzen. "Gesperrt" sperrt den Benutzer( ). "In Liste anzeigen" kann Benutzer aus Listen ausblenden( ). E-Mail-Benachrichtigung kann aktiviert werden. "Verwendung Gelesen-Knopf" biete die Funktion Vorgänge im Eingang als gelesen zu markieren, damit diese nicht mehr im Eingang angezeigt werden. Zum Schluss bietet "Max. gleichzeitige Session" die Konfiguration Möglichkeit an, die zeitgleichen Sessions des Benutzer zu definieren.  Modul-Konfiguration Wird nur angezeigt, falls Otris Contract beziehungsweise Otris Corporate installiert ist. Durch gesetzt Haken werden Zugriffe auf dieses Modul gewährt. Admin zugriff auf diese Module kann dem Benutzer auch gegeben werden. Status Im Reiter "Status" lassen Aktionen nachvollziehen, welche auf dem ausgewählten Account durchgeführt wurden, zum Beispiel eine Passwort Änderung. Die Aktion selbst, der Zeitpunkt der ausgeführten Aktion und der Benutzer, welcher diese durchgeführt hat, können nachvollzogen werden. Benutzer hinzufügen/anlegen Im Admin Benutzer Fenster lässt sich mit Hilfe des Symbols ein neuer Benutzer anlegen. Es öffnet sich eine leere Benutzer Übersicht, mit der der neue Benutzer angelegt wird. Beim Abschluss wird der Vorgang mit dem Speichern Button abgeschlossen und der neue Benutzer ist angelegt. Administration Stammdaten Für die Stammdaten wurde eine eigene Outbar angelegt. In der Regel werden Stammdaten aus dem führenden System importiert. Zu Beginn eines Projekts sollen möglichst schnell Stammdaten zur Verfügung stehen, damit schnell getestet werden kann. Aus diesem Grund können die Stammdaten manuell gepflegt werden. In einigen Projekten müssen spezifische Daten manuell gepflegt werden. Stammdaten-Anzeige Die Datenbank DEX_MasterData wird mit diversen Stammdaten-Tabellen ausgeliefert. Auf der Outbar "Stammdaten" werden im Standard diverse Stammdaten-Ordner ausgeliefert. Diese können je nach Bedarf im Projekt passend ein- und ausgeblendet werden. Am Ordner können neue Datensätze hinzugefügt werden und bestehende Datensätze können geändert werden. Stammdaten-Import Konfigurieren Zu Beginn eines Projekts sollen möglichst schnell erste Stammdaten zur Verfügung gestellt werden. Häufig können die Stammdaten in einer CSV-Datei zur Verfügung gestellt werden. Für die gängigsten Stammdaten werden vorgefertige CSV-Konfigurationen für die Datei-Import ausgeliefert. Auf dem Ordner "Stammdaten Import" öffnet sich eine Konfiguration für die CSV-Dateien. Pro Konfiguration müssen folgende Angaben gesetzt werden: Konfigurationsname Eindeutige Bezeichnung der Konfiguration. Tabellenname Der technische Name der SQL Tabelle in der DEX_MasterData Datenbank. SQL-Konfigurationsname Wert für die Datenbank-Verbindung. Standardwert: "DEX_MasterData". Dateipfad Gibt den Pfad zur CSV-Datei an. Über %DEXPRO% wird der Pfad zum DEXPRO-Ordner in der Documents-Installation angegeben. Ein %FS% (Forward Slash) setzt automatisch den korrekten Trenner zwischen den Ordner-Angaben (Linux: / Windows: \) Transkodierung ANSI -> UTF-8 Wenn eine CSV-Datei im ANSI Format geschrieben ist, muss der Text vor dem Import in UTF-8 umgewandelt werden. Über das Stift-Symbol hinter den Einträgen können Einträge bearbeitet werden und über die Mülltonne können einzelne Konfigurations-Einträge gelöscht werden. Durch einen Klick auf einen Eintrag öffnet sich das Feld-Mapping zur Konfiguration. Die CSV-Dateien müssen eine Kopfzeile mit Spaltenüberschriften haben. Jeder Spalte in der CSV-Datei kann einer Spalte in der Datenbank-Tabelle zugeordnet werden. Zudem können auch fixe Werte mitgegeben werden. In der Ansicht wird im oberen Bereich der Name der gewählten CSV-Konfiguration angezeigt und daneben steht das Wort "Mapping". Über einen Klick auf den CSV-Konfigurationsnamen springt die Ansicht zurück zur oberen CSV-Konfiguration. In der Mapping-Ansicht können pro Eintrag diverse Werte gesetzt werden: Typ (Auswahl: " Fester Wert " / " Wert aus CSV-Feld ") Für eine Datenbank-Spalte kann ein fixer Wert angegeben werden. Ein "ANY" beim Buchungskreis (CompanyCode) ist zum Beispiel für Buchungskreis-übergreifende Stammdaten gedacht. Ziel Name der SQL Tabellen-Spalte. Jede Spalte sollte nur einmal gesetzt werden. Quelle/Wert Name der CSV-Spaltenüberschrift. Ein Wert kann in mehrere SQL-Spalten geschrieben werden. Export Spaltennummer Beim Export der Daten als CSV werden die Spalten in der angegebenen Reihenfolge geschrieben. Export ORDER BY Beim Export der Daten werden die Daten nach dieser Spalte sortiert ausgegeben. Stammdaten-Import Stammdaten-Import über die Feld-Mapping-Ansicht In der Stammdaten-Ansicht wird im unteren Bereich der Button " STAMMDATEN IMPORTIEREN " angezeigt. Über den Button wird der Import manuell ausgeführt. Im Konfigurierten Dateipfad muss eine CSV-Datei mit dem passenden Namen liegen. Die Stammdaten-Tabelle wird im Standard komplett geleert und die Daten aus der CSV-Datei werden importiert. Die CSV-Datei muss entweder im Format UTF-8 vorliegen bzw. wenn die Datei im ANSI-Format vorliegt, muss in der CSV-Konfiguration die Transkodierungs-Checkbox gesetzt sein. Eine CSV-Datei im Format  UTF-8-BOM kann nicht verarbeitet werden! Aus Excel erstellte CSV-Dateien werden im Format UTF-8-BOM erzeugt. Diese Dateien haben zu Beginn ein Sonderzeichen, durch welches das Auslesen der Datei verhindert wird. Die CSV-Dateien müssen zuerst im UTF-8 Format gespeichert werden. Die CSV-Datei kann hierfür zum Beispiel in Notepad++ geöffnet werden. Das Format wird unten rechts angezeigt (siehe Screenshot). Unter "Codierung" kann das Format in UTF-8 gewandelt werden. Zum initialen Testen größerer CSV-Dateien bietet sich der " TESTEN " Button an. Hier werden weniger Datensätze aus der CSV-Datei verarbeitet. Stammdaten-Import als Job Das im Standard ausgelieferte Job-Skript " DEXPRO_JOB_ImportCSV " führt alle Importe zu allen CSV-Konfigurationen aus. Stammdaten-Import manuell über den CSV Upload/Download Ordner Der Import kann auch über den Ordner  CSV Upload/Download erfolgen. Über den Button mit dem Upload-Symbol öffnet sich ein Pop-Up mit einer Dropzone und einer Auswahlliste der Import-Konfigurationen. Die hochgeladene Datei muss die Dateiendung "csv" haben. Der Dateiname ist egal. Die CSV-Datei wird zum einen an den in den in der Konfiguration angegeben Ort kopiert und erhält den dort konfigurierten Dateinamen. Zum anderen wird die Datei mit einem fix vorgegebenen Namensaufbau in dem Export-Ordner abgelegt, damit die Datei in der Ansicht angezeigt wird. Zu jedem Import werden Loginformationen geschrieben. Stammdaten-Export Über den Ordner CSV Upload/Download und dem Download-Button öffnet sich ein Pop-Up mit einer Auswahlliste der CSV-Konfigurationen. Der Export verwendet das Feld-Mapping mit der hinterlegten Sortierreihenfolge. Fixe Werte werden nicht exportiert. Wenn ein Export ausgewählt wurde und wenn die Auswahl mit "OK" bestätigt wurde, erscheint die Meldung, dass die Skriptausführung gestartet wurde und die Ansicht neu geladen werden muss. Je nach Umfang der Stammdaten kann der Export etwas dauern. Der Dateiname beginnt mit dem CSV-Konfigurationsnamen gefolgt vom Namen der SQL Tabelle und einem Zeitstempel. Die CSV-Dateien können in einem Pop-Up angezeigt werden und Sie können über das Download-Symbol heruntergeladen werden. Nicht mehr benötigte CSV-Dateien können gelöscht werden. Damit Stammdaten zum Beispiel von einem Produktivsystem auf ein Testsystem übertragen werden können, müssen beide Systeme dieselbe CSV-Konfiguration mit demselben Feld-Mapping haben. Über die Export-Funktion kann die CSV erstellt und heruntergeladen werden und über die Import-Funktion kann die Datei auf dem Zielsystem eingespielt werden. Dabei muss berücksichtigt werden, dass die bestehenden Stammdaten zur CSV-Konfiguration bei einem Import zunächst gelöscht werden. Bei einem Transfer von einem Testsystem zu einem Produktivsystem sollte der Import vorab nochmal auf dem Testsystem getestet werden. Administration Squeeze Übersicht Im Fenster Squeeze unter Administration können die Einstellung zu Squeeze konfiguriert werden. Es kann die Verbindung zu Squeeze geprüft werden, Stammdaten eigesehen werden und Stapelklassen und Dokumentenklassen verwaltet werden. Außerdem gibt es die Möglichkeit Klassifizierungen zu trainieren und Dokumente zu importieren.    Zusätzlich kann das Squeeze Dashboard eingesehen werden, um Dokumente und deren Status in Squeeze einzusehen. Verbindung Im Menü "Verbindung" kann die Verbindung zu Squeeze geprüft werden, ein neuer API-Key erstellt oder Standardkonfigurationen wieder geladen werden. Außerdem kann man die URL des angebunden Squeeze Mandaten auslesen und den hinterlegten API-Key. Der Mappentyp und Feldname für Training werden hier auch gesetzt. Stammdaten Im Stammdaten Fenster, sind die unterschiedlichen Stammdaten aus Squeeze zu finden. Neben der Übersicht über die unterschiedlichen Stammdaten, können mit Hilfe des Buttons  eine neue Stammdatentabelle hinzugefügt werden. Zusätzlich können bestehende bearbeitet und gelöscht werden. Durch einen Doppelklick auf eine Spalte, lassen sich detailliertere Informationen zu den gewählten Stammdaten ansehen. Man kann die verscheiden Spalten verwalten und neue hinzufügen. Stammdaten können auch manuell hochgeladen werden in den Formaten CSV, XLS und XLSX. Außerdem kann man die Daten verwalten, indem man sie anpasst, löscht oder Neue hinzufügt.   Stapelklassen/Dokumentenklassen Stapelklasse Im Menü "Stapelklassen" sind die verschiedenen Stapelklassen zu finden. Diese sind auch in Squeeze vorhanden. Die Stapelklassen können bearbeitet oder neue angelegt werden. Dokumentenklasse Hier findet sich eine Liste der Dokumentenklassen in Squeeze. Die Dokumentenklassen können bearbeitet oder neue angelegt werden. Zusätzlich können Konfigurationen übernommen werden.      Administration Invoice/Mailroom Übersicht Invoice Das Administrationsfenster "Invoice" bietet Konfigurationsmöglichkeiten für den Invoice Bereich. Es gibt den Bereich für Workflow Einstellungen und Feldkonfigurationsmöglichkeiten. Es können Parameter und Initiale Berechtigungen gesetzt werden. Außerdem können Mandanten, Übersetzungen und der Documents Property Cashe verwaltet werden. "Buchungsschnittstelle" ermöglicht Feldkonfigurationen  In den Feldkonfigurationen von "Invoice" und "Mailroom" lassen sich die unterschiedlichen Kopf- und Positionsfelder einstellen. Zusätzlichen lässt sich die Gentable und Suchfelder konfigurieren. Außerdem kann man eine Archive Zuordnung vornehmen. Mehr zu den einzelnen Punkten in folgenden Kapiteln. Mailroom Das Administrationsfenster "Mailroom" bietet ähnliche Menüpunkte wie das Invoice Fenster. Buchungsschnittstelle ist nicht vorhanden, dafür wird es mit Initiale Berechtigungen und Vertrauliche Schlüssel erweitert.  In der Initialen Berechtigung Vertrauliche Schlüssel Workflow Workflow bietet, sowohl in Invoice als auch im Mailroom, die Möglichkeit die Workflow Regeln einzusehen, die verschiedenen Workflows und deren Details zu betrachten und neue Einträge hinzuzufügen, Workflow Aktionen zu verwalten und Workflow Konfigurationen vorzunehmen. Kopffelder - Feldkonfigurationen Die Anlage neuer Kopf-Felder, die Anordnung der Kopf-Felder als auch die Zuweisung der Felder zu den Registern muss über den Documents-Manager konfiguriert werden. Hinzugefüge Felder müssen dann in der Web-Oberfläche, in der Feldkonfiguration Kopffelder, durch den Button importiert werden. Die Feld-Attribute werden direkt aus den entsprechenden Documents-Datenbank-Tabellen ausgelesen. Die angezeigte Reihenfolge der Felder entspricht der Feld-Reihenfolge am Mappentypen. Die Zahlen in der Spalte "Sortierung" stammen aus der Documents-Datenbank.  In der initialen Feld-Übersicht können pro Feld lediglich 2 Angaben konfiguriert werden. Zum einen kann über die Checkbox "In Workflow-Regeln verwenden?" konfiguriert werden, ob das Feld in der Feldliste bei den Workflow-Regeln gelistet wird. Hierdurch bleibt die Liste kurz und übersichtlich. Zum anderen kann über die Checkbox "SQL Insert?" festgelegt werden ob das Feld beim Speichern in die Datenbank-Tabelle "Invoice_Posting_Head" geschrieben wird. Die Tabellen-Spalte wird mit dem gleichnamigen Namen vor belegt. Beim Import von projektspezifischen Feldern (abgesehen von horizontalen Trennern) ist die Checkbox "SQL Insert?" automatisch gesetzt. Die Tabelle "Invoice_Posting_Head" muss entsprechend erweitert werden. Alternative Über den Link in der Spalte "Alternativen öffnen",  wird eine neue spezifische Ansicht geöffnet. Hier können alternative Eigenschaften für das Feld in Abhängigkeit zu Feldwerten definiert werden. Bei der Validierung soll der Anwender einen großen Teil der Feldwerte geändert werden können und in der Freigabe soll der Anwender oft gar keine Feldwerte ändern können. Einige Feldwerte sollen erst ab einem bestimmten Workflow-Schritt zu einer Pflicht-Angabe werden oder sollen nur in einem bestimmten Workflow-Schritt angezeigt werden. Die Einträge werden nach absteigender Priorisierung überprüft. Pro Eintrag können die Workflow ID, die Aktion und der Status sowie 2 beliebige Feldwerte abgefragt werden. Sobald bei einem Eintrag alle Feldwerte übereinstimmen werden die Attribute zum Eintrag übernommen. Statt der Feld-Angabe kann der Eintrag "Alle Felder" verwendet werden. Ein solcher Eintrag gilt übergreifend für alle Felder. Zu einem Feldwert können die folgenden Feld-Attribute gesetzt werden: Pflichtfeld? In Ansicht darstellen? Schreibgeschützt? Selbe Zeile wie Vorgänger? PropCache Die Feldkonfiguration samt Alternativen werden im PropCache-Eintrag "FieldConfiguration" als Json-String festgehalten. Der PropCache wird bei einer Anpassungen über die WEB-Konfiguration automatisch geleert. Feldkonfiguration laden Die passenden Feld-Attribute werden über die Funktion "setFieldAttributesByConfig" am DocFile-Objekt geladen. Diese Funktion wird zum einen nach jeder Weiterleitung der Mappe ausgeführt ("afterForwardFileScript") und kann manuell über die benutzerdefinierte Aktion "Feldkonfiguration laden" über die Aktionsliste ausgeführt werden. Zusätzlich oder alternativ können die Attribute "In Ansicht darstellen?" und "Schreibgeschützt?" bei jedem Zugriff auf die Mappe aktualisiert werden ("decreaseFieldRightOnFileViewScript"). Hierdurch können Felder abhängig von anderen Feldwerten ausgeblendet werden oder einen Schreibschutz erhalten. Bereits ausgeblendete Felder können durch das Skript nicht wieder angezeigt werden! Für die Aktivierung des Skripts muss der Parameter "Kopf-Feld Konfiguration" ("HeadFieldConfigSettings" - 2. Parameter-Wert) aktiviert werden. Einen Sonderfall stellen die technischen Felder auf den Registern "Workflow", "Gentable" und "Rights" dar. Auf diese Felder haben die Benutzer nur lesenden Zugriff. Lediglich die Benutzer der Gruppe "WorkflowError" können Feldwerte bearbeiten, wenn die Feldbearbeitung über die Feld-Konfiguration zugelassen wird. Die Register "Gentable" und "Rights" sehen in der Standard-Auslieferung generell nur Mitglieder der Gruppe "WorkflowError". Dies kann jedoch projektspezifisch über das User-Exit Skript "Invoice__UserExit_DF_HideRegisterOnFileView" angepasst werden. Positions-Felder - Feldkonfiguration Die Positions-Felder werden im sogenannten Gentable dargestellt. für die Aktivierung muss die Eigenschaft "hasInvoicePlugin" am Mappentypen gesetzt sein. Technisch wird die komplette Tabellen-Struktur in das Feld "Gentable" geschrieben. Der Aufbau bzw. die Darstellung des Gentable wird über eine XML-Struktur definiert. Diese XML wird über die Eigenschaft "gentableDefScriptName" über ein Skript generiert (Invoice_DF_GentableDefScriptName). Die genaue Funktionsweise kann in der Hersteller Dokumentation "GenTable Administration" vom Hersteller Otris nachgelesen werden. Gentable Konfiguration Über diese WEB-Konfiguration können sowohl die ganz allgemeinen Einstellungen sowie alle optionalen Eigenschaften für das Gentable gesetzt werden, welche zum Aufbau der Gentable-XML verwendet werden.. An den allgemeinen Einstellungen müssen keine Anpassungen vorgenommen werden. Es sollten auch nur Anpassungen vorgenommen werden, wenn man genau weiß was man tut. Unter den XML-Einstellungen können die globalen Einstellungen der Konfigurationsdatei vorgenommen werden. Die Beschreibung zu den einzelnen technischen Namen muss der oben genannten Hersteller-Dokumentation entnommen werden. An dieser Stelle werden nur 2 Werte kurz erläutert. Über den Eintrag "fieldName" wird das Feld zum Speichern der Gentable-Werte angegeben und über den Eintrag "storeFormat" kann entschieden werden, ob die Tabellen-Struktur als "xml" oder "json" gespeichert werden soll. Positions-Felder Über diese Konfiguration werden die Definitionen zu den einzelnen Gentable-Spalten angegeben. In der Standard-Sortierung der WEB-Konfiguration werden zuerst die aktiven Felder nach aufsteigender "Sortierung" gelistet. Im Standard sind bereits ca. 200 vorkonfigurierte Felder enthalten. Durch einen Doppel-Klick auf einen Eintrag bzw. durch einen Klick auf das Stift-Symbol im rechten Bereich öffnet sich die Standard-Feldkonfiguration. Diese Feld-Konfiguration greift, solange keine spezifische und für eine Rechnung zutreffende Alternative definiert wurde. Über den Button können projektspezifische Positions-Felder konfiguriert werden. Neben dem technischen Feldnamen muss die Übersetzung und eine Nummer für die Sortierung angegeben werden. Über die Checkbox "Aktiv?" wird die Verwendung der Spalte aktiviert bzw. deaktiviert. Bei aktiven Feldern wird zudem die Aktivierungsbedingung geprüft. Als Beispiel für eine solche Bedingung wird bei einigen Feldern der Wert "%HasOrder%=true" ausgeliefert. Die Checkbox "HasOrder" im Kopf gibt an, ob es sich um eine Rechnung mit Bestellbezug handelt oder nicht. Durch eine solche Bedingung können Gentable-Spalten in Abhängigkeit von Kopf-Feldwerten ein- oder ausgeblendet werden. Es stehen alle Gentable-Feldtypen zur Verfügung. Je nach Feldtyp ändert sich die Anzeige. Bei String-Feldtypen kann zum Beispiel eine maximale Eingabelänge definiert werden und bei numerischen Werten kann die Anzahl der Nachkommastellen definiert werden. Ein Feld kann als Pflichtfeld deklariert werden und kann einen Schreibschutz erhalten oder lediglich angezeigt werden. Technische Felder können über die Checkbox "In Ansicht darstellen?" auch komplett ausgeblendet werden. Zudem kann für jedes Feld eine Standard-Feld-Breite sowie eine maximale Feld-Breite definiert werden und es kann eine Vorbelegung bei der Erstellung neuer Zeilen festgelegt werden. Die Positions-Felder sollten immer in die Datenbank-Tabelle "Invoice_Posting_Pos" geschrieben werden. Nur so funktioniert ohne Datenverlust auch der umgekehrte Weg aus der Datenbank in das Gentable-Feld. Für alle ausgelieferten Gentable-Spalten existiert bereits eine Spalten mit dem technischen Gentable-Spalten-Namen. Die Spalte "ID" hat in diesem Fall eine Sonderstellung. In der Tabelle ist die "ID"-Spalte eine Auto-Inkrement-Zeile. Wenn eine neue Gentable-Zeile in die Tabelle geschrieben wird, dann wird die erzeugte "ID" zurück in die gleichnamige Gentable-Spalte "ID" geschrieben. Sobald eine Gentable-Zeile einer ID zugeordnet wurde werden nur noch UPDATE-Befehle ausgeführt. JavaScript Events Über die weiteren Register können zusätzliche Einstellungen konfiguriert werden. Unter "EVENTS" können bis zu 3 Javascript-Events definiert werden. Die zur Verfügung stehenden Events können aus einer Auswahlliste ausgewählt werden. Die ausgelieferten Funktionen befinden sich in der Documents-Installation unter "..\DEXPRO\ScriptExits\DexLib\". Damit die hier enthaltenen Dateien bei einem Invoice-Update überschrieben werden können, sollten diese Dateien nicht angepasst werden. Projektspezifische Anpassungen müssen in die Datei "..\DEXPRO_ClientExits\DexClientExits.jsp" geschrieben werden. Autocomplete Die Autocomplete-Funktion ruft das Documents-User-Exit-Skript "DEXPRO__UserExit_Autocomplete" auf. Das Skript wird unverschlüsselt ausgeliefert und kann im Projekt beliebig angepasst werden. Bei den Autocomplete-Einstellungen können beim Aufruf Kopffelder als Skript-Parameter mitgegeben. Sonstiges Um die kompletten Funktionen des Gentable abbilden zu können gibt es auf dem Register "Sonstiges" noch die Möglichkeit eine CSS-Klasse für die Spalte zu definieren und Bedingungen ("conditions") zu definieren. Bei den Bedingungen können Zeilen in Abhängigkeit von Feldwerten ausgeblendet werden oder einen Schreibschutz erhalten. Genaueres hierzu findet sich in der Gentable-Administrations-Dokumentation. Alternativen Wie bei den Kopf-Feldern können zu einem Feld sogenannten "Alternativen" definiert werden. Diese Alternativen werden über einen numerischen Wert priorisiert und werden nach absteigender Priorisierung überprüft. Pro Priorität können die Standard-Felder "Workflow", "Aktion" und "Status" abgefragt werden und es können zusätzlich 2 beliebige Feldwerte herangezogen werden. Sobald alle Angaben einer Alternative zutreffen, ersetzen die Angaben aus der Alternative die Standard-Werte. Weitere Alternativen werden nicht mehr überprüft. Bei der Anlage neuer Alternativen sieht man zusätzlich zu den Optionen den Standardwert zum Feld. Es müssen nur die Werte angegeben werden, welche vom Standard abweichen.                     Gentable Schaltflächen Oberhalb der Positionsdaten (Gentable) können Buttons angezeigt werden, welche über die WEB-Konfiguration "Gentable Schaltflächen" konfiguriert werden können. Im Standard werden einige solcher Buttons zum Beispiel zur Anlage neuer Zeilen oder zum Kopieren oder Löschen bestehender Zeilen ausgeliefert. Diese Schaltflächen werden in der angegebenen Priorisierungs-Reihenfolge angezeigt und können optional statt einer Beschriftung mit einem Icon versehen werden. Ein Button muss eine spezifische Funktion ausführen. Über das Stift-Symbol im rechten bereich können bestehende Einträge verändert werden und über die Mülltonne können bestehende Einträge wieder gelöscht werden. Über den Button kann ein Button hinzugefügt werden. Durch einen Doppelklick auf einen Schaltflächen-Eintrag öffnet sich eine neue Ansicht, über die man Buttons bei bestimmten Feldwert-Kombinationen ein- bzw. ausblenden kann. Gentable Konfiguration Über diese Konfiguration können sehr spezifische Wert angegeben werden, welche zum Aufbau der XML-Struktur verwendet werden. Die Konfiguration unterteilt sich auf 2 Register. Auf dem Register "ALLGEMEINE EINSTELLUNGEN" befinden sich größtenteils die Angaben, welche nicht angepasst werden sollten! Lediglich der Eintrag "UtilOutXml" kann bei Supportfällen temporär auf "true" gesetzt werden, um die generierte XML-Struktur in das Documents-Log auszugeben. Die Einstellung darf aus Performance-Gründen nie lange aktiv sein! Die Einträge vom Register "XML-EINSTELLUNGEN" werden als Kopf-Werte in die XML-Struktur übernommen. Bei der Angabe "storeFormat" kann zum Beispiel angegeben werden ob die Gentable-Daten als JSON oder im XML-Format gespeichert werden. Die Beschreibung der einzelnen Angaben kann der Hersteller-Doku zur Gentable-Administration entnommen werden. Suchfelder Alle Positionsdaten werden im JSON-Format oder als XMl-Struktur in ein Feld geschrieben. Hierdurch kann zum Beispiel nicht spezifisch nach einer bestimmten Kostenstelle gesucht werden. Als Workaround wurden zusätzliche technische Suchfelder im Kopf angelegt. Über diese Konfiguration können bis zu 3 Positions-Felder angegeben werden, welche einem Kopffeld zugeordnet werden. Der Inhalt aus allen Zeilen von den angegebenen Spalten wird in das entsprechende Feld geschrieben und das Kopffeld kann entsprechend in der Suchmaske angezeigt werden. Es können zusätzlich weitere Suchfelder angelegt oder vorhanden angepasst werden. Archiv-Zuordnung Die XML-Struktur für den Aufbau des Gentable wird im Standard durch ein Skript generiert. Die Konfiguration wird aus den Datenbank-Tabellen ermittelt und als Schlüssel dient der Mappentyp-Name "Invoice". Bei Archiv-Mappen wird als Mappentyp-Name jedoch eine Angabe wie zum Beispiel "Instance=Default/ eex_Invoice" ausgegeben und somit kann die Gentable-Konfiguration nicht ermittelt werden. Über die Zuordnung in dieser Tabelle kann ein Archiv-Mappentyp einem Mappentypen zugeordnet werden. Beleg-Trennung Diese Funktion kann nur in Zusammenhang mit Squeeze verwendet werden! Unter Umständen kann es passieren, dass mehrere Rechnungen in einem Dokument zusammenhängen. Über die Beleg-Trennung können die Belege in Squeeze getrennt werden. Für jeden neuen Beleg wird die Beleg-Analyse neu gestartet. Die Ausgangs-Mappe in Documents muss ausgesteuert werden. Dokumenten-Trennung Die Dokumenten-Trennung funktioniert nur im Zusammenhang mit Squeeze. Die eigentliche Dokumenten-Trennung erfolgt in Squeeze und nicht in Documents! Die Aktion "Dokument teilen" kann wahlweise als Button oder in der Aktions-Liste angezeigt werden. Projektspezifisch wird konfiguriert, welche Benutzer bzw. Benutzergruppen in welcher Workflow-Aktion Zugriff auf die Aktion erhalten. Es öffnet sich ein Pop-Up mit wichtigen Informationen. Einseitige Dokumente können nicht weiter aufgeteilt werden! Für die Dokumenten-Trennung muss ein Beleg aus mindestens 2 Seiten bestehen! Die Anzahl der Beleg-Seiten und die Anzahl der bereits aufgeteilten Seiten wird aus Squeeze ermittelt. Technisch wird für die Abfrage im Feld "SqueezeID" die eindeutige Squeeze Beleg ID gespeichert. Der Beleg im folgenden Beispiel enthält 2 Seiten und wurde bislang noch nicht aufgeteilt. Sobald der Anwender im Pop-Up auf den "OK" Button klickt wird die Rechnungs-Mappe für die weitere Bearbeitung gesperrt und es öffnet sich ein weiteres Pop-Up für die Dokumenten-Trennung. Die Rechnungs-Seiten müssen dann in jedem Fall neu aufgeteilt werden, denn die aktuelle Rechnungs-Mappe kann nur noch ausgesteuert werden.  Durch das Pop-Up und die zusätzlich notwendige Bestätigung durch den Anwender sollen Fehlbedienungen vermieden werden. Im Notfall müssen alle Seiten einem neuen Beleg zugeordnet werden. Im Pop-Up wird im rechten Bereich das komplette ungeteilte Dokument angezeigt und im linken Bereich werden zunächst alle Seiten unter "Original" gelistet. Via Drag-N-Drop können die Seiten zu einer Rechnung auf den Stapel "Neu" gezogen werden. Sobald alle Seiten zu einer Rechnung unter "Neu" abgelegt wurden, wird über den Button "Dokument erzeugen" ein neuer Squeeze-Beleg mit diesen Seiten erstellt. An der Mappe in Documents ändert sich hierdurch nichts! Durch den Button "Dokument erzeugen" verschwinden die Seiten vom Stapel "Neu". Jetzt können die Seiten zur nächsten Rechnung auf den Stapel "Neu" gezogen werden und über "Dokument erzeugen" kann der nächste Squeeze-Beleg erzeugt werden. Der Vorgang muss so lange wiederholt werden, bis alle Rechnungen in Squeeze als separate Belege neu erstellt wurden bzw. bis der Stapel "Original" keine Rechnungs-Seiten mehr enthält. Die Aktion kann auch jederzeit unterbrochen und zu einem späteren Zeitpunkt fortgesetzt werden! Aus einem Beleg mit mehreren Rechnungen werden durch die Trennung mehrere neue Squeeze-Belege mit jeweils einer Rechnung. Die einzelnen Rechnungs-Belege werden erneut analysiert und werden im Anschluss erneut an den Squeeze-Export übergeben und ggf. werden direkt neue Rechnungs-Mappen in Documents erzeugt. Die Ausgangs-Mappe kann nicht weiter verarbeitet werden und die aktuelle Workflow-Aktion kann nicht mehr abgeschlossen werden. Der Anwender erhält jeweils eine Fehlermeldung. Der Beleg kann nur ausgesteuert werden. Falls der aktuelle Benutzer keine entsprechenden Berechtigungen besitzt kann der Beleg an einen berechtigten Benutzer weitergeleitet werden bzw. kann der Anwender die Mappe an vorherige Workflow-Aktionen zurück versenden. Evtl. existieren projektspezifische Lösungen, um einen Beleg weiterzuleiten. Die Anzeige dieser Standard-Aktionen kann in jedem Projekt unterschiedlich konfiguriert sein. Kreditor-CSV Teilweise können Kreditoren eine passende CSV mit den Rechnungspositionen bereitstellen. Für den Kreditor muss der Aufbau der CSV-Datei in der Konfiguration hinterlegt werden. Die CSV kann im Anschluss an ein separates Register hochgeladen werden und nun können die Rechnungspositionen geladen werden. WEB-Konfiguration Im ersten Schritt muss der Aufbau der CSV-Datei für den Kreditor definiert werden. Die CSV-Datei eines Kreditors muss einen gleichbleibenden Aufbau haben. Auf der Administrations-Outbar " Invoice " befindet sich unter " Feldkonfigurationen " der Ordner " Kreditor CSV ". Pro Kreditor müssen folgende Angaben erfolgen: Eindeutige Kreditor ID Kreditor Name Der Trenner zweichen den Werten in der CSV-Datei Die Anzahl an Kopfzeilen, welche beim Auslesen übersprungen werden sollen (zum Beispiel die Kopfzeile) Optional kann direkt die Spaltennummer angegeben werden Alternativ kann das Mapping über die Spaltenüberschrift erfolgen Hierzu muss angegeben werden in welcher Zeile die Überschriften stehen Im zweiten Schritt muss das Feldmapping angegeben werden. Bei einem Doppelklick auf den Einträg öffnet sich eine neue Ansicht. Über den Button " NEUER EINTRAG " kann ein neues Mapping definiert werden. Je nachdem ob die Zuordnung über die Spaltennummer oder die die Spaltenüberschrift vorgenommen wird variiert die erste Spalte. Beim Mapping muss entweder eine Zuordnung zu einer CSV-Spalte bzw. einer Spaltenüberschrift erfolgen oder es kann alternativ ein fixer Wert angegeben werden, welcher in alle Zeilen geschrieben wird. In jedem Fall muss die Zuordnung zu der Gentable-Spalte gesetzt werden. Die Liste enthält alle aktiven Spalten. Bei der Zuordnung über die Spaltennummer variiert lediglich die Anzeige der ersten Spalte. Bei der Zuordnung über den Spaltennamen muss der korrekte Spaltenname in der korrekten Schreibweise inklusive Leerzeichen angegeben werden: Sollten irgendwelche Angaben in der CSV nicht enthalten sein, welche allerdings fix vorgegeben werden können, dann kann dieser Wert über die Angabe " Fester Wert " fix gesetzt werden. Beim Auslesen der CSV werden die bisherigen Positionszeilen verworfen und neu gelesen. Konfigurations-Anpassungen können somit jederzeit schnell getestet werden. Über die Konfiguration kann lediglich das Mapping konfiguriert werden. Werte die nicht in der CSV-Datei enthalten sind werden sind können über die WEB-Konfiguration nicht automatisch generiert werden! Über die unterschiedlichen UserExit-Funktionen können die einzelnen Werte sowie das gesamte Ergebnis beliebig angepasst werden. Hochladen und Auslesen einer CSV Datei Die Voraussetzung für das Einlesen einer CSV-Datei ist, dass am Rechnungs-Vorgang ein Kreditor hinterlegt ist und zudem muss für diesen Kreditor eine CSV-Konfiguration existieren. Die CSV-Datei muss passend zur Konfiguration sein. Nachdem die CSV-Konfiguration für den Kreditor eingerichtet wurde kann die CSV-Datei an eine Rechnungs-Akte hochgeladen werden. Hierfür muss der Anwender auf das Dokumenten-Register " Kreditor CSV " wechseln. Die Anzeige des Registers wird über ein Skript gesteuert und kann somit von Projekt zu Projekt variieren. Die Anzahl der direkt angezeigten Register ist in der Standardauslieferung eingeschränkt. Weitere Register verbergen sich hinter dem Pfeil am Register. Wenn Sie das Register weiterhin nicht sehen wenden Sie sich an den Administrator. Am Register werden 2 benutzerdefinierte Aktion als Button angezeigt. Über den Button mit dem Icon öffnet sich ein Pop-Up-Fenster mit einer sogenannten Dropzone. Die CSV-Datei kann via Drag-N-Drop auf diese Dropzone gezogen werden. Durch die Bestätigung "OK" wird die CSV-Datei an das Register hochgeladen. Über den zweiten Button " CSV auslesen " wird die CSV-Datei verarbeitet und pro Zeile in der CSV-Datei wird eine Rechnungsposition erstellt. Der Button wird im Bearbeitungs-Modus ausgeblendet. Wenn Sie den Button nicht sehen müssen Sie die Rechnungs-Akte über den Button "Speichern" zuerst speichern. Sollte bei der Ausführung noch keine Konfiguration zum Kreditor existieren wird eine entsprechende Fehlermeldung ausgegeben. Die bestehenden Positionszeilen samt der evtl. bereits hinzugefügten Kontierung gehen unwiederruflich verloren und werden durch die Positionsangaben aus der CSV ersetzt! User-Exit Funktionen Es werden diverse User-Exit Funktionen bereitgestellt, um die Daten zu gegebenen Zeitpunkten zu manipulieren. CreditorCsv( DocFile, Log ) Technisch wird im Hintergrund ein Objekt vom Typen CreditorCsv erzeugt. Dem Objekt muss zwingend ein DocFile-Objekt übergeben werden. Wenn kein spezifisches Logging-Objekt übergeben wird, wird ein eigenes erzeugt. Das Objekt selber enthält folgende Attribute: Error {string} Fehlermeldung Log {Log} Das übergebene Log Objekt DocFile {DocFile} Das übergebene DocFile Objekt ID {string} ID des DocFile-Objekts Gentable {Gentable} Gentable des übergebenen DocFile Objekts CsvArr {Array} Array mit den CSV-Zeilen Seperator {string} CSV-Trennzeichen DecSeperator {string} Dezimaltrennzeichen NoHeadLineCol {int} Anzahl zu überspringende Kopfzeilen CsvMapping {Array} Array mit Spalten-Mapping-Objekten Die User-Exit-Funktionen werden via prototype hinzugefügt. Dadurch erhält der Anwender Zugriff auf die Objekt-Attribute. In der Regel muss in den User-Exit-Funktionen zwischen den Kreditoren unterschieden werden. Der Kreditor kann über das DocFile-Objekt ermittelt werden.   ue_CreditorCsv_AdjustLineString(currentLine, lineNo) Die Funktion wird nach dem Auslesen jeder einzelnen Zeile aufgerufen. Durch die Funktion kann der komplette Zeilen-String manipuliert werden. Zum Beispiel kann via util.transcode() ein falsches Encoding korrigiert werden. /** CSV-Zeile manipulieren * @param {string} currLine CSV-Zeile als String * @param {int} lineNo Aktuelle Zeilennummer für Logausgaben * @returns {string} Angepasste CSV-Zeile als String **/ CreditorCsv.prototype.ue_CreditorCsv_AdjustLineString = function(currLine, lineNo){ var creditorID = this.DocFile.CreditorID; if( creditorID==="12345" ){ return util.transcode("ISO-8859-15", currLine, "UTF-8"); } return currLine; }   ue_CreditorCsv_IgnoreLine(currentLineArr, currentLine, lineNo) Nachdem die Zeile ausgelesen wurde wird die Zeile über den Trenner gesplittet und die Teil-Strings werden in ein Array geschrieben. Die CSV-Dateien können Summenzeilen enthalten, welche beim Auslesen übersprungen werden sollen. Oft können solche Zeilen einfach identifiziert werden, da bestimmte Spaltenwerte fehlen. Es kann auch sein, dass eine CSV die Daten von mehreren Rechnungen enthält. Über die Funktion können die Zeilen mit abweichender Rechnungsnummer übnersprungen werden. /** CSV-Zeile überspringen * @param {Array} currLineArray CSV-Zeilen Array mit den einzelnen String-Werten * @param {string} currLine CSV-Zeile als String * @param {int} lineNo Aktuelle Zeilennummer für Logausgaben * @returns {boolean} 'true' um Zeile zu überspringen **/ CreditorCsv.prototype.ue_CreditorCsv_IgnoreLine = function(currLineArray, currLine, lineNo){ var creditorID = this.DocFile.CreditorID; if( creditorID==="12345" ){ if( currLineArray[10]==="" ){ return true; } } return false; }   ue_CreditorCsv_AdjustLineArray(currentLineArr, lineNo) Direkt nach der Funktion ue_CreditorCsv_IgnoreLine() wird gleich das nächste UserExit ausgeführt, um bestehende Zeilen-Werte zu manipulieren. Hier ist zu berücksichtigen, dass alle Werte im Array als String vorliegen! /** CSV-Zeilen-Werte manipulieren * @param {Array} currLineArray CSV-Zeilen Array mit den einzelnen String-Werten * @param {int} lineNo Aktuelle Zeilennummer für Logausgaben * @returns {Array} Angepasstes Zeilen-Array **/ CreditorCsv.prototype.ue_CreditorCsv_AdjustLineArray = function(currLineArray, lineNo){ var creditorID = this.DocFile.CreditorID; if( creditorID==="12345" ){ /* ... */ } return currLineArray; }   ue_CreditorCsv_Parse_String(value, techFieldName) ue_CreditorCsv_Parse_Bool(value, techFieldName) ue_CreditorCsv_Parse_Date(value, techFieldName) ue_CreditorCsv_Parse_Timestamp(value, techFieldName) ue_CreditorCsv_Parse_Numeric(newValue, value, noDecPlaces, techFieldName) Die einzelnen Angaben in der CSV werden als String ausgelesen und müssen ggf. in andere Typen formatiert werden. Die verwendeten Funktionen bieten wiederum diese User-Exit-Funktionen an, um die Angaben zu manipulieren. /** Einzelnen String-Wert manipulieren * @param {string} value Eingehender String-Wert * @param {string} techFieldName Technischer Name der Gentable-Spalte * @returns {string} Angepasster String-Wert **/ CreditorCsv.prototype.ue_CreditorCsv_Parse_String = function(value, techFieldName){ var creditorID = this.DocFile.CreditorID; if( creditorID==="12345" ){ switch(techFieldName){ case "GLAccount": /* ... */ break; } } return value; } /** Einzelnen Numerischen-Wert manipulieren * @param {float} newValue Geparster numerischen Wert geparster * @param {string} value Ursprünglicher String-Wert * @param {int} noDecPlaces Anzahl Dezimalstellen * @param {string} techFieldName Technischer Name der Gentable-Spalte * @returns {float} Angepasster Wert **/ CreditorCsv.prototype.ue_CreditorCsv_Parse_Numeric = function(newValue, value, noDecPlaces, techFieldName){ var creditorID = this.DocFile.CreditorID; if( creditorID==="12345" ){ switch(techFieldName){ case "Net": /* ... */ break; } } return value; }   ue_CreditorCsv_AdjustRow(row, lineNo) Über das Zeilen-Array wird ein Gentable-Zeilen-Objekt erstellt und diese Gentable-Zeile kann im Anschluss manipuliert werden. Über Stammdaten-Abgriffe können zum Beispiel weitere Werte abgegriffen werden. /** Gentable-Zeile manipulieren * @param {Object} row Gentable row object * @param {int} lineNo Aktuelle Zeilennummer für Logausgaben * @returns {Object} Angepasstes Gentable-Zeilen-Objekt **/ CreditorCsv.prototype.ue_CreditorCsv_AdjustRow = function(row, lineNo){ var creditorID = this.DocFile.CreditorID; if( creditorID==="12345" ){ if( row.GLAccount==="XYZ" ){ row.GLAccount_Desc = "description"; } } return row; }   ue_CreditorCsv_AdjustGentable(gentable) Aus den Gentable-Zeilen wird ein Gentable-Objekt erstellt und auch dies kann wiederum manipuliert werden. Manchmal ist es erwünscht, dass Zeilen mit übereinstimmenden Angaben automatisch zusammengefasst werden. /** Gentable-Zeile manipulieren * @param {Gentable} rows Gentable object * @returns {Gentable} Angepasstes Gentable **/ CreditorCsv.prototype.ue_CreditorCsv_AdjustGentable = function(rows){ var creditorID = this.DocFile.CreditorID; if( creditorID==="12345" ){ for( var i=0; iaccPos.length ){ for( r=this.Rows.length-1; r>=accPos.length ;r-- ){ if( this.Logg instanceof Log ){ this.Logg.info("["+r+"] this.Rows.pop();"); } this.Rows.pop(); } } */ } /** Before standard accounting execution **/ Gentable.prototype.ue_AfterStandardAccounting = function(standardAccountingObj){ ; } Persönliche Einstellungen Abwesenheitseinstellung Durch einen Klick rechts oben auf das Benutzer-Kürzel öffnen sich die persönlichen Einstellungen. Die Abwesenheitseinstellungen können über den Punkt "Abwesenheit" angepasst erden. Durch die Auswahl "Abwesenheit" öffnet sich ein weiteres Pop-Up. Standardmäßig ist ein Benutzer aktiv, was durch den gesetzten Radio-Button " Ich bin zur Zeit im Haus " signalisiert wird. Sobald der Anwender den Radio-Button " Ich bin zur Zeit nicht im Haus " setzt, wird automatisch die Einstellung "Ich bin zur Zeit im Haus" deaktiviert und umgekehrt. Durch die Auswahl werden die darunter befindlichen Punkte aktiv bzw. werden ausgegraut. Abwesenheit konfigurieren Über den Radio-Button " Ich bin zur Zeit nicht im Haus " wird der Anwender nach Bestätigung über den Button " OK " direkt abwesend gesetzt. Setzt der Anwender zusätzlich einen Zeitraum " von " und " bis ", dann ist die Abwesenheit nur in diesem Zeitraum aktiv! Der Radio-Button muss hierbei zwingend auf " Ich bin zur Zeit nicht im Haus " stehen bleiben! Andernfalls greift die Vertretung nicht! Über die Checkbox " Gesperrte Mappen im Eingangskorb an den Vertreter weiterleiten " werden die Belege aus dem persönlichen Ordner " Eingang " an den definierten Vertreter delegiert. Bei der Auswahl der Vertreter muss berücksichtigt werden, dass Zugriffsberechtigungen nicht automatisch übertragen werden! Über die Checkbox " Vertretene Mappen in den Eingang zur Info " bleibt der Vorgang zusätzlich im eigenen Eingang. Der Anwender sieht am Vorgang aber lediglich den Button " Gelesen ". Wenn ein Vorgang über den Workflow bereits gelöscht wurde, dann verschwindet auch die "Gelesen"-Information. Vertreter konfigurieren In einer Doppelauswahlliste werden alle freigegebenen Benutzer angezeigt bei denen die Eigenschaft " Benutzer in Documents-Listen anzeigen " gesetzt ist. Bei der Auswahl der Vertreter ist die Reihenfolge entscheidend. Das System prüft zunächst den obersten angegebenen Vertreter. Wenn dieser ebenfalls abwesend ist, dann wird zunächst der Vertreter des Vertreters geprüft und falls dieser wiederum abwesend ist, wird dessen Vertreter geprüft. Erst wenn bei dem abwesenden Vertreter kein Vertreter ermittelt werden konnte wird der nächste Vertreter in der Liste überprüft. Die konfigurierten Vertreter gelten für alle unterschiedlichen Mappentypen. Es kann nicht zwischen Rechnungen, Bestellungen oder Verträgen unterschieden werden! Über den Documents-Manager können hierfür " Mappentyp-Vertreter " definiert werden. Für diese Einstellung gibt es jedoch keine WEB-Konfiguration worüber sich ein Anwender seine " Mappentyp-Vertreter " definieren kann. Sobald ein Mappentyp-Vertreter definiert wurde, werden bei Mappen zu diesem Mappentypen auch nur diese Vertreter geprüft. Das kann etwas verwirrend sein, da der Anwender diese Konfiguration selber nicht sieht. Bei der Abarbeitung der Mappentyp-Vertreter werden bei Abwesenheiten der Vertreter auch nicht dessen Vertreter rekursiv iteriert - es wird lediglich die Liste der definierten Mappentyp-Vertreter durchlaufen. Bei der delegation der Belege an einen Vertreter muss berücksichtigt werden, dass Zugriffsberechtigungen nicht automatisch übertragen werden! Fehlende Berechtigungen bei den Modulen Invoice, Mailroom und Procurement können die Anwender über den Eintrag " GACL-Berechtigungen prüfen " setzen. Nach der Abwesenheit Eine Abwesenheit kann manuell über den Radio-Button " Ich bin zur Zeit im Haus " oder automatisch über den Abwesenheitszeitraum aufgehoben werden. Wenn ein Abwesenheitszeitraum definiert wurde, dann wird der Radio-Button nach Ablauf der Abwesenheit automatisch wieder auf " Ich bin zur Zeit im Haus " gesetzt. Über die Checkbox " Vertretene Mappen zurückholen " können Belege die während der Abwesenheit an einen Vertreter delegiert wurden aber die noch nicht weiter im Workflow verarbeitet wurden zurückgeholt werden. Über die Checkbox " Vertretene Mappen aus dem Eingang der Vertreter entfernen " können die zurückgeholten Belege zudem aus dem Eingangs-Ordner der Vertreter entfernt werden.