97 lines
3.5 KiB
Markdown
97 lines
3.5 KiB
Markdown
# BusinessPartner
|
|
|
|
Wir haben einen Workflow für die Verwaltung von BusinessPartner.
|
|
Ein BusinessPartner wird über die bestehende Cargosoft Schnittstelle aus den Debitoren/Kreditoren automatisch importiert und synchronisiert.
|
|
|
|
In Imixs ist es dann aber möglich zusätzliche Attribute zu einem Businesspartner zu speichern. Beispielsweise:
|
|
|
|
- Zahlungsziel
|
|
- Bankverbindungen
|
|
- Emailadressen für Mahnwesen
|
|
|
|
Die Businessparnter werden für jedes System separat importiert und verwaltet.
|
|
|
|
Folgende zentrale Stati werden über das BusinessPartner Modell festgelegt:
|
|
|
|
- TASK_ACTIVE = 1100
|
|
- TASK_VERIFICATION = 1300
|
|
- TASK_INACTIVE = 1700
|
|
- TASK_LOCKED = 1800
|
|
|
|
Die Invoice Plugins aktualisierne automatisch die BusinessPartner Attribute `partner.id` und `partner.name`. Zusätzlich unterbinden die Plugins eine Verarbeitung falls das Business Objekt im Satus LOCKED oder VERIFICATION ist!
|
|
|
|
## BusinessPartner Suche
|
|
|
|
Es gibt einen Controller und ein widget um nach Business Partnern zu suchen.
|
|
|
|
<img src="images/businesspartner-widget.png" />
|
|
|
|
Z.b. kann das als Custom Part in eine Form eingebunden werden:
|
|
|
|
```xml
|
|
<item name="bpid" type="custom" path="alexander/businesspartner_search" required="true" label="Businesspartner:" />
|
|
```
|
|
|
|
Der name ist heirbei irrelevant, da immer die Items `partner.id` und `partner.name` ausgefüllt werden.
|
|
Zusätzlich kann man mit den Options angeben ob die Maske komplett neu gerendert werden soll. Das ist z.b. bei dem Modell `analyse-debitor.bpmn` der Fall
|
|
|
|
```xml
|
|
<item name="dbtr.number" type="custom" path="alexander/businesspartner_search" required="true" label="Debtor:" options="rerender" />
|
|
```
|
|
|
|
Man kann auch noch über die options eine regular Expression mitgeben wodurch die Filterliste eingeschränkt werden kann:
|
|
|
|
```xml
|
|
<item name="dbtr.number" type="custom" path="alexander/businesspartner_search" required="true" label="Debtor:" options="rerender;regexPattern=(ABC)" />
|
|
```
|
|
|
|
Alternativ kann im Backend über die EJB BusinessPartnerService nach bpid gesucht werden:
|
|
|
|
```java
|
|
List<ItemCollection> resultList = businessPartnerService.search(phrase);
|
|
// oder
|
|
ItemCollection bp= businessPartnerService.getBusinessPartnerByID("BP0001");
|
|
```
|
|
|
|
## Invoice Plugins
|
|
|
|
Die Invoice Plugins aktualisieren automatisch partner.id und partner.name falls diese Items noch nicht exiistieren
|
|
|
|
# Daten Migration
|
|
|
|
Der `BusinessPartnerImportService` hängt sich über ein CDI Observer Pattern an den standard CSVImport Service
|
|
der die Cargosoft Stammdaten aktualisiert. Der BusinessPartnerImportService
|
|
prüft ob der Workflow schon existiert oder ggf. aktualisiert werden muss.
|
|
|
|
Der Service migriert auch die alten zusätzlichen IBAN/BIC felder wenn der Business partner erstmals neu angelegt wird. Falls bei der ersten Migration erkannt wird, dass die IBAN Nummern nicht eindeutig sind wir der BusinessParter mit dem Event 300 angelegt.
|
|
|
|
-
|
|
|
|
\_vendor_zip_code
|
|
|
|
\_vendor_fax
|
|
|
|
(type:cargosoftkreditor) AND ($modified:[20010101 TO 20250215])
|
|
|
|
## Anmerkungen zu seltsamen Daten
|
|
|
|
BP4641 existier jetzt 3 mal mit der Debitoren nummer D14641
|
|
|
|
Feldmühle
|
|
|
|
- D14169
|
|
K74169
|
|
|
|
K76233 HSH Papier GmbH & Co. KG
|
|
|
|
D16233 Manfred Ziegler Transport GmbH
|
|
|
|
Problemkind: https://alexander-logistics-dwc.office-workflow.de/pages/workitems/workitem.xhtml?id=9dd64b0a-cfe1-4174-aea4-0e8af45b823f
|
|
|
|
# Business Parter Serach Widget
|
|
|
|
wir müssten eigentlich nach Auswahl des Partner
|
|
|
|
execute="#{customFormComponents.clientId}" render="#{customFormComponents.clientId}"
|
|
|
|
machnen, aber das hat einen blöden effekt
|