From d156379e2629e658a03beca5fe288e04e9a11071 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Tue, 31 Oct 2023 12:48:15 +0100 Subject: [PATCH] =?UTF-8?q?=C3=BCbersetzungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/alexanderlogistics/InvoicePlugin.java | 58 +- .../resources/bundle/custom_de.properties | 27 +- .../resources/bundle/custom_en.properties | 29 +- .../forms/alexander/sub_payment_type.xhtml | 8 +- .../alexander/sub_payment_type_read.xhtml | 2 +- .../forms/alexander/sub_positionen.xhtml | 10 +- .../forms/alexander/sub_positionen_read.xhtml | 11 +- .../parts/alexander/zahlungsart.xhtml | 13 +- workflow/posteingang-pl-1.0.0.bpmn | 957 ++++++++++++++++++ workflow/rechnungseingang-pl-1.0.0.bpmn | 30 +- 10 files changed, 1079 insertions(+), 66 deletions(-) create mode 100644 workflow/posteingang-pl-1.0.0.bpmn diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoicePlugin.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoicePlugin.java index 8138997..72e705c 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoicePlugin.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoicePlugin.java @@ -14,10 +14,11 @@ import org.imixs.workflow.ItemCollection; import org.imixs.workflow.engine.plugins.AbstractPlugin; import org.imixs.workflow.exceptions.PluginException; import org.imixs.workflow.exceptions.QueryException; +import org.imixs.workflow.faces.util.ResourceBundleHandler; /** - * Das InvoicePlugin prüft die Eingaben auf gültigkeit, so dass diese problemlos - * nach Cargosoft expoertier werden können. + * Das InvoicePlugin prüft die Eingaben auf Gültigkeit, so dass diese problemlos + * nach Cargosoft exportiert werden können. *

* Konkret geht es darum, das im Status 5200 in den ChildItems keine leeren * Zeilen vorkommen dürfen. @@ -58,6 +59,9 @@ public class InvoicePlugin extends AbstractPlugin { @Inject KreditorDebitorService kreditorService; + @Inject + ResourceBundleHandler resourceBundleHandler; + /** * Test childworkitems for empty lines * @@ -84,8 +88,8 @@ public class InvoicePlugin extends AbstractPlugin { if (isPublicEvent && workitem.getTaskID() >= TASK_ERFASSUNG && workitem.getEventID() < 900) { if (workitem.getItemValueString("payment.type").trim().isEmpty()) { // throw a plugin exception! - throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, - "Eingabefehler - Bitte wählen Sie eine Zahlungsart aus!"); + String message = resourceBundleHandler.findMessage("ERROR_MISSING_PAYMENT"); + throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, message); } // doppelte Rechnungsnummer prüfen if (workitem.getTaskID() == TASK_ERFASSUNG) { @@ -118,21 +122,23 @@ public class InvoicePlugin extends AbstractPlugin { for (ItemCollection posItem : childs) { if (posItem.getItemValueString("name").trim().isEmpty()) { // throw a plugin exception - because name is missing! - throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, - "Eingabefehler - Die Positionsnummer in Zeile " + posItem.getItemValueString("numpos") - + " muss ausgefüllt sein!"); + String message = resourceBundleHandler.findMessage("ERROR_MISSING_POSNO"); + message = message.replace("{1}", posItem.getItemValueString("numpos")); + throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, message); } // validate pos for regex pattern 'XX-YYY-####-###' if (!posItem.getItemValueString("name").matches(REGEX_POSNUMER)) { // throw a plugin exception - because name is missing! - throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, - "Eingabefehler - Die Positionsnummer in Zeile " + posItem.getItemValueString("numpos") - + " muss im Format 'XX-YYY-####-###' eingegeben werden!"); + String message = resourceBundleHandler.findMessage("ERROR_FORMAT_POSNO"); + message = message.replace("{1}", posItem.getItemValueString("numpos")); + throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, message); } if (posItem.getItemValueString("category").trim().isEmpty()) { // throw a plugin exception - because name is missing! + String message = resourceBundleHandler.findMessage("ERROR_MISSING_CATEGORY"); + message = message.replace("{1}", posItem.getItemValueString("numpos")); throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, "Eingabefehler - Die Leistungsart in Zeile " + posItem.getItemValueString("numpos") + " muss ausgefüllt sein!"); @@ -140,16 +146,16 @@ public class InvoicePlugin extends AbstractPlugin { if (posItem.getItemValueString("tax").trim().isEmpty()) { // throw a plugin exception - because name is missing! - throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, - "Eingabefehler - Die Steuer in Zeile " + posItem.getItemValueString("numpos") - + " muss ausgefüllt sein!"); + String message = resourceBundleHandler.findMessage("ERROR_MISSING_TAX"); + message = message.replace("{1}", posItem.getItemValueString("numpos")); + throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, message); } if (posItem.getItemValueFloat("amount") == 0) { // throw a plugin exception - because name is missing! - throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, - "Eingabefehler - Der Nettobetrag in Zeile " + posItem.getItemValueString("numpos") - + " darf nicht 0 sein!"); + String message = resourceBundleHandler.findMessage("ERROR_MISSING_NET"); + message = message.replace("{1}", posItem.getItemValueString("numpos")); + throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, message); } // Buchunsperiode @@ -178,8 +184,8 @@ public class InvoicePlugin extends AbstractPlugin { } if (buchungsperiodenValid == false) { // fehlerhafte Buchungsperioden. - throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, - "Eingabefehler - Bitte überprüfen Sie die Hauptbuchungsperiode mit den Buchungsperioden der einzelnen Positionen!"); + String message = resourceBundleHandler.findMessage("ERROR_MAIN_BOOKING_PERIOD"); + throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, message); } } @@ -249,8 +255,8 @@ public class InvoicePlugin extends AbstractPlugin { if (!period.matches(regex)) { // throw a plugin exception - because name is missing! - throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, - "Eingabefehler - Bitte geben Sie eine gültige Buchungsperiode ein! Prüfen Sie auch die Spalte BP in der Positionstabelle."); + String message = resourceBundleHandler.findMessage("ERROR_BOOKING_PERIOD"); + throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, message); } } } @@ -304,8 +310,8 @@ public class InvoicePlugin extends AbstractPlugin { // set _invoicenumber_duplicate - dadurch wird die warnmeldung ausgegeben und // der Vorgang nicht weitergeleitet workitem.replaceItemValue("invoice.number.duplicate", invoiceNumber); - throw new PluginException(InvoicePlugin.class.getName(), ERROR_DUPPLICATE_INVOICE_NUMBER, - "ACHTUNG: Die Rechnungsnummer wurde bereits gebucht. Bitte prüfen Sie den Beleg. Sollte die Belegnummer korrekt sein, wiederholen Sie die Aktion."); + String message = resourceBundleHandler.findMessage("ERROR_INVOICENO"); + throw new PluginException(InvoicePlugin.class.getName(), ERROR_DUPPLICATE_INVOICE_NUMBER, message); } } else { // clear ! @@ -371,8 +377,8 @@ public class InvoicePlugin extends AbstractPlugin { } // OK - scheinbar ist diese IBAN/BIC nicht bekannt. Also fragen wir mal nach.... workitem.setItemValue("ibanbic.overtake", iban + bic); - throw new PluginException(InvoicePlugin.class.getName(), ERROR_NEW_IBANBIC, - "Die von Ihnen erfasste IBAN/BIC ist noch nicht bekannt. Sollte die Eingabe korrekt sein, wiederholen Sie die Aktion."); + String message = resourceBundleHandler.findMessage("ERROR_IBAN_UNKNOWN"); + throw new PluginException(InvoicePlugin.class.getName(), ERROR_NEW_IBANBIC, message); } } @@ -400,8 +406,10 @@ public class InvoicePlugin extends AbstractPlugin { String query = "(type:cargosoftkreditor) AND (name:K" + crdtrNumber + " OR name:" + crdtrNumber + ")"; List result = this.getWorkflowService().getDocumentService().find(query, 1, 0); if (result == null || result.size() == 0) { + + String message = resourceBundleHandler.findMessage("ERROR_CDTR_INVALID"); throw new PluginException(InvoicePlugin.class.getName(), ERROR_MISSING_DATA, - "Die Kreditorennummer ist nicht gültig."); + message); } else { // update cargosoft crediotr name diff --git a/office-alexander-logistics-app/src/main/resources/bundle/custom_de.properties b/office-alexander-logistics-app/src/main/resources/bundle/custom_de.properties index bbc8965..67e782b 100644 --- a/office-alexander-logistics-app/src/main/resources/bundle/custom_de.properties +++ b/office-alexander-logistics-app/src/main/resources/bundle/custom_de.properties @@ -13,4 +13,29 @@ space.sub_custom=Konfiguration space.help_custom=Bitte verwenden Sie hier Reguläre Ausdrücke wie z.B. \\bEX-SAL Dieser Ausdruck sucht nach dem Wert "EX-SAL" in einem String und achtet darauf, dass es nicht Teil eines größeren Ausdrucks ist (z.B. "EX-SALES"). -ERROR_INVALID_IBANBIC=Die Eingabe der IBAN/BIC is ungültig. Bitte überprüfen Sie Ihre Eingaben. \ No newline at end of file +ERROR_INVALID_IBANBIC=Die Eingabe der IBAN/BIC is ungültig. Bitte überprüfen Sie Ihre Eingaben. + +payment.type=Zahlungsart +payment.no_sepa=Manuelle Auslandszahlung +payment.direct_debit=Lastschrift +payment.credit=Gutschrift + +pos.number=Positionsnummer +pos.tax=Steuer +pos.type=Leistungsart +pos.net=Netto +pos.gross=Brutto + +ERROR_CDTR_INVALID=Die Kreditorennummer ist nicht gültig +ERROR_BOOKING_PERIOD=Eingabefehler - Bitte geben Sie eine gültige Buchungsperiode ein! Prüfen Sie auch die Spalte BP in der Positionstabelle. +ERROR_MAIN_BOOKING_PERIOD=Eingabefehler - Bitte überprüfen Sie die Hauptbuchungsperiode mit den Buchungsperioden der einzelnen Positionen. +ERROR_INVOICENO=Die Rechnungsnummer wurde bereits gebucht. Bitte prüfen Sie den Beleg. Sollte die Belegnummer korrekt sein, wiederholen Sie die Aktion. +ERROR_IBAN_UNKNOWN=Die von Ihnen erfasste IBAN/BIC ist noch nicht bekannt. Sollte die Eingabe korrekt sein, wiederholen Sie die Aktion. +ERROR_MISSING_POSNO=Eingabefehler - Die Positionsnummer in Zeile {1} muss ausgefüllt sein! +ERROR_FORMAT_POSNO=Eingabefehler - Die Positionsnummer in Zeile {1} muss im Format 'XX-YYY-####-###' eingegeben werden! +ERROR_MISSING_CATEGORY=Eingabefehler - Die Leistungsart in Zeile {1} muss ausgefüllt sein! +ERROR_MISSING_TAX=Eingabefehler - Die Steuer in Zeile {1} muss ausgefüllt sein! +ERROR_MISSING_NET=Eingabefehler - Der Nettobetrag in Zeile {1} darf nicht 0 sein! +ERROR_MISSING_PAYMENT=Eingabefehler - Bitte wählen Sie eine Zahlungsart aus! + + diff --git a/office-alexander-logistics-app/src/main/resources/bundle/custom_en.properties b/office-alexander-logistics-app/src/main/resources/bundle/custom_en.properties index 053a632..67bb350 100644 --- a/office-alexander-logistics-app/src/main/resources/bundle/custom_en.properties +++ b/office-alexander-logistics-app/src/main/resources/bundle/custom_en.properties @@ -9,9 +9,32 @@ alexander_sub_positionen= alexander_sub_positionen_read= alexander_sub_responsible= -space.sub_custom=Konfiguration -space.help_custom=Bitte verwenden Sie hier Reguläre Ausdrücke wie z.B. \\bEX-SAL Dieser Ausdruck sucht nach dem Wert "EX-SAL" in einem String und achtet darauf, dass es nicht Teil eines größeren Ausdrucks ist (z.B. "EX-SALES"). - +space.sub_custom=Configuration +space.help_custom=Please use regular expressions such as \\bEX-SAL This expression looks for the value "EX-SAL" in a string and makes sure that it is not part of a larger expression (e.g. "EX-SALES"). ERROR_INVALID_IBANBIC=Your input of the IBAN/BIC is invalid. Please check your data. + +payment.type=Payment Type +payment.no_sepa=Manual foreign payment +payment.direct_debit=Direct Debit +payment.credit=Credit + +pos.number=Pos-No. +pos.tax=Tax +pos.type=Type +pos.net=Net +pos.gross=Gross + +ERROR_CDTR_INVALID=The creditor number is not valid +ERROR_BOOKING_PERIOD=Input error - Please enter a valid booking period! Also check the BP column in the position table. +ERROR_MAIN_BOOKING_PERIOD=Input errors - Please check the main booking period with the booking periods of each item. +ERROR_INVOICENO=The invoice number has already been posted. Please check the invoice. If the invoice number is correct, repeat the action. +ERROR_IBAN_UNKNOWN=The IBAN/BIC you have entered is not yet known. If the input is correct, repeat the action. +ERROR_MISSING_POSNO=Input error - The item number in line {1} must be filled in! +ERROR_FORMAT_POSNO=Input error - The item number in line {1} must be entered in the format 'XX-YYY-####-###'! +ERROR_MISSING_CATEGORY=Input error - The category type in line {1} must be filled in! +ERROR_MISSING_TAX=Input error - The tax in line {1} must be filled in! +ERROR_MISSING_NET=Input error - The net amount in line {1} must not be 0! +ERROR_MISSING_PAYMENT=Input error - Please select a payment method! + diff --git a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_payment_type.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_payment_type.xhtml index 47efc28..41740f8 100644 --- a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_payment_type.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_payment_type.xhtml @@ -9,7 +9,7 @@

-
Zahlungsart:
+
#{message['payment.type']}:
@@ -18,10 +18,10 @@ - - + + - +
diff --git a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_payment_type_read.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_payment_type_read.xhtml index ef7a2cd..a3ae3d3 100644 --- a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_payment_type_read.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_payment_type_read.xhtml @@ -8,7 +8,7 @@
-
Zahlungsart:
+
#{message['payment.type']}:
diff --git a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_positionen.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_positionen.xhtml index c2fa185..40d163d 100644 --- a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_positionen.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_positionen.xhtml @@ -14,15 +14,15 @@ - - - - - + + diff --git a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_positionen_read.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_positionen_read.xhtml index a9223a4..5250ddb 100644 --- a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_positionen_read.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/sub_positionen_read.xhtml @@ -13,13 +13,14 @@ - - - + + - - + + diff --git a/office-alexander-logistics-app/src/main/webapp/pages/workitems/parts/alexander/zahlungsart.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/workitems/parts/alexander/zahlungsart.xhtml index ab408f0..87f8378 100644 --- a/office-alexander-logistics-app/src/main/webapp/pages/workitems/parts/alexander/zahlungsart.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/pages/workitems/parts/alexander/zahlungsart.xhtml @@ -5,7 +5,6 @@ xmlns:h="http://xmlns.jcp.org/jsf/html"> - @@ -15,11 +14,11 @@ - - + - + @@ -27,13 +26,13 @@ - + - + - + diff --git a/workflow/posteingang-pl-1.0.0.bpmn b/workflow/posteingang-pl-1.0.0.bpmn new file mode 100644 index 0000000..b41b7a7 --- /dev/null +++ b/workflow/posteingang-pl-1.0.0.bpmn @@ -0,0 +1,957 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + For the OCR Adapter the following minimal options should be set: + + * X-Tika-PDFocrStrategy=OCR_AND_TEXT_EXTRACTION + * X-Tika-OCRLanguage=eng+deu + +These options allow OCR and text extraction suporting English and German language. + +Additional Tika Options can be set but are NOT needed in most cases: + + * X-Tika-PDFOcrImageType=RGB (setting the RGB color mode) + * X-Tika-PDFOcrDPI=400 (setting DPI) + +Setting the OcrDPI is only recommended if the DPI is know! + +Possible ImageTypes are: + + * ARGB Alpha, Red, Green, Blue + * BINARY Black or white. + * GRAY Shades of gray + * RGB Red, Green, Blue + + + + + + + Task_4 + ExclusiveGateway_2 + Task_1 + ExclusiveGateway_1 + StartEvent_1 + EndEvent_1 + IntermediateCatchEvent_2 + Task_2 + IntermediateCatchEvent_3 + IntermediateCatchEvent_4 + IntermediateCatchEvent_5 + BoundaryEvent_1 + IntermediateCatchEvent_6 + IntermediateCatchEvent_1 + Task_3 + IntermediateCatchEvent_7 + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_13 + SequenceFlow_3 + + + SequenceFlow_3 + SequenceFlow_1 + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + home +Empfang]]> + + + + + + + + + + + + false + + + + SequenceFlow_1 + SequenceFlow_4 + + + + + + + + + SequenceFlow_13 + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + Rechnungseingangskontrolle +

Der Workflow 'Rechnungseingang' beschreibt beispielhaft einen Ablauf zur Prüfung von Eingangsrechnungen.

+ +

    +
  • Nach Erhalt einer Rechnung (z.B. Post, E-Mail, Fax,...) wird diese in das Workflowsystem übertragen und der Prozess Rechnungseingang gestartet.
  • + +
  • Die Rechnung wird wahlweise eingescannt und über den Abschnitt 'Dokumente' an den Vorgang hinzugefügt.
  • + +
  • In diesem Beispiel wird die Rechnung einem zuvor ausgewählten Mitarbeiter zur Prüfung vorgelegt.
  • + +
  • Nach positiver Prüfung werden die Rechnungsdaten (Zahlungsziel, Bankverbindung) vom Controlling im System erfasst und auf das Zahlungsziel gewartet.
  • + +
  • Nach Erreichen des Zahlungsziels wird der Vorgang automatisch dem Controlling erneut zur abschließenden Bearbeitung vorgelegt.
  • + +
+

Der Workflow

+ +

Eingangsrechnungen können über eine E-Mailschnittstelle oder das Filesystem automatisch eingelesen werden. Eine Eingangsrechnung wird in diesem Beispiel vom zugewiesenen Mitarbeiter sowie den Prozessverantworltichen (Controlling) bearbeitet.

]]>
+ SequenceFlow_4 + SequenceFlow_5 + SequenceFlow_9 + SequenceFlow_8 + SequenceFlow_16 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +X-Tika-OCRLanguage=eng+deu +X-Tika-PDFocrStrategy=OCR_ONLY +(PDF|pdf)$ +10 +]]> + + + + + + + + + + + + false + + + + SequenceFlow_9 + SequenceFlow_2 + SequenceFlow_6 + + + DataOutput_1 + + + DataOutput_1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + invoice-de-0.2.0 +min_losses=0.1&retrain_rate=25 +((PDF|pdf)$) + + invoice.total + currency + + + invoice.number + text + + + invoice.date + date + + + cdtr.name + text + + + cdtr.iban + text + + + cdtr.bic + text + + + + invoice.date + text + (3[01]|[12][0-9]|0?[1-9])\.(1[012]|0?[1-9])\.(((?:19|20)\d{2})|\d{2}) + + + cdtr.iban + text + [A-Z]{2}\d{2} ?\d{4} ?\d{4} ?\d{4} ?\d{4} ?[\d]{0,2} + + + cdtr.bic + text + [A-Z0-9]{4}[A-Z]{2}[A-Z0-9]{2}(?:[A-Z0-9]{3})? + + + + + +]]> + + + + + + + + + + + + false + + + + SequenceFlow_6 + SequenceFlow_7 + + + DataOutput_2 + + + DataOutput_2 + + + + + + + + + + + rechnungseingang-pl-1.2 + 5000 + 990 + ]]> + + + + + + SequenceFlow_7 + SequenceFlow_17 + SequenceFlow_10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_11 + SequenceFlow_12 + + + SequenceFlow_10 + SequenceFlow_11 + + + + + + + + + + SequenceFlow_12 + SequenceFlow_15 + + + + + + + + + + SequenceFlow_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SequenceFlow_5 + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_14 + SequenceFlow_15 + + + + + + + + + SequenceFlow_8 + SequenceFlow_14 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SequenceFlow_16 + SequenceFlow_17 + + + + + + + + + + + min_losses = 1.0 - 22.12.2021 geändert auf 0.001 +retrain_rate=25 +filename.pattern = (PDF|pdf)$ + + + + + + + scann pdf files only (PDF|pdf)$ + +X-Tika-PDFocrStrategy=OCR_ONLY + +Max 10 PDF Pages will be scanned + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/workflow/rechnungseingang-pl-1.0.0.bpmn b/workflow/rechnungseingang-pl-1.0.0.bpmn index 2e6f8b0..7d0d416 100644 --- a/workflow/rechnungseingang-pl-1.0.0.bpmn +++ b/workflow/rechnungseingang-pl-1.0.0.bpmn @@ -2,24 +2,24 @@ - + - - - - - - - - - - - + + + + + + + + + + + - - + + @@ -5025,7 +5025,7 @@ Export erfolgt über eine asynchrone Verarbeitung im Modell 'cargosoft-export' - +
#Positionsnummer + #{custom['pos.number']} *Steuer + #{custom['pos.tax']} *Leistungsart#{custom['pos.type']} * BPNettoBrutto#{custom['pos.net']}#{custom['pos.gross']}
#Positionsnummer + #{custom['pos.number']} *SteuerLeistungsart#{custom['pos.tax']} + *#{custom['pos.type']} * BPNettoBrutto#{custom['pos.net']}#{custom['pos.gross']}