diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLTimestampAdapter.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLTimestampAdapter.java new file mode 100644 index 0000000..05e97ec --- /dev/null +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLTimestampAdapter.java @@ -0,0 +1,149 @@ +/**************************************************************************** + * Copyright (c) 2022-2025 Imixs Software Solutions GmbH and others. + * https://www.imixs.com + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0 which is available at + * https://www.eclipse.org/legal/epl-2.0 + * + * This Source Code may also be made available under the terms of the + * GNU General Public License, version 2 or later (GPL-2.0-or-later), + * which is available at https://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later + ****************************************************************************/ + +package com.alexanderlogistics; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; + +import org.imixs.workflow.engine.TextEvent; +import org.imixs.workflow.util.XMLParser; + +import jakarta.ejb.Stateless; +import jakarta.enterprise.event.Observes; + +/** + * The AGLTimestampAdapter replaces text fragments with a specific timestamp. + * + * The adapter parses a text for the tag `` and replaces the tag + * with the current system time. + * The output can be formatted with the attribute `format` adapting the Java + * Time Format. + * The timestamp can further be adjusted by days or minutes using the optional + * attributes `adjustDays` or `adjustMinutes`. + * + * NOTE: Can be removed with Imixs-Workflow versin 6.2.8 + * + * @author rsoika + * + */ +@Stateless +public class AGLTimestampAdapter { + + private static final Logger logger = Logger.getLogger(AGLTimestampAdapter.class.getName()); + + // Default format pattern used if no 'format' attribute is provided + private static final String DEFAULT_FORMAT = "yyyy-MM-dd'T'HH:mm:ss"; + + /** + * This method reacts on CDI events of the type TextEvent and parses a string + * for xml tag . Those tags will be replaced with the current + * system time. + * + */ + public void onEvent(@Observes TextEvent event) { + String text = event.getText(); + boolean debug = logger.isLoggable(Level.FINE); + + List timestampTags = XMLParser.findTags(text, "timestamp"); + + // Replace each tag with the computed timestamp + for (String tag : timestampTags) { + String timestamp = computeTimestamp(tag); + + if (debug) { + logger.log(Level.FINE, "replacing tag ''{0}'' with ''{1}''", new Object[] { tag, timestamp }); + } + + text = text.replace(tag, timestamp); + } + + event.setText(text); + } + + /** + * Computes the timestamp string for a given tag. + * + * Supports the optional attributes: + * - format: a java.time.format.DateTimeFormatter pattern + * - adjustDays: number of days to add (negative values subtract) + * - adjustMinutes: number of minutes to add (negative values subtract) + * + * @param tag - the full xml tag string, e.g. + * @return the formatted timestamp + */ + /** + * Computes the timestamp string for a given tag. + * + * Supports the optional attributes: + * - format: a java.time.format.DateTimeFormatter pattern + * - adjustMonths: number of months to add (negative values subtract) + * - adjustDays: number of days to add (negative values subtract) + * - adjustMinutes: number of minutes to add (negative values subtract) + * - adjustSeconds: number of seconds to add (negative values subtract) + * + * @param tag - the full xml tag string, e.g. + * @return the formatted timestamp + */ + private String computeTimestamp(String tag) { + LocalDateTime now = LocalDateTime.now(); + + now = applyAdjustment(now, tag, "adjustMonths", ChronoUnit.MONTHS); + now = applyAdjustment(now, tag, "adjustDays", ChronoUnit.DAYS); + now = applyAdjustment(now, tag, "adjustMinutes", ChronoUnit.MINUTES); + now = applyAdjustment(now, tag, "adjustSeconds", ChronoUnit.SECONDS); + + // Resolve the format pattern, fallback to default if not provided or invalid + String format = XMLParser.findAttribute(tag, "format"); + String pattern = (format != null && !format.isEmpty()) ? format : DEFAULT_FORMAT; + + try { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); + return now.format(formatter); + } catch (IllegalArgumentException e) { + logger.log(Level.WARNING, "invalid format pattern ''{0}'' - using default format", pattern); + return now.format(DateTimeFormatter.ofPattern(DEFAULT_FORMAT)); + } + } + + /** + * Reads the given attribute from the tag and, if present, adjusts the + * given LocalDateTime by that amount using the specified ChronoUnit. + * + * @param dateTime - the date/time to adjust + * @param tag - the full xml tag string + * @param attributeName - the attribute name to look up (e.g. "adjustDays") + * @param unit - the ChronoUnit to apply the value with + * @return the adjusted LocalDateTime, or the unchanged input if the + * attribute is missing or invalid + */ + private LocalDateTime applyAdjustment(LocalDateTime dateTime, String tag, String attributeName, ChronoUnit unit) { + String value = XMLParser.findAttribute(tag, attributeName); + if (value != null && !value.isEmpty()) { + try { + long amount = Long.parseLong(value.trim()); + return dateTime.plus(amount, unit); + } catch (NumberFormatException e) { + logger.log(Level.WARNING, "invalid {0} value ''{1}'' - ignoring", + new Object[] { attributeName, value }); + } + } + return dateTime; + } +} diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java index 3e72170..e2d6f8b 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java @@ -222,7 +222,7 @@ public class KSeFAPIService { // Now we need to wait until auth/{AuthRef} will return 200 int code = -1; long start = System.currentTimeMillis(); - long timeout = 60_000; // 3 Minuten + long timeout = 150_000; // 2,5 Minuten boolean timeoutStatus = true; while (System.currentTimeMillis() - start < timeout) { code = kseFAuthManager.checkSessionStatus(workitem); diff --git a/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/xml/TimestampTester.java b/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/xml/TimestampTester.java new file mode 100644 index 0000000..e5ec433 --- /dev/null +++ b/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/xml/TimestampTester.java @@ -0,0 +1,83 @@ +package com.alexanderlogistics.xml; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.logging.Logger; + +import org.imixs.workflow.ItemCollection; +import org.imixs.workflow.engine.TextEvent; +import org.junit.jupiter.api.Test; + +import com.alexanderlogistics.AGLTimestampAdapter; + +/** + * Test the timestamp bean + * + * + * @author rsoika + */ + +public class TimestampTester { + private final static Logger logger = Logger.getLogger(TimestampTester.class.getName()); + + /** + * Ein Einfacher test + * + * + * @throws Exception + */ + @Test + public void testBasic() throws Exception { + + AGLTimestampAdapter adapter = new AGLTimestampAdapter(); + + ItemCollection source = new ItemCollection(); + String text = "Heute ist der "; + + TextEvent event = new TextEvent(text, source); + adapter.onEvent(event); + + String result = event.getText(); + + // The tag itself must no longer be part of the result + assertFalse(result.contains(""; + + TextEvent event = new TextEvent(text, source); + adapter.onEvent(event); + + String result = event.getText(); + + // The tag itself must no longer be part of the result + assertFalse(result.contains(" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + Task_2 + ExclusiveGateway_1 + StartEvent_1 + IntermediateCatchEvent_6 + IntermediateCatchEvent_27 + EventBasedGateway_1 + Task_10 + EndEvent_5 + IntermediateCatchEvent_40 + IntermediateThrowEvent_4 + IntermediateCatchEvent_49 + IntermediateCatchEvent_19 + IntermediateThrowEvent_3 + IntermediateCatchEvent_31 + IntermediateCatchEvent_13 + Task_14 + EventBasedGateway_3 + IntermediateCatchEvent_30 + Task_13 + EndEvent_4 + IntermediateCatchEvent_56 + IntermediateThrowEvent_9 + IntermediateCatchEvent_60 + IntermediateCatchEvent_3 + ExclusiveGateway_9 + IntermediateCatchEvent_5000-20 + + DataObject_5 + DataObject_2 + TextAnnotation_4 + textAnnotation_emMc1g + + + + Task_1 + IntermediateCatchEvent_9 + IntermediateCatchEvent_10 + IntermediateCatchEvent_11 + IntermediateThrowEvent_5 + IntermediateCatchEvent_1 + IntermediateCatchEvent_45 + IntermediateCatchEvent_61 + IntermediateCatchEvent_64 + DataObject_7 + event_GwjqFw + + + + Task_5005 + IntermediateCatchEvent_5005-20 + IntermediateCatchEvent_5005-30 + IntermediateCatchEvent_2 + IntermediateCatchEvent_36 + IntermediateCatchEvent_42 + IntermediateCatchEvent_55 + EventBasedGateway_2 + ExclusiveGateway_6 + ExclusiveGateway_4 + TextAnnotation_1 + TextAnnotation_3 + Task_4 + Task_12 + IntermediateCatchEvent_5005-10 + IntermediateCatchEvent_12 + EndEvent_1 + IntermediateCatchEvent_21 + IntermediateThrowEvent_2 + IntermediateCatchEvent_25 + IntermediateCatchEvent_26 + IntermediateCatchEvent_28 + IntermediateCatchEvent_32 + IntermediateThrowEvent_8 + ExclusiveGateway_7 + ExclusiveGateway_10 + event_bBR4QQ + event_NvdVrw + DataObject_1 + + + + IntermediateCatchEvent_44 + IntermediateCatchEvent_53 + IntermediateCatchEvent_54 + IntermediateThrowEvent_7 + IntermediateCatchEvent_50 + DataObject_6 + Task_17 + Task_18 + IntermediateCatchEvent_43 + IntermediateCatchEvent_47 + IntermediateCatchEvent_51 + IntermediateThrowEvent_6 + IntermediateCatchEvent_52 + ExclusiveGateway_3 + EventBasedGateway_5 + EventBasedGateway_6 + ExclusiveGateway_8 + task_sCjcjw + event_XFiUTg + event_9LrfcA + event_K9EFtg + + + EndEvent_3 + Task_5000 + IntermediateCatchEvent_5000-10 + IntermediateCatchEvent_33 + IntermediateCatchEvent_38 + IntermediateCatchEvent_15 + EndEvent_6 + EventBasedGateway_4 + Task_16 + IntermediateCatchEvent_37 + IntermediateCatchEvent_24 + Task_8 + IntermediateCatchEvent_16 + Task_9 + IntermediateCatchEvent_7 + ExclusiveGateway_2 + IntermediateCatchEvent_29 + IntermediateCatchEvent_39 + IntermediateCatchEvent_20 + Task_3 + IntermediateCatchEvent_17 + ExclusiveGateway_5 + IntermediateCatchEvent_35 + IntermediateThrowEvent_1 + IntermediateCatchEvent_58 + IntermediateCatchEvent_22 + Task_5 + Task_15 + IntermediateCatchEvent_48 + Task_11 + IntermediateCatchEvent_4 + IntermediateCatchEvent_14 + IntermediateCatchEvent_57 + Task_7 + IntermediateCatchEvent_18 + EndEvent_2 + IntermediateCatchEvent_5 + Task_6 + IntermediateCatchEvent_46 + Task_19 + IntermediateCatchEvent_63 + IntermediateCatchEvent_34 + IntermediateCatchEvent_59 + IntermediateCatchEvent_41 + IntermediateCatchEvent_65 + IntermediateCatchEvent_66 + + event_TyXP5Q + DataObject_3 + IntermediateCatchEvent_62 + TextAnnotation_5 + TextAnnotation_2 + event_e0gqXQ + gateway_ApXfeg + event_WNNsfQ + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_31 + SequenceFlow_1 + SequenceFlow_123 + SequenceFlow_32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_31 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home + + stop + false + + + start + false +]]> + + + + + + + + + space.name]]> + + + false + + + + + + + SequenceFlow_46 + SequenceFlow_122 + + + SequenceFlow_0 + SequenceFlow_21 + SequenceFlow_125 + SequenceFlow_33 + + + + + + + SequenceFlow_0 + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus +Zollkurse +]]> + SequenceFlow_38 + SequenceFlow_83 + SequenceFlow_106 + SequenceFlow_104 + SequenceFlow_121 + SequenceFlow_134 + SequenceFlow_37 + SequenceFlow_10 + sequenceFlow_wq0Y0w + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +space.name + +cargosoft-export-1.0 +1000 +100 +(?!txtworkflowhistory)(^[a-zA-Z]|^_) + + + stop + false +]]> + + + + + + + + + + + + false + + + 0 && (parseFloat(a)!=parseFloat(b)) ) { + result.isValid=false; + result.errorMessage="Der Rechnungsbetrag " + a+ " stimmt nicht mit dem Positionsbetrag " + b + " überein."; + }]]> + + + + SequenceFlow_8 + SequenceFlow_111 + SequenceFlow_51 + + + DataOutput_1 + + + DataOutput_1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +false]]> + + + + + + + + + + + + false + + + + SequenceFlow_38 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +space.name + +false]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_10 + SequenceFlow_97 + SequenceFlow_110 + + + SequenceFlow_37 + SequenceFlow_8 + SequenceFlow_54 + SequenceFlow_96 + + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_33 + SequenceFlow_95 + SequenceFlow_49 + SequenceFlow_20 + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +suggest +false + + start + false +]]> + + + + + + + + + + + + false + + + + + SequenceFlow_22 + SequenceFlow_77 + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_56 + SequenceFlow_15 + SequenceFlow_24 + SequenceFlow_55 + SequenceFlow_50 + SequenceFlow_81 + SequenceFlow_88 + sequenceFlow_dbshCw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_29 + SequenceFlow_2 + + + SequenceFlow_32 + SequenceFlow_29 + SequenceFlow_30 + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_30 + SequenceFlow_72 + SequenceFlow_67 + + + + + + + + + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_44 + SequenceFlow_90 + SequenceFlow_47 + sequenceFlow_ucyuIw + sequenceFlow_SvEjiw + sequenceFlow_bBGlVA + + + SequenceFlow_47 + + + + + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_55 + SequenceFlow_12 + + + + + + SequenceFlow_18 + SequenceFlow_1 + SequenceFlow_68 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + SequenceFlow_6 + SequenceFlow_18 + + + + SequenceFlow_51 + SequenceFlow_6 + + + + + + + SequenceFlow_126 + + + + + + + + + + + SequenceFlow_12 + SequenceFlow_53 + SequenceFlow_19 + SequenceFlow_25 + + + + + + sepa-export-manual-3.0 +1000 +payment.type +70 +20]]> + + + + + + + + + SequenceFlow_19 + SequenceFlow_23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Rechnungscontrolling +]]> + + + + + + + + + + + + false + + + + SequenceFlow_21 + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_26 + SequenceFlow_11 + SequenceFlow_118 + SequenceFlow_132 + SequenceFlow_28 + SequenceFlow_36 + SequenceFlow_127 + sequenceFlow_Dy0E0A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_26 + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +space.name + + stop + false + + + start + false +]]> + + + + + + + + + $owner]]> + + + false + + + + + + + SequenceFlow_28 + SequenceFlow_105 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +space.name +false + + stop + false +]]> + + + + + + + + + + + + true + + + + + + + + + + + SequenceFlow_36 + SequenceFlow_35 + + + SequenceFlow_35 + + + + + + + + + + + SequenceFlow_39 + + + + + + + + + + txtlastcomment]]> + + + + + + + + + numsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_39 + SequenceFlow_59 + SequenceFlow_40 + + + SequenceFlow_40 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + space.name]]> + + + false + + + + SequenceFlow_11 + + + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_23 + SequenceFlow_41 + SequenceFlow_14 + sequenceFlow_swRy5A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + SequenceFlow_14 + SequenceFlow_42 + + + + + + + + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_42 + SequenceFlow_3 + SequenceFlow_43 + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + SequenceFlow_43 + SequenceFlow_5 + SequenceFlow_44 + + + + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + + + + + + + + + + + SequenceFlow_50 + SequenceFlow_53 + + + + + + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + + + + + + + SequenceFlow_54 + SequenceFlow_7 + + + + + + + SequenceFlow_63 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + numsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_17 + SequenceFlow_60 + SequenceFlow_9 + + + SequenceFlow_9 + + + + + + + SequenceFlow_17 + + + + + + + + SequenceFlow_20 + SequenceFlow_65 + SequenceFlow_71 + SequenceFlow_22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +Wollen Sie den Vorgang wirklich löschen? + + stop + false + +cancel]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_49 + SequenceFlow_76 + SequenceFlow_48 + + + SequenceFlow_48 + + + + + + + + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_2 + SequenceFlow_78 + SequenceFlow_89 + SequenceFlow_72 + SequenceFlow_86 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + SequenceFlow_60 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + SequenceFlow_59 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + suggest +false + + gutschriftabgleich-de-1.0 + 5001 + 980 + ]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_65 + SequenceFlow_69 + + + + + + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_69 + SequenceFlow_70 + + + + + + SequenceFlow_70 + + + + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + numsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_4 + SequenceFlow_34 + SequenceFlow_119 + SequenceFlow_5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_7 + SequenceFlow_62 + SequenceFlow_61 + SequenceFlow_73 + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +Wollen Sie den Vorgang wirklich archivieren? +cancel]]> + + + + + + + + + + + + false + + + + + + + + SequenceFlow_61 + SequenceFlow_63 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_62 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_56 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + suggest +false + + rechnungseingang-sachrechnung-de-1.0 + 5001 + 980 + +]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_71 + SequenceFlow_64 + + + + + + + + + txtlastcomment]]> + + + + + + + + + cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_64 + SequenceFlow_66 + + + SequenceFlow_66 + + + + + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgcdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_74 + SequenceFlow_77 + SequenceFlow_126 + SequenceFlow_46 + SequenceFlow_85 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + + SequenceFlow_74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +space.name +false]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_73 + SequenceFlow_75 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_78 + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_79 + SequenceFlow_124 + SequenceFlow_131 + SequenceFlow_57 + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + SequenceFlow_57 + SequenceFlow_58 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_79 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +Wollen Sie den Vorgang wirklich löschen?]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_81 + SequenceFlow_80 + + + SequenceFlow_80 + + + + + + + + + + + SequenceFlow_82 + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + numsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_84 + SequenceFlow_87 + SequenceFlow_82 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + SequenceFlow_84 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_86 + SequenceFlow_87 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_88 + SequenceFlow_89 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_83 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +Wollen Sie den Vorgang wirklich archivieren? + + stop + false + +cancel]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_16 + SequenceFlow_13 + + + SequenceFlow_13 + + + + + + + + + + + SequenceFlow_85 + SequenceFlow_76 + SequenceFlow_16 + SequenceFlow_116 + + + + + + + SequenceFlow_90 + + + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +space.name]]> + + + + + + + + + $owner]]> + + + false + + + + + + + SequenceFlow_96 + SequenceFlow_120 + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_91 + SequenceFlow_92 + SequenceFlow_94 + SequenceFlow_117 + SequenceFlow_100 + SequenceFlow_101 + SequenceFlow_93 + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_102 + SequenceFlow_114 + SequenceFlow_109 + SequenceFlow_112 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_94 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_92 + + + + + + + + + + + + SequenceFlow_101 + SequenceFlow_98 + SequenceFlow_111 + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + + + + + + + SequenceFlow_98 + SequenceFlow_102 + + + + + + + + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +Wollen Sie den Vorgang wirklich archivieren? +cancel]]> + + + + + + + + + + + + false + + + + + + + + SequenceFlow_109 + SequenceFlow_108 + + + + SequenceFlow_108 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +space.name +false]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_112 + SequenceFlow_113 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_114 + + + + + + + + + + + + + + + + + + + + space.name)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + Message-Eskalation +]]> + + + + + + + + + SequenceFlow_99 + SequenceFlow_103 + + + + + + + + SequenceFlow_93 + SequenceFlow_97 + SequenceFlow_99 + + + + + + + + + + + + + SequenceFlow_105 + SequenceFlow_106 + SequenceFlow_107 + + + + + + + + + + + + + + SequenceFlow_103 + + + + + SequenceFlow_110 + + + + + + + + SequenceFlow_113 + SequenceFlow_107 + SequenceFlow_117 + + + + + + + SequenceFlow_118 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_34 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_41 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + posteingang-de-2.0 + 120 + 1 +]]> + + + + + + + + + + + + false + + + SequenceFlow_95 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false +]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_100 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false +]]> + + + + + + + + + false + + + + + + + SequenceFlow_104 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + stop + false +]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_116 + SequenceFlow_115 + + + SequenceFlow_115 + + + + + + + + + + + + + + + + + + + SequenceFlow_119 + + + DataOutput_2 + + + DataOutput_2 + + + + + + + + + SequenceFlow_120 + SequenceFlow_91 + SequenceFlow_121 + + + + + + + + + + + + + + SequenceFlow_67 + SequenceFlow_4 + SequenceFlow_15 + + + + + + + + + + + + + + + + + + SequenceFlow_123 + + + DataOutput_3 + + + DataOutput_3 + + + + + + + + + + + + + + + + + SequenceFlow_124 + + + DataOutput_4 + + + DataOutput_4 + + + + + + + + + SequenceFlow_125 + + + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +$editor +space.name + + stop + false + + + start + false +]]> + + + + + + + + + $owner]]> + + + true + + + + + + + + + + + SequenceFlow_127 + SequenceFlow_128 + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_68 + SequenceFlow_129 + SequenceFlow_133 + SequenceFlow_130 + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_130 + SequenceFlow_131 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_129 + + + + + + + + + + + + SequenceFlow_122 + SequenceFlow_132 + SequenceFlow_135 + + + + + + + + + + SequenceFlow_75 + SequenceFlow_128 + SequenceFlow_136 + SequenceFlow_134 + + + + + + + + + sb.team]]> + + + + + + SequenceFlow_135 + SequenceFlow_136 + + + + + + + + + + + + + + + + + + + + + + SequenceFlow_24 + + + DataOutput_5 + + + DataOutput_5 + + + + + + + + + + + + + + + + + SequenceFlow_133 + + + DataOutput_6 + + + DataOutput_6 + + + + + + + + + + + + Es handelt sich um einen SEPA Lauf. Die Rechnung muss explizit freigegeben werden. + Ändern von IBAN und Fälligkeit ist hier möglich + + + + + + + + + + + + + + + + + Liegt eine Logistik Leistung vor, wird ein Fachbereich ausgewählt + + + + + + + Buchhaltung setzt Flag, wenn Mahnung eingetroffen ist + + + + + + + + + + + + + + + + + + + Auslandszahlungen werden gleich ausgeführt + + + + + + + + + payment.type ]]> + + + + + + + + + + + + sequenceFlow_swRy5A + sequenceFlow_dbshCw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + + + + sequenceFlow_ucyuIw + + + + + + + + + + + + + + space.name)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + Message-Eskalation +]]> + + + + + + + + + + + sequenceFlow_wq0Y0w + sequenceFlow_iH4SSA + + + + + + + + sequenceFlow_iH4SSA + + + + + + + + + + + + + + space.name)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + Message-Eskalation +]]> + + + + + + + + + + + sequenceFlow_Dy0E0A + + + + + + + SequenceFlow_25 + sequenceFlow_SvEjiw + SequenceFlow_58 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + sequenceFlow_bBGlVA + sequenceFlow_mbqiAg + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_114 + sequenceFlow_mbqiAg + sequenceFlow_eNnuzA + SequenceFlow_112 + sequenceFlow_PhWb2w + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +Wollen Sie den Vorgang wirklich archivieren? +cancel]]> + + + + + + + + + + + + false + + + + + + + + sequenceFlow_PhWb2w + sequenceFlow_UHzpHQ + + + + + + sequenceFlow_UHzpHQ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + sequenceFlow_eNnuzA + + + + + + + + + + + + + + + + space.name +Kreditor: cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + +application.urlindex.jsf?workitem=$uniqueid + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +