office-alexander-logistics/doc/BUSINESSPARTNER.md

3.5 KiB

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.

Z.b. kann das als Custom Part in eine Form eingebunden werden:

<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

<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:

<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:

    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