Feld-Mapping
Allgemein
Über den Ordner "Dynamics 365 BC->Feld-Mapping" kann die Konfiguration des Feld-Mappings geöffnet werden. Dieses enthält alle Felder, welche aus BC ausgelesen und in den Workflow überführt werden sollen.
Die hier definierten Felder werden werden ebenfalls am Ende des Workflows zurück Richtung BC übergeben.
In der Standardauslieferung sind bereits alle im Standard vorhandenen Felder definiert. Ggf. müssen nur noch Dimensionen oder benutzerdefinierte Felder hier hinzugefügt werden.
Vorsicht: Wird ein Feld nicht in diesem Mapping hinterlegt, so geht dieser Wert verloren und wird später auch in der erstellen Einkaufsrechnung/Gutschrift nicht mehr zu finden sein!
Konfiguration
Im Standard ist die Konfiguration mit dem Namen "Dynamics_Invoice" für das Mapping mit Dynamics 365 BC gedacht. Über einen Doppelklick kann die Konfiguration geöffnet werden.
Es kann theoretisch ein beliebiger Name für die Konfiguration genommen werden, allerdings müssen dann ALLE Skripte angepasst werden, in welcher auf diese Konfiguration verwendet wird. Eine Änderung des Namens ist deshalb nicht empfehlenswert.
Mapping (Kopf-Felder)
Im Register Mapping (Kopf-Felder) befinden sich alle Kopffelder, welche aus Dynamics 365 BC übernommen werden sollen.
Beispiel
Das Feld mit dem Namen currency auf Dynamics 365 BC Seite, wird auf Documents-Seite in das Feld "Currency" geschrieben. Wird die Checkbox "Aktiv?" deaktiviert, wo wird das Feld beim Import und Export ignoriert. Dies kann hilfreich sein, wenn Fehler auftreten und getestet werden soll, ob ein Fehler noch immer auftritt, wenn ein bestimmtes Feld deaktiviert hat.
User-Exits (Kopf-Felder)
Über die User-Exits userExit_ParseHeadValue und userExit_ParseHeadValue_Export können die Werte beim Import bzw. Export verändert werden. Der Rückgabewert des User-Exits definiert dabei welcher Wert in das Feld in Documents geschrieben wird bzw. welcher Wert zurück zu BC übergeben wird.
Für die Felder dimensions, metadata und type existieren im Standard definierte User Exits, da die Werte in der Form, wo sie von BC geliefert werden nicht dem mit Workflow kompatibel sind und entsprechend geparst werden müssen.
Mapping (Positions-Felder)
Im Register Mapping (Positions-Felder) befinden sich alle Positionsfelder, welche aus Dynamics 365 BC übernommen werden sollen.
Beispiel
Das Feld mit dem Namen description auf Dynamics 365 BC Seite, wird auf Documents-Seite in das Feld "NavisionTypeDescription" geschrieben. Wird die Checkbox "Aktiv?" deaktiviert, wo wird das Feld beim Import und Export ignoriert. Dies kann hilfreich sein, wenn Fehler auftreten und getestet werden soll, ob ein Fehler noch immer auftritt, wenn ein bestimmtes Feld deaktiviert hat.
User-Exits (Positions-Felder)
Über die User-Exits userExit_ParsePosValue und userExit_ParsePosValue_Export können die Werte beim Import bzw. Export verändert werden. Der Rückgabewert des User-Exits definiert dabei welcher Wert in das Feld in Documents geschrieben wird bzw. welcher Wert zurück zu BC übergeben wird.
Für die Felder dimensions und type existieren im Standard definierte User Exits, da die Werte in der Form, wo sie von BC geliefert werden nicht mit dem Workflow kompatibel sind und entsprechend geparst werden müssen.
Besonderheit beim Mehrwertsteuer-Code-Feld
Das Mehrwertsteuer-Code wird im Mapping bei Feldname Dynamics BC mit dem Wert %vatBusPostingGroup%||%vatProdPostingGroup% angegeben.
Das bedeutet, dass die Werte aus BC mit dem Namen vatBusPostingGroup und vatProdPostingGroup genommen werden und zu einem kombinierten Wert zusammengefasst werden, wobei dieser Wert mit einem ||-Zeichen getrennt wird.
Aus der vatBusPostingGroup "INLAND" und der vatProdPostingGroup "MWST.19" wird also im Workflow der Mwst-Code "INLAND|MWST.19". Dieser Wert wird bei der Rückgabe zu BC automatisch wieder in diese Werten aufgeteilt, so dass es hier zu keinem Informationsverlust kommen kann.
Es können beliebige Felder mit einem || zusammengefügt werden. Dies funktioniert derzeit allerdings nur mit zwei Werten, die zu einem kombiniert werden sollen. Zudem ist es wichtig, dass das Doppelpipe als Trennzeichen verwendet wird, ansonsten klappt die Zusammenführung ebenfalls nicht.
Besonderheiten bei Dimensionen
Dimensionen müssen über die Syntax dimension[DIMENSIONSCODE] hinzugefügt werden. Im Beispiel wird die Dimension "EINKÄUFER" und in das Feld "Custom1" gemappt.
Über die Konfiguration einer Dimensionen wie im Kapitel Dimensionen erläutert, werden se Einträge automatisiert erzeugt. Es ist trotzdem immer ratsam zu prüfen, ob ein Mapping stimmt, falls ein Wert verloren gehen sollte.
Besonderheiten bei generischen Zusatzfeldern
In BC gibt es die Möglichkeit generische Zusatzfelder zu definieren. Dies sind Felder, welche nur bei der Erstellung einer Einkaufsrechnung in BC berücksichtigt werden. In der BC-Validierung werden diese nicht verwendet und auch beim Import aus BC nicht beachtet. Diese Felder sind vor allem dann sinnvoll, wenn Felder erst im Workflow gefüllt werden und in der erstellten Einkaufsrechnung in BC ebenfalls beachtet werden sollen. Wenn Felder ebenfalls in der Validierung in BC angezeigt werden sollen, müssen diese über eine Extension in BC hinzugefügt werden.
Generische Felder können in BC über die Breeze Interface Einrichtung hinzugefügt werden:
In der darauf folgenden Ansicht können Felder für die Einkaufszeile oder Einkaufskopf hinzugefügt werden. Wichtig für das Mapping auf Workflow-Seite ist hier der Wert, welcher unter JSON Feld Name hinterlegt wird. Im folgenden Beispiel description2 für das Feld Beschreibung 2 in der Einkaufszeile.
Im Feld-Mapping im Workflow kann über die Syntax additionalFeld[MEINFELDNAME] ein Mapping für die generischen Zusatzfelder hinzugefügt werden. Im Beispiel wird für das additionalField description2 der Wert aus dem Workflow-Feld Kommentar verwendet.
Generische Zusatzfelder werden nur bei dem Export nach BC beachtet. Beim Import aus BC stehen diese Daten nicht zur Verfügung. Damit Felder sowohl beim Import, als auch beim Export beachtet werden können, müssen diese über eine Extension in BC hinzugefügt werden.
No Comments