neue DATEV Importfunktion für ATC Rechnungen
This commit is contained in:
parent
6dc793e337
commit
e66b3add86
10 changed files with 318 additions and 224 deletions
|
|
@ -98,9 +98,9 @@ public class CargosoftSplitAdapter implements SignalAdapter {
|
||||||
List<String> buchungsPersioden = new ArrayList<String>();
|
List<String> buchungsPersioden = new ArrayList<String>();
|
||||||
// add haupt buchungsperiode
|
// add haupt buchungsperiode
|
||||||
buchungsPersioden.add(workitem.getItemValueString("invoice.period"));
|
buchungsPersioden.add(workitem.getItemValueString("invoice.period"));
|
||||||
List<ItemCollection> positionsTabelle = InvoicePlugin.explodeChildList(workitem);
|
List<ItemCollection> positionsTabelle = InvoiceUtil.explodeChildList(workitem);
|
||||||
for (ItemCollection posItem : positionsTabelle) {
|
for (ItemCollection posItem : positionsTabelle) {
|
||||||
String childPeriod = posItem.getItemValueString(InvoicePlugin.ITEM_INVOICE_PERIOD);
|
String childPeriod = posItem.getItemValueString(InvoiceUtil.ITEM_INVOICE_PERIOD);
|
||||||
if (!childPeriod.isEmpty() && !buchungsPersioden.contains(childPeriod)) {
|
if (!childPeriod.isEmpty() && !buchungsPersioden.contains(childPeriod)) {
|
||||||
buchungsPersioden.add(childPeriod);
|
buchungsPersioden.add(childPeriod);
|
||||||
}
|
}
|
||||||
|
|
@ -128,7 +128,7 @@ public class CargosoftSplitAdapter implements SignalAdapter {
|
||||||
// float tax=0;
|
// float tax=0;
|
||||||
while (iter.hasNext()) {
|
while (iter.hasNext()) {
|
||||||
ItemCollection posItem = iter.next();
|
ItemCollection posItem = iter.next();
|
||||||
String childPeriod = posItem.getItemValueString(InvoicePlugin.ITEM_INVOICE_PERIOD);
|
String childPeriod = posItem.getItemValueString(InvoiceUtil.ITEM_INVOICE_PERIOD);
|
||||||
if (childPeriod.isEmpty() || buchungsPeriode.equals(childPeriod)) {
|
if (childPeriod.isEmpty() || buchungsPeriode.equals(childPeriod)) {
|
||||||
posItem.setItemValue("numpos", row);
|
posItem.setItemValue("numpos", row);
|
||||||
splitPositionen.add(posItem.getAllItems());
|
splitPositionen.add(posItem.getAllItems());
|
||||||
|
|
@ -139,7 +139,7 @@ public class CargosoftSplitAdapter implements SignalAdapter {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
workitemSubProcess.setItemValue(InvoicePlugin.ITEM_INVOICE_PERIOD, buchungsPeriode);
|
workitemSubProcess.setItemValue(InvoiceUtil.ITEM_INVOICE_PERIOD, buchungsPeriode);
|
||||||
// jetzt muessen wir die neue Rechnungssumme bilden....
|
// jetzt muessen wir die neue Rechnungssumme bilden....
|
||||||
workitemSubProcess.setItemValue("order.total", total);
|
workitemSubProcess.setItemValue("order.total", total);
|
||||||
workitemSubProcess.setItemValue("order.total.tax", total - netto);
|
workitemSubProcess.setItemValue("order.total.tax", total - netto);
|
||||||
|
|
@ -147,7 +147,7 @@ public class CargosoftSplitAdapter implements SignalAdapter {
|
||||||
|
|
||||||
logger.info("......create cargosoft split buchung - invoice.period=" + buchungsPeriode);
|
logger.info("......create cargosoft split buchung - invoice.period=" + buchungsPeriode);
|
||||||
// update the child items (reduzierte Positionstabelle)
|
// update the child items (reduzierte Positionstabelle)
|
||||||
workitemSubProcess.setItemValue(InvoicePlugin.CHILD_ITEM_PROPERTY, splitPositionen);
|
workitemSubProcess.setItemValue(InvoiceUtil.CHILD_ITEM_PROPERTY, splitPositionen);
|
||||||
|
|
||||||
workitemSubProcess.model(model).task(taskID).event(eventID);
|
workitemSubProcess.model(model).task(taskID).event(eventID);
|
||||||
workitemSubProcess.replaceItemValue(WorkflowService.UNIQUEIDREF, workitem.getUniqueID());
|
workitemSubProcess.replaceItemValue(WorkflowService.UNIQUEIDREF, workitem.getUniqueID());
|
||||||
|
|
|
||||||
|
|
@ -27,14 +27,18 @@ public class InvoiceOutgoingPlugin extends AbstractPlugin {
|
||||||
**/
|
**/
|
||||||
@Override
|
@Override
|
||||||
public ItemCollection run(ItemCollection workitem, ItemCollection event) throws PluginException {
|
public ItemCollection run(ItemCollection workitem, ItemCollection event) throws PluginException {
|
||||||
|
|
||||||
|
// Update Invoice.positions
|
||||||
|
InvoiceUtil.updateInvoicePositions(workitem);
|
||||||
|
|
||||||
String dbtrNumber = workitem.getItemValueString("dbtr.number");
|
String dbtrNumber = workitem.getItemValueString("dbtr.number");
|
||||||
ItemCollection debitor = kreditorService.findDebitor(dbtrNumber);
|
ItemCollection debitor = kreditorService.findDebitor(dbtrNumber);
|
||||||
if (debitor!=null) {
|
if (debitor != null) {
|
||||||
// update mail
|
// update mail
|
||||||
workitem.setItemValue("dbtr.mail", debitor.getItemValueString("cdtr.mail"));
|
workitem.setItemValue("dbtr.mail", debitor.getItemValueString("cdtr.mail"));
|
||||||
}
|
}
|
||||||
|
|
||||||
String img="";
|
String img = "";
|
||||||
if (workitem.getItemValueBoolean("invoice.protest")) {
|
if (workitem.getItemValueBoolean("invoice.protest")) {
|
||||||
img = img + "<img title='Reklamiert' src=\"/layout/icons/icon106.png\">";
|
img = img + "<img title='Reklamiert' src=\"/layout/icons/icon106.png\">";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
package com.alexanderlogistics;
|
package com.alexanderlogistics;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
@ -30,6 +28,10 @@ import org.imixs.workflow.faces.util.ResourceBundleHandler;
|
||||||
* geprüft ob die Rechnungsnummer schon einmal vorkam. Falls ja, wird eine
|
* geprüft ob die Rechnungsnummer schon einmal vorkam. Falls ja, wird eine
|
||||||
* Warnung ausgegeben. Der Benutzer kann diese dann skippen.
|
* Warnung ausgegeben. Der Benutzer kann diese dann skippen.
|
||||||
* <p>
|
* <p>
|
||||||
|
* Zusäztlich berechnet das Plugin das feld invoice.positions mit einer Value
|
||||||
|
* liste der Positionsnummern. Dieses Feld wird indiziert, so dass gezielt nach
|
||||||
|
* Positionsnummern gesucht werden kann.
|
||||||
|
* <p>
|
||||||
* 2.2.22 - Das Plugin erzeugt auch das Feld _img welches die Images von
|
* 2.2.22 - Das Plugin erzeugt auch das Feld _img welches die Images von
|
||||||
* Sofortüberweisung, Mahnung und Ablehnung anzeigt.
|
* Sofortüberweisung, Mahnung und Ablehnung anzeigt.
|
||||||
*
|
*
|
||||||
|
|
@ -44,9 +46,7 @@ public class InvoicePlugin extends AbstractPlugin {
|
||||||
public static final int TASK_SACHPRUEFUNG = 5200;
|
public static final int TASK_SACHPRUEFUNG = 5200;
|
||||||
public static final int TASK_SACHPRUEFUNG_DELEGATION = 5210;
|
public static final int TASK_SACHPRUEFUNG_DELEGATION = 5210;
|
||||||
public static final int EVENT_FREIGEBEN = 20;
|
public static final int EVENT_FREIGEBEN = 20;
|
||||||
public static final String ITEM_INVOICE_PERIOD = "invoice.period";
|
|
||||||
|
|
||||||
public static final String CHILD_ITEM_PROPERTY = "_ChildItems";
|
|
||||||
public static final String ERROR_MISSING_DATA = "MISSING_DATA";
|
public static final String ERROR_MISSING_DATA = "MISSING_DATA";
|
||||||
public static final String ERROR_DUPPLICATE_INVOICE_NUMBER = "DUPPLICATE_INVOICE_NUMBER";
|
public static final String ERROR_DUPPLICATE_INVOICE_NUMBER = "DUPPLICATE_INVOICE_NUMBER";
|
||||||
public static final String ERROR_NEW_IBANBIC = "NEW_IBANBIC";
|
public static final String ERROR_NEW_IBANBIC = "NEW_IBANBIC";
|
||||||
|
|
@ -73,6 +73,9 @@ public class InvoicePlugin extends AbstractPlugin {
|
||||||
|
|
||||||
updateImg(workitem);
|
updateImg(workitem);
|
||||||
|
|
||||||
|
// Update Invoice.positions
|
||||||
|
InvoiceUtil.updateInvoicePositions(workitem);
|
||||||
|
|
||||||
// skip if validaten tag is required=false
|
// skip if validaten tag is required=false
|
||||||
ItemCollection evalItemCollection = this.getWorkflowService().evalWorkflowResult(event, "validation", workitem);
|
ItemCollection evalItemCollection = this.getWorkflowService().evalWorkflowResult(event, "validation", workitem);
|
||||||
if (evalItemCollection != null) {
|
if (evalItemCollection != null) {
|
||||||
|
|
@ -94,9 +97,7 @@ public class InvoicePlugin extends AbstractPlugin {
|
||||||
// doppelte Rechnungsnummer prüfen
|
// doppelte Rechnungsnummer prüfen
|
||||||
if (workitem.getTaskID() == TASK_ERFASSUNG) {
|
if (workitem.getTaskID() == TASK_ERFASSUNG) {
|
||||||
validateInvoiceNumber(workitem);
|
validateInvoiceNumber(workitem);
|
||||||
|
|
||||||
checkIBANNumber(workitem);
|
checkIBANNumber(workitem);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (workitem.getTaskID() == TASK_ERFASSUNG || ((workitem.getTaskID() == TASK_SACHPRUEFUNG
|
if (workitem.getTaskID() == TASK_ERFASSUNG || ((workitem.getTaskID() == TASK_SACHPRUEFUNG
|
||||||
|
|
@ -104,7 +105,7 @@ public class InvoicePlugin extends AbstractPlugin {
|
||||||
&& workitem.getEventID() == EVENT_FREIGEBEN)) {
|
&& workitem.getEventID() == EVENT_FREIGEBEN)) {
|
||||||
// Buchungsperiode auf plausi prüfen
|
// Buchungsperiode auf plausi prüfen
|
||||||
if (isCargoRechnung(workitem) && "workitem".equals(workitem.getType())) {
|
if (isCargoRechnung(workitem) && "workitem".equals(workitem.getType())) {
|
||||||
validateBuchungsperiode(workitem.getItemValueString(ITEM_INVOICE_PERIOD));
|
validateBuchungsperiode(workitem.getItemValueString(InvoiceUtil.ITEM_INVOICE_PERIOD));
|
||||||
}
|
}
|
||||||
// Cargosoft Kreditorennnummer prüfen
|
// Cargosoft Kreditorennnummer prüfen
|
||||||
if (isCargoRechnung(workitem)) {
|
if (isCargoRechnung(workitem)) {
|
||||||
|
|
@ -118,7 +119,7 @@ public class InvoicePlugin extends AbstractPlugin {
|
||||||
if (isCargoRechnung(workitem)
|
if (isCargoRechnung(workitem)
|
||||||
&& ((workitem.getTaskID() == TASK_SACHPRUEFUNG || workitem.getTaskID() == TASK_SACHPRUEFUNG_DELEGATION)
|
&& ((workitem.getTaskID() == TASK_SACHPRUEFUNG || workitem.getTaskID() == TASK_SACHPRUEFUNG_DELEGATION)
|
||||||
&& workitem.getEventID() == EVENT_FREIGEBEN)) {
|
&& workitem.getEventID() == EVENT_FREIGEBEN)) {
|
||||||
List<ItemCollection> childs = explodeChildList(workitem);
|
List<ItemCollection> childs = InvoiceUtil.explodeChildList(workitem);
|
||||||
for (ItemCollection posItem : childs) {
|
for (ItemCollection posItem : childs) {
|
||||||
if (posItem.getItemValueString("name").trim().isEmpty()) {
|
if (posItem.getItemValueString("name").trim().isEmpty()) {
|
||||||
// throw a plugin exception - because name is missing!
|
// throw a plugin exception - because name is missing!
|
||||||
|
|
@ -159,8 +160,8 @@ public class InvoicePlugin extends AbstractPlugin {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Buchunsperiode
|
// Buchunsperiode
|
||||||
if (!posItem.getItemValueString(ITEM_INVOICE_PERIOD).trim().isEmpty()) {
|
if (!posItem.getItemValueString(InvoiceUtil.ITEM_INVOICE_PERIOD).trim().isEmpty()) {
|
||||||
validateBuchungsperiode(posItem.getItemValueString(ITEM_INVOICE_PERIOD));
|
validateBuchungsperiode(posItem.getItemValueString(InvoiceUtil.ITEM_INVOICE_PERIOD));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -222,16 +223,6 @@ public class InvoicePlugin extends AbstractPlugin {
|
||||||
}
|
}
|
||||||
workitem.setItemValue("_img", img);
|
workitem.setItemValue("_img", img);
|
||||||
|
|
||||||
/*
|
|
||||||
* for (String entry: eventLog) { // sofortüberweisung if (entry.contains(".96")
|
|
||||||
* && !img.contains("100.png")) {
|
|
||||||
* img=img+"<img src=\"/layout/icons/icon100.png\">"; } // mahnen if
|
|
||||||
* (entry.contains(".95") && !img.contains("074.png")) {
|
|
||||||
* img=img+"<img src=\"/layout/icons/icon074.png\">"; } // ablehnen if
|
|
||||||
* (entry.contains("5100.90") && !img.contains("031.png")) {
|
|
||||||
* img=img+"<img src=\"/layout/icons/icon031.png\">"; } }
|
|
||||||
* workitem.setItemValue("_img", img);
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -352,7 +343,7 @@ public class InvoicePlugin extends AbstractPlugin {
|
||||||
// wenn bereits eine Überneahme angedroht wurde dann übernehemen!
|
// wenn bereits eine Überneahme angedroht wurde dann übernehemen!
|
||||||
if (!overtakeIBAN.isEmpty()) {
|
if (!overtakeIBAN.isEmpty()) {
|
||||||
kreditorService.addNewIBANBIC(cdtrNumber, iban, bic);
|
kreditorService.addNewIBANBIC(cdtrNumber, iban, bic);
|
||||||
workitem.setItemValue("ibanbic.overtake","");
|
workitem.setItemValue("ibanbic.overtake", "");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -383,8 +374,6 @@ public class InvoicePlugin extends AbstractPlugin {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hilfsmethod prüft ob die cdtr.nummer mit einer nummer aus der Cargosoft
|
* Hilfsmethod prüft ob die cdtr.nummer mit einer nummer aus der Cargosoft
|
||||||
* Import Datei übereinstimmt.
|
* Import Datei übereinstimmt.
|
||||||
|
|
@ -422,24 +411,6 @@ public class InvoicePlugin extends AbstractPlugin {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* converts the Map List of a workitem into a List of ItemCollectons
|
|
||||||
*/
|
|
||||||
@SuppressWarnings({ "rawtypes", "unchecked" })
|
|
||||||
protected static List<ItemCollection> explodeChildList(ItemCollection workitem) {
|
|
||||||
// convert current list of childItems into ItemCollection elements
|
|
||||||
ArrayList<ItemCollection> childItems = new ArrayList<ItemCollection>();
|
|
||||||
|
|
||||||
List<Object> mapOrderItems = workitem.getItemValue(CHILD_ITEM_PROPERTY);
|
|
||||||
for (Object mapOderItem : mapOrderItems) {
|
|
||||||
if (mapOderItem instanceof Map) {
|
|
||||||
ItemCollection itemCol = new ItemCollection((Map) mapOderItem);
|
|
||||||
childItems.add(itemCol);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return childItems;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns true if the current workitem is a Cargosoft Invoice.
|
* This method returns true if the current workitem is a Cargosoft Invoice.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -2,24 +2,39 @@ package com.alexanderlogistics;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import org.imixs.workflow.ItemCollection;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Rundungs Methode
|
* Hilfsmethoden für die Berechnung und Validierung von Ein und
|
||||||
|
* Ausgangsrechnugnen
|
||||||
*
|
*
|
||||||
* See: https://stackoverflow.com/questions/2808535/round-a-double-to-2-decimal-places
|
* - Rundungs Methode
|
||||||
|
* - Berechnung der Positionsnummern
|
||||||
|
* - Explode Childitems
|
||||||
|
*
|
||||||
|
* See:
|
||||||
|
* https://stackoverflow.com/questions/2808535/round-a-double-to-2-decimal-places
|
||||||
*
|
*
|
||||||
* @author rsoika
|
* @author rsoika
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public class InvoiceUtil {
|
public class InvoiceUtil {
|
||||||
|
|
||||||
|
public static final String CHILD_ITEM_PROPERTY = "_ChildItems";
|
||||||
|
public static final String ITEM_INVOICE_PERIOD = "invoice.period";
|
||||||
|
public static final String ITEM_INVOICE_POSITIONS = "invoice.positions";
|
||||||
|
|
||||||
public static double round(double value) {
|
public static double round(double value) {
|
||||||
BigDecimal bd = BigDecimal.valueOf(value);
|
BigDecimal bd = BigDecimal.valueOf(value);
|
||||||
bd = bd.setScale(2, RoundingMode.HALF_UP);
|
bd = bd.setScale(2, RoundingMode.HALF_UP);
|
||||||
return bd.doubleValue();
|
return bd.doubleValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hilfsmethode zum validieren der Mailadresse
|
* Hilfsmethode zum validieren der Mailadresse
|
||||||
*
|
*
|
||||||
|
|
@ -27,7 +42,7 @@ public class InvoiceUtil {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static boolean validateEmail(String emailAddress) {
|
public static boolean validateEmail(String emailAddress) {
|
||||||
//String regexPattern = "^(.+)@(\\S+)$";
|
// String regexPattern = "^(.+)@(\\S+)$";
|
||||||
|
|
||||||
String regexPattern = "^(?=.{1,64}@)[A-Za-z0-9_-]+(\\.[A-Za-z0-9_-]+)*@"
|
String regexPattern = "^(?=.{1,64}@)[A-Za-z0-9_-]+(\\.[A-Za-z0-9_-]+)*@"
|
||||||
+ "[^-][A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})$";
|
+ "[^-][A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})$";
|
||||||
|
|
@ -36,7 +51,6 @@ public class InvoiceUtil {
|
||||||
.matches();
|
.matches();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public static double roundConservative(double value) {
|
public static double roundConservative(double value) {
|
||||||
value = value * 100;
|
value = value * 100;
|
||||||
|
|
@ -44,4 +58,53 @@ public class InvoiceUtil {
|
||||||
return (double) tmp / 100;
|
return (double) tmp / 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* converts the Map List of a workitem into a List of ItemCollectons
|
||||||
|
*/
|
||||||
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
||||||
|
public static List<ItemCollection> explodeChildList(ItemCollection workitem) {
|
||||||
|
// convert current list of childItems into ItemCollection elements
|
||||||
|
ArrayList<ItemCollection> childItems = new ArrayList<ItemCollection>();
|
||||||
|
|
||||||
|
List<Object> mapOrderItems = workitem.getItemValue(CHILD_ITEM_PROPERTY);
|
||||||
|
for (Object mapOderItem : mapOrderItems) {
|
||||||
|
if (mapOderItem instanceof Map) {
|
||||||
|
ItemCollection itemCol = new ItemCollection((Map) mapOderItem);
|
||||||
|
childItems.add(itemCol);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return childItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Diese Methode berechnet das feld 'invoice.positions' welches eine Valueliste
|
||||||
|
* mit allen Positionsnummern aus dem Childliste enthält.
|
||||||
|
* Es wird sowohl für Ausgangs wie Eingangsrechnungen genutzt.
|
||||||
|
* Das feld wird indiziert, so dass eine gezielte Suche nach positiosnummern
|
||||||
|
* möglich ist.
|
||||||
|
*
|
||||||
|
* @param workitem
|
||||||
|
*/
|
||||||
|
public static void updateInvoicePositions(ItemCollection workitem) {
|
||||||
|
|
||||||
|
List<String> posList = new ArrayList<String>();
|
||||||
|
List<ItemCollection> childs = InvoiceUtil.explodeChildList(workitem);
|
||||||
|
for (ItemCollection posItem : childs) {
|
||||||
|
String posName = "";
|
||||||
|
// Ausgangsrechnung - item=datev.text
|
||||||
|
// Eingangsrechnugn - item=name
|
||||||
|
if (posItem.hasItem("datev.text")) {
|
||||||
|
posName = posItem.getItemValueString("datev.text").trim();
|
||||||
|
} else {
|
||||||
|
posName = posItem.getItemValueString("name").trim();
|
||||||
|
}
|
||||||
|
if (!posName.isEmpty()) {
|
||||||
|
posList.add(posName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// update invoice.positions
|
||||||
|
workitem.setItemValue(ITEM_INVOICE_POSITIONS, posList);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -94,9 +94,13 @@ import com.alexanderlogistics.KreditorDebitorService;
|
||||||
* - event
|
* - event
|
||||||
*
|
*
|
||||||
* <datev-cargosoft-import name=
|
* <datev-cargosoft-import name=
|
||||||
* "model">rechnungseingang-dwc-1.0</datev-cargosoft-import>
|
* "model-invoice">rechnungsausgang-dwc-1.0</datev-cargosoft-import>
|
||||||
* <datev-cargosoft-import name="task">1000</datev-cargosoft-import>
|
* <datev-cargosoft-import name="task-invoice">1000</datev-cargosoft-import>
|
||||||
* <datev-cargosoft-import name="event">100</datev-cargosoft-import>
|
* <datev-cargosoft-import name="event-invoice">100</datev-cargosoft-import>
|
||||||
|
* <datev-cargosoft-import name=
|
||||||
|
* "model-tax">rechnungsausgang-dwc-1.0</datev-cargosoft-import>
|
||||||
|
* <datev-cargosoft-import name="task-tax">1000</datev-cargosoft-import>
|
||||||
|
* <datev-cargosoft-import name="event-tax">100</datev-cargosoft-import>
|
||||||
*
|
*
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
* @author rsoika
|
* @author rsoika
|
||||||
|
|
@ -122,11 +126,12 @@ public class DatevCargosoftImportAdapter implements SignalAdapter {
|
||||||
@Inject
|
@Inject
|
||||||
TeamService teamService;
|
TeamService teamService;
|
||||||
|
|
||||||
private String INITIAL_MODEL_VERSION;
|
private String INITIAL_MODEL_VERSION_INVOICE;
|
||||||
|
private int INITIAL_TASK_ID_INVOICE;
|
||||||
private int INITIAL_TASK_ID;
|
private int INITIAL_EVENT_ID_INVOICE;
|
||||||
|
private String INITIAL_MODEL_VERSION_TAX;
|
||||||
private int INITIAL_EVENT_ID;
|
private int INITIAL_TASK_ID_TAX;
|
||||||
|
private int INITIAL_EVENT_ID_TAX;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method finds or create the Datev Export and adds a reference
|
* This method finds or create the Datev Export and adds a reference
|
||||||
|
|
@ -140,25 +145,44 @@ public class DatevCargosoftImportAdapter implements SignalAdapter {
|
||||||
|
|
||||||
logger.info("...parse datev file import...");
|
logger.info("...parse datev file import...");
|
||||||
// Set default values
|
// Set default values
|
||||||
INITIAL_MODEL_VERSION = "rechnungsausgang-de-1.0";
|
INITIAL_MODEL_VERSION_INVOICE = "rechnungsausgang-de-1.0";
|
||||||
INITIAL_TASK_ID = 5001;
|
INITIAL_TASK_ID_INVOICE = 5001;
|
||||||
INITIAL_EVENT_ID = 980;
|
INITIAL_EVENT_ID_INVOICE = 980;
|
||||||
|
|
||||||
|
INITIAL_MODEL_VERSION_TAX = "zollanmeldung-de-1.0";
|
||||||
|
INITIAL_TASK_ID_TAX = 1000;
|
||||||
|
INITIAL_EVENT_ID_TAX = 980;
|
||||||
|
|
||||||
// Try to read the optional cargosoft import options...
|
// Try to read the optional cargosoft import options...
|
||||||
ItemCollection evalItemCollection = workflowService.evalWorkflowResult(event, "datev-cargosoft-import",
|
ItemCollection evalItemCollection = workflowService.evalWorkflowResult(event, "datev-cargosoft-import",
|
||||||
workitem, false);
|
workitem, false);
|
||||||
if (evalItemCollection != null) {
|
if (evalItemCollection != null) {
|
||||||
INITIAL_MODEL_VERSION = evalItemCollection.getItemValueString("model");
|
// Ausgangsrechnung
|
||||||
if (INITIAL_MODEL_VERSION.isEmpty()) {
|
INITIAL_MODEL_VERSION_INVOICE = evalItemCollection.getItemValueString("model-invoice");
|
||||||
INITIAL_MODEL_VERSION = "rechnungsausgang-de-1.0"; // set default
|
if (INITIAL_MODEL_VERSION_INVOICE.isEmpty()) {
|
||||||
|
INITIAL_MODEL_VERSION_INVOICE = "rechnungsausgang-de-1.0"; // set default
|
||||||
}
|
}
|
||||||
INITIAL_TASK_ID = evalItemCollection.getItemValueInteger("task");
|
INITIAL_TASK_ID_INVOICE = evalItemCollection.getItemValueInteger("task-invoice");
|
||||||
if (INITIAL_TASK_ID == 0) {
|
if (INITIAL_TASK_ID_INVOICE == 0) {
|
||||||
INITIAL_TASK_ID = 5001; // set default
|
INITIAL_TASK_ID_INVOICE = 5001; // set default
|
||||||
}
|
}
|
||||||
INITIAL_EVENT_ID = evalItemCollection.getItemValueInteger("event");
|
INITIAL_EVENT_ID_INVOICE = evalItemCollection.getItemValueInteger("event-invoice");
|
||||||
if (INITIAL_EVENT_ID == 0) {
|
if (INITIAL_EVENT_ID_INVOICE == 0) {
|
||||||
INITIAL_EVENT_ID = 980; // set default
|
INITIAL_EVENT_ID_INVOICE = 980; // set default
|
||||||
|
}
|
||||||
|
|
||||||
|
// Zollanmeldung
|
||||||
|
INITIAL_MODEL_VERSION_TAX = evalItemCollection.getItemValueString("model-tax");
|
||||||
|
if (INITIAL_MODEL_VERSION_TAX.isEmpty()) {
|
||||||
|
INITIAL_MODEL_VERSION_TAX = "zollanmeldung-de-1.0"; // set default
|
||||||
|
}
|
||||||
|
INITIAL_TASK_ID_TAX = evalItemCollection.getItemValueInteger("task-tax");
|
||||||
|
if (INITIAL_TASK_ID_TAX == 0) {
|
||||||
|
INITIAL_TASK_ID_TAX = 1000; // set default
|
||||||
|
}
|
||||||
|
INITIAL_EVENT_ID_TAX = evalItemCollection.getItemValueInteger("event-tax");
|
||||||
|
if (INITIAL_EVENT_ID_TAX == 0) {
|
||||||
|
INITIAL_EVENT_ID_TAX = 980; // set default
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
|
@ -286,7 +310,8 @@ public class DatevCargosoftImportAdapter implements SignalAdapter {
|
||||||
double basisumsatz = parseBetrag(DatevImportAdapter.csvVal(dataList[4]));
|
double basisumsatz = parseBetrag(DatevImportAdapter.csvVal(dataList[4]));
|
||||||
|
|
||||||
// Skip Eingangsrechnungen
|
// Skip Eingangsrechnungen
|
||||||
if (!gegenKonto.startsWith("1")) {
|
// Wenn es aber eine ATC Belegnummer ist dann ist es doch interessant
|
||||||
|
if (!gegenKonto.startsWith("1") && !belegNummer.startsWith("ATC")) {
|
||||||
eingangsrechnungen++;
|
eingangsrechnungen++;
|
||||||
// skip
|
// skip
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -337,7 +362,7 @@ public class DatevCargosoftImportAdapter implements SignalAdapter {
|
||||||
logger.info("...close workitem....");
|
logger.info("...close workitem....");
|
||||||
|
|
||||||
// nein - also invoice schließen
|
// nein - also invoice schließen
|
||||||
closeInvoiceWorkitem(invoiceWorkitem, splitBuchungen, spacePosMappings);
|
closeDatevWorkitem(invoiceWorkitem, splitBuchungen, spacePosMappings);
|
||||||
invoiceWorkitem = null;
|
invoiceWorkitem = null;
|
||||||
// neue Splitbuchungstabelle anlegen
|
// neue Splitbuchungstabelle anlegen
|
||||||
splitBuchungen = new ArrayList<ItemCollection>();
|
splitBuchungen = new ArrayList<ItemCollection>();
|
||||||
|
|
@ -355,7 +380,7 @@ public class DatevCargosoftImportAdapter implements SignalAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
} // wile end
|
} // wile end
|
||||||
closeInvoiceWorkitem(invoiceWorkitem, splitBuchungen, spacePosMappings);
|
closeDatevWorkitem(invoiceWorkitem, splitBuchungen, spacePosMappings);
|
||||||
|
|
||||||
} catch (IOException | ParseException e) {
|
} catch (IOException | ParseException e) {
|
||||||
throw new PluginException(DatevCargosoftImportAdapter.class.getName(),
|
throw new PluginException(DatevCargosoftImportAdapter.class.getName(),
|
||||||
|
|
@ -426,7 +451,11 @@ public class DatevCargosoftImportAdapter implements SignalAdapter {
|
||||||
throws AdapterException {
|
throws AdapterException {
|
||||||
|
|
||||||
// test if invoice was already imported before
|
// test if invoice was already imported before
|
||||||
String sQuery = "((type:workitem OR type:workitemarchive) AND $modelversion:rechnungsausgang* AND invoice.number:\""
|
// zollanmeldung
|
||||||
|
// String sQuery = "((type:workitem OR type:workitemarchive) AND
|
||||||
|
// $modelversion:rechnungsausgang* AND invoice.number:\""
|
||||||
|
// + belegNummer + "\")";
|
||||||
|
String sQuery = "((type:workitem OR type:workitemarchive) AND ($modelversion:rechnungsausgang* OR $modelversion:zollanmeldung*) AND invoice.number:\""
|
||||||
+ belegNummer + "\")";
|
+ belegNummer + "\")";
|
||||||
try {
|
try {
|
||||||
// find the textblock...
|
// find the textblock...
|
||||||
|
|
@ -481,10 +510,10 @@ public class DatevCargosoftImportAdapter implements SignalAdapter {
|
||||||
* @throws ProcessingErrorException
|
* @throws ProcessingErrorException
|
||||||
* @throws AccessDeniedException
|
* @throws AccessDeniedException
|
||||||
*/
|
*/
|
||||||
private void closeInvoiceWorkitem(ItemCollection invoiceWorkitem, List<ItemCollection> splitBuchungen,
|
private void closeDatevWorkitem(ItemCollection datevWorkitem, List<ItemCollection> splitBuchungen,
|
||||||
Map<String, List<String>> spacePosMappings)
|
Map<String, List<String>> spacePosMappings)
|
||||||
throws AccessDeniedException, ProcessingErrorException, PluginException, ModelException {
|
throws AccessDeniedException, ProcessingErrorException, PluginException, ModelException {
|
||||||
if (invoiceWorkitem == null) {
|
if (datevWorkitem == null) {
|
||||||
return; // no op
|
return; // no op
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -499,30 +528,30 @@ public class DatevCargosoftImportAdapter implements SignalAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
total = InvoiceUtil.round(total);
|
total = InvoiceUtil.round(total);
|
||||||
invoiceWorkitem.setItemValue("invoice.total", total);
|
datevWorkitem.setItemValue("invoice.total", total);
|
||||||
invoiceWorkitem.setItemValue("invoice.saldo", total);
|
datevWorkitem.setItemValue("invoice.saldo", total);
|
||||||
// implode die Splitbuchungen
|
// implode die Splitbuchungen
|
||||||
implodeChildList(invoiceWorkitem, splitBuchungen);
|
implodeChildList(datevWorkitem, splitBuchungen);
|
||||||
|
|
||||||
// set dbtr.name
|
// set dbtr.name
|
||||||
ItemCollection dbtrItemCol = kreditorDebitorService
|
ItemCollection dbtrItemCol = kreditorDebitorService
|
||||||
.findDebitor(invoiceWorkitem.getItemValueString("dbtr.number"));
|
.findDebitor(datevWorkitem.getItemValueString("dbtr.number"));
|
||||||
if (dbtrItemCol != null) {
|
if (dbtrItemCol != null) {
|
||||||
invoiceWorkitem.setItemValue("dbtr.name", dbtrItemCol.getItemValueString("_VENDOR_Name"));
|
datevWorkitem.setItemValue("dbtr.name", dbtrItemCol.getItemValueString("_VENDOR_Name"));
|
||||||
// Anhand der Creditoren Stammdaten errrechnen wir die Sprache für diese
|
// Anhand der Creditoren Stammdaten errrechnen wir die Sprache für diese
|
||||||
// Rechnung
|
// Rechnung
|
||||||
String country = dbtrItemCol.getItemValueString("_VENDOR_COUNTRY");
|
String country = dbtrItemCol.getItemValueString("_VENDOR_COUNTRY");
|
||||||
invoiceWorkitem.setItemValue("dbtr.country", country);
|
datevWorkitem.setItemValue("dbtr.country", country);
|
||||||
if (country.equalsIgnoreCase("de") || country.equalsIgnoreCase("ch") || country.equalsIgnoreCase("at")) {
|
if (country.equalsIgnoreCase("de") || country.equalsIgnoreCase("ch") || country.equalsIgnoreCase("at")) {
|
||||||
invoiceWorkitem.setItemValue("invoice.language", "DE");
|
datevWorkitem.setItemValue("invoice.language", "DE");
|
||||||
} else {
|
} else {
|
||||||
invoiceWorkitem.setItemValue("invoice.language", "EN");
|
datevWorkitem.setItemValue("invoice.language", "EN");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Jezt noch das Space mapping
|
// Jezt noch das Space mapping
|
||||||
// dazu kucken wir in alle spaces den config wert 'pos.mapping'
|
// dazu kucken wir in alle spaces den config wert 'pos.mapping'
|
||||||
String text = invoiceWorkitem.getItemValueString("invoice.text");
|
String text = datevWorkitem.getItemValueString("invoice.text");
|
||||||
if (!text.isEmpty()) {
|
if (!text.isEmpty()) {
|
||||||
boolean found = false;
|
boolean found = false;
|
||||||
for (Map.Entry<String, List<String>> entry : spacePosMappings.entrySet()) {
|
for (Map.Entry<String, List<String>> entry : spacePosMappings.entrySet()) {
|
||||||
|
|
@ -532,7 +561,7 @@ public class DatevCargosoftImportAdapter implements SignalAdapter {
|
||||||
Matcher m = p.matcher(text);
|
Matcher m = p.matcher(text);
|
||||||
if (m.find()) {
|
if (m.find()) {
|
||||||
// we have a match
|
// we have a match
|
||||||
invoiceWorkitem.setItemValue("space.ref", entry.getKey());
|
datevWorkitem.setItemValue("space.ref", entry.getKey());
|
||||||
found = true;
|
found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -543,8 +572,18 @@ public class DatevCargosoftImportAdapter implements SignalAdapter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Processe die Invoice
|
// Processe die Invoice
|
||||||
invoiceWorkitem.model(INITIAL_MODEL_VERSION).task(INITIAL_TASK_ID).event(INITIAL_EVENT_ID);
|
// In Abhängkeit von der Belegart 'Ausgangsrechnung' | 'Zollanmeldung' wird ein
|
||||||
workflowService.processWorkItem(invoiceWorkitem);
|
// neues Workitem erzeugt.
|
||||||
|
String belegNummer = datevWorkitem.getItemValueString("invoice.number");
|
||||||
|
if (belegNummer.startsWith("ATC")) {
|
||||||
|
// Zollanmeldung
|
||||||
|
datevWorkitem.model(INITIAL_MODEL_VERSION_TAX).task(INITIAL_TASK_ID_TAX).event(INITIAL_EVENT_ID_TAX);
|
||||||
|
} else {
|
||||||
|
// Normale Ausgangsrechnung
|
||||||
|
datevWorkitem.model(INITIAL_MODEL_VERSION_INVOICE).task(INITIAL_TASK_ID_INVOICE)
|
||||||
|
.event(INITIAL_EVENT_ID_INVOICE);
|
||||||
|
}
|
||||||
|
workflowService.processWorkItem(datevWorkitem);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,12 @@
|
||||||
# Imixs Lucene Plugin
|
# Imixs Lucene Plugin
|
||||||
##############################
|
##############################
|
||||||
lucence.indexDir=${imixs-office.IndexDir}
|
lucence.indexDir=${imixs-office.IndexDir}
|
||||||
index.fields=txtsearchstring,txtSubject,txtname,txtEmail,txtUserName,namCreator,txtworkflowgroup,txtworkflowstatus,txtWorkflowAbstract,txtWorkflowSummary,txtworkflowhistory,txtspacename,txtprocessname,_subject,_description,_name,_projectnumber,_projectname,_ordernumber,_contractnumber,datDueDate,txtcommentlog,htmldescription,htmldocumentation,dms,dms_names,invoice.number.stripped,_childitems,$file.names,_VENDOR_NAME,dbtr.number,cdtr.number
|
index.fields=txtsearchstring,txtSubject,txtname,txtEmail,txtUserName,namCreator,txtworkflowgroup,txtworkflowstatus,txtWorkflowAbstract,txtWorkflowSummary,txtworkflowhistory,txtspacename,txtprocessname,_subject,_description,_name,_projectnumber,_projectname,_ordernumber,_contractnumber,datDueDate,txtcommentlog,htmldescription,htmldocumentation,dms,dms_names,invoice.number.stripped,_childitems,$file.names,_VENDOR_NAME,dbtr.number,cdtr.number,invoice.positions
|
||||||
index.fields.analyze=txtUsername
|
index.fields.analyze=txtUsername
|
||||||
index.fields.noanalyze=type,$UniqueIDRef,$created,$modified,$ModelVersion,$participants,namCreator,$ProcessID,datDate,txtWorkflowGroup,txtemail, datdate, datfrom, datto, numsequencenumber,sequencenumber,dms_count,invoice.number,invoice.number.stripped,invoice.date,invoice.duedate,taxonomy.verteilung.stop,taxonomy.sachpruefung.stop,taxonomy.verteilung.start,taxonomy.sachpruefung.start,taxonomy.buchhaltung.start,taxonomy.buchhaltung.stop,dbtr.number,cdtr.number,payment.date,invoice.total,invoice.currency,$lasteventdate,payment.type
|
index.fields.noanalyze=type,$UniqueIDRef,$created,$modified,$ModelVersion,$participants,namCreator,$ProcessID,datDate,txtWorkflowGroup,txtemail, datdate, datfrom, datto, numsequencenumber,sequencenumber,dms_count,invoice.number,invoice.number.stripped,invoice.date,invoice.duedate,taxonomy.verteilung.stop,taxonomy.sachpruefung.stop,taxonomy.verteilung.start,taxonomy.sachpruefung.start,taxonomy.buchhaltung.start,taxonomy.buchhaltung.stop,dbtr.number,cdtr.number,payment.date,invoice.total,invoice.currency,invoice.positions,$lasteventdate,payment.type
|
||||||
index.fields.store=process.name,txtProcessName,txtWorkflowImageURL,payment.date,invoice.number,invoice.date,invoice.duedate
|
index.fields.store=process.name,txtProcessName,txtWorkflowImageURL,payment.date,invoice.number,invoice.date,invoice.duedate
|
||||||
index.fields.category=space.name,space.ref,taxonomy.verteilung.stop.by,taxonomy.sachpruefung.stop.by,taxonomy.buchhaltung.stop.by
|
index.fields.category=space.name,space.ref,taxonomy.verteilung.stop.by,taxonomy.sachpruefung.stop.by,taxonomy.buchhaltung.stop.by
|
||||||
office.search.noanalyze=invoice.number,invoice.number.stripped
|
office.search.noanalyze=invoice.number,invoice.number.stripped,invoice.positions
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
# Marty Setup
|
# Marty Setup
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
<CstmrCdtTrfInitn>
|
<CstmrCdtTrfInitn>
|
||||||
<GrpHdr>
|
<GrpHdr>
|
||||||
<MsgId>bf073e72asdf512c4d60af7740872036</MsgId>
|
<MsgId>bf073e72asdf512c4d60af7740872036</MsgId>
|
||||||
<CreDtTm>2024-04-03T15:23:47</CreDtTm>
|
<CreDtTm>2024-04-12T09:10:53</CreDtTm>
|
||||||
<NbOfTxs>3</NbOfTxs>
|
<NbOfTxs>3</NbOfTxs>
|
||||||
<CtrlSum>655.90</CtrlSum>
|
<CtrlSum>655.90</CtrlSum>
|
||||||
<InitgPty>
|
<InitgPty>
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
<Cd>SEPA</Cd>
|
<Cd>SEPA</Cd>
|
||||||
</SvcLvl>
|
</SvcLvl>
|
||||||
</PmtTpInf>
|
</PmtTpInf>
|
||||||
<ReqdExctnDt>2024-04-03</ReqdExctnDt>
|
<ReqdExctnDt>2024-04-12</ReqdExctnDt>
|
||||||
<Dbtr>
|
<Dbtr>
|
||||||
<Nm>Targo Bank</Nm>
|
<Nm>Targo Bank</Nm>
|
||||||
</Dbtr>
|
</Dbtr>
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
<CstmrCdtTrfInitn>
|
<CstmrCdtTrfInitn>
|
||||||
<GrpHdr>
|
<GrpHdr>
|
||||||
<MsgId>bf073e72asdf512c4d60af7740872036</MsgId>
|
<MsgId>bf073e72asdf512c4d60af7740872036</MsgId>
|
||||||
<CreDtTm>2024-04-03T15:23:47</CreDtTm>
|
<CreDtTm>2024-04-12T09:10:53</CreDtTm>
|
||||||
<NbOfTxs>3</NbOfTxs>
|
<NbOfTxs>3</NbOfTxs>
|
||||||
<CtrlSum>655.90</CtrlSum>
|
<CtrlSum>655.90</CtrlSum>
|
||||||
<InitgPty>
|
<InitgPty>
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
<Cd>SEPA</Cd>
|
<Cd>SEPA</Cd>
|
||||||
</SvcLvl>
|
</SvcLvl>
|
||||||
</PmtTpInf>
|
</PmtTpInf>
|
||||||
<ReqdExctnDt>2024-04-03</ReqdExctnDt>
|
<ReqdExctnDt>2024-04-12</ReqdExctnDt>
|
||||||
<Dbtr>
|
<Dbtr>
|
||||||
<Nm>Targo Bank</Nm>
|
<Nm>Targo Bank</Nm>
|
||||||
</Dbtr>
|
</Dbtr>
|
||||||
|
|
|
||||||
|
|
@ -507,9 +507,13 @@ if (workitem['$file.count'][0]!=1) {
|
||||||
<imixs:value><![CDATA[Import Buchungstapel]]></imixs:value>
|
<imixs:value><![CDATA[Import Buchungstapel]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txtactivityresult" type="xs:string">
|
<imixs:item name="txtactivityresult" type="xs:string">
|
||||||
<imixs:value><![CDATA[<datev-cargosoft-import name="model">rechnungsausgang-dwc-1.0</datev-cargosoft-import>
|
<imixs:value><![CDATA[<datev-cargosoft-import name="model-invoice">rechnungsausgang-dwc-1.0</datev-cargosoft-import>
|
||||||
<datev-cargosoft-import name="task">5001</datev-cargosoft-import>
|
<datev-cargosoft-import name="task-invoice">5001</datev-cargosoft-import>
|
||||||
<datev-cargosoft-import name="event">980</datev-cargosoft-import>]]></imixs:value>
|
<datev-cargosoft-import name="event-invoice">980</datev-cargosoft-import>
|
||||||
|
|
||||||
|
<datev-cargosoft-import name="model-tax">zollanmeldung-dwc-1.0</datev-cargosoft-import>
|
||||||
|
<datev-cargosoft-import name="task-tax">1000</datev-cargosoft-import>
|
||||||
|
<datev-cargosoft-import name="event-tax">980</datev-cargosoft-import>]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txtmailsubject" type="xs:string">
|
<imixs:item name="txtmailsubject" type="xs:string">
|
||||||
<imixs:value/>
|
<imixs:value/>
|
||||||
|
|
@ -805,7 +809,6 @@ if (workitem['$file.count'][0]!=1) {
|
||||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_18" id="BPMNEdge_SequenceFlow_18" sourceElement="BPMNShape_ExclusiveGateway_2" targetElement="BPMNShape_IntermediateCatchEvent_3">
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_18" id="BPMNEdge_SequenceFlow_18" sourceElement="BPMNShape_ExclusiveGateway_2" targetElement="BPMNShape_IntermediateCatchEvent_3">
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_40"/>
|
<bpmndi:BPMNLabel id="BPMNLabel_40"/>
|
||||||
<di:waypoint x="710.0" y="343.0"/>
|
<di:waypoint x="710.0" y="343.0"/>
|
||||||
<di:waypoint x="745.0" y="343.0"/>
|
|
||||||
<di:waypoint x="780.0" y="343.0"/>
|
<di:waypoint x="780.0" y="343.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_19" id="BPMNEdge_SequenceFlow_19" sourceElement="BPMNShape_ExclusiveGateway_2" targetElement="BPMNShape_IntermediateCatchEvent_7">
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_19" id="BPMNEdge_SequenceFlow_19" sourceElement="BPMNShape_ExclusiveGateway_2" targetElement="BPMNShape_IntermediateCatchEvent_7">
|
||||||
|
|
@ -817,7 +820,6 @@ if (workitem['$file.count'][0]!=1) {
|
||||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_20" id="BPMNEdge_SequenceFlow_20" sourceElement="BPMNShape_IntermediateCatchEvent_3" targetElement="BPMNShape_ExclusiveGateway_3">
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_20" id="BPMNEdge_SequenceFlow_20" sourceElement="BPMNShape_IntermediateCatchEvent_3" targetElement="BPMNShape_ExclusiveGateway_3">
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_43"/>
|
<bpmndi:BPMNLabel id="BPMNLabel_43"/>
|
||||||
<di:waypoint x="816.0" y="343.0"/>
|
<di:waypoint x="816.0" y="343.0"/>
|
||||||
<di:waypoint x="858.0" y="343.0"/>
|
|
||||||
<di:waypoint x="900.0" y="343.0"/>
|
<di:waypoint x="900.0" y="343.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_21" id="BPMNEdge_SequenceFlow_21" sourceElement="BPMNShape_IntermediateCatchEvent_7" targetElement="BPMNShape_ExclusiveGateway_3">
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_21" id="BPMNEdge_SequenceFlow_21" sourceElement="BPMNShape_IntermediateCatchEvent_7" targetElement="BPMNShape_ExclusiveGateway_3">
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<!-- origin at X=0.0 Y=0.0 --><bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:imixs="http://www.imixs.org/bpmn2" xmlns:open-bpmn="http://open-bpmn.org/XMLSchema" xmlns:tl="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="org.eclipse.bpmn2.modeler.core" exporterVersion="1.5.4.RC1-v20220528-0836-B1" id="Definitions_1" name="Definitions 1" targetNamespace="http://www.imixs.org/bpmn2">
|
<!-- origin at X=0.0 Y=0.0 --><bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:imixs="http://www.imixs.org/bpmn2" xmlns:open-bpmn="http://open-bpmn.org/XMLSchema" xmlns:tl="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="org.eclipse.bpmn2.modeler.core" exporterVersion="1.5.4.RC1-v20220528-0836-B1" id="Definitions_1" name="Definitions 1" targetNamespace="http://www.imixs.org/bpmn2">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="txtworkflowmodelversion" type="xs:string">
|
<imixs:item name="txtworkflowmodelversion" type="xs:string">
|
||||||
<imixs:value><![CDATA[zollliste-de-1.0]]></imixs:value>
|
<imixs:value><![CDATA[zollanmeldung-de-1.0]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txtfieldmapping" type="xs:string">
|
<imixs:item name="txtfieldmapping" type="xs:string">
|
||||||
<imixs:value><![CDATA[Prozess-Verantwortliche|process.manager]]></imixs:value>
|
<imixs:value><![CDATA[Prozess-Verantwortliche|process.manager]]></imixs:value>
|
||||||
|
|
@ -72,15 +72,15 @@ th { font-weight: bold;}
|
||||||
</html>]]></bpmn2:documentation>
|
</html>]]></bpmn2:documentation>
|
||||||
</bpmn2:message>
|
</bpmn2:message>
|
||||||
<bpmn2:collaboration id="Collaboration_1" name="Zahlungseingang">
|
<bpmn2:collaboration id="Collaboration_1" name="Zahlungseingang">
|
||||||
<bpmn2:participant id="Participant_1" name="Zoll-Liste" processRef="Process_1">
|
<bpmn2:participant id="Participant_1" name="Zollanmeldung" processRef="Process_1">
|
||||||
<bpmn2:documentation id="documentation_9Tp5PA"/>
|
<bpmn2:documentation id="documentation_9Tp5PA"/>
|
||||||
</bpmn2:participant>
|
</bpmn2:participant>
|
||||||
<bpmn2:participant id="Participant_2" name="SEPA-Export Pool" processRef="eingangsrechnung-de"/>
|
<bpmn2:participant id="Participant_2" name="SEPA-Export Pool" processRef="eingangsrechnung-de"/>
|
||||||
</bpmn2:collaboration>
|
</bpmn2:collaboration>
|
||||||
<bpmn2:process id="eingangsrechnung-de" isExecutable="false" name="Zoll Liste">
|
<bpmn2:process id="eingangsrechnung-de" isExecutable="false" name="Zollanmeldung">
|
||||||
<bpmn2:documentation id="documentation_GmzFcw"/>
|
<bpmn2:documentation id="documentation_GmzFcw"/>
|
||||||
</bpmn2:process>
|
</bpmn2:process>
|
||||||
<bpmn2:process definitionalCollaborationRef="Collaboration_1" id="Process_1" isExecutable="false" name="Zoll-Liste">
|
<bpmn2:process definitionalCollaborationRef="Collaboration_1" id="Process_1" isExecutable="false" name="Zollanmeldung">
|
||||||
<bpmn2:laneSet id="LaneSet_1" name="Lane Set 1">
|
<bpmn2:laneSet id="LaneSet_1" name="Lane Set 1">
|
||||||
<bpmn2:lane id="Lane_1" name="Fachbereich">
|
<bpmn2:lane id="Lane_1" name="Fachbereich">
|
||||||
<bpmn2:flowNodeRef>StartEvent_1</bpmn2:flowNodeRef>
|
<bpmn2:flowNodeRef>StartEvent_1</bpmn2:flowNodeRef>
|
||||||
|
|
@ -94,17 +94,18 @@ th { font-weight: bold;}
|
||||||
<bpmn2:documentation id="documentation_CzcdHw"/>
|
<bpmn2:documentation id="documentation_CzcdHw"/>
|
||||||
<bpmn2:flowNodeRef>DataObject_2</bpmn2:flowNodeRef>
|
<bpmn2:flowNodeRef>DataObject_2</bpmn2:flowNodeRef>
|
||||||
<bpmn2:flowNodeRef>event_XJbC5A</bpmn2:flowNodeRef>
|
<bpmn2:flowNodeRef>event_XJbC5A</bpmn2:flowNodeRef>
|
||||||
<bpmn2:flowNodeRef>event_6fY5IQ</bpmn2:flowNodeRef>
|
<bpmn2:flowNodeRef>textAnnotation_HwSKqQ</bpmn2:flowNodeRef>
|
||||||
|
<bpmn2:flowNodeRef>event_9fS4uw</bpmn2:flowNodeRef>
|
||||||
</bpmn2:lane>
|
</bpmn2:lane>
|
||||||
</bpmn2:laneSet>
|
</bpmn2:laneSet>
|
||||||
<bpmn2:startEvent id="StartEvent_1" name="Start">
|
<bpmn2:startEvent id="StartEvent_1" name="Start">
|
||||||
<bpmn2:outgoing>SequenceFlow_4</bpmn2:outgoing>
|
|
||||||
<bpmn2:documentation id="documentation_VE46fA"/>
|
<bpmn2:documentation id="documentation_VE46fA"/>
|
||||||
|
<bpmn2:outgoing>sequenceFlow_M5IK7w</bpmn2:outgoing>
|
||||||
</bpmn2:startEvent>
|
</bpmn2:startEvent>
|
||||||
<bpmn2:task id="Task_2" imixs:processid="1100" name="Erledigt">
|
<bpmn2:task id="Task_2" imixs:processid="1100" name="Erledigt">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="txtworkflowsummary" type="xs:string">
|
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||||
<imixs:value><![CDATA[<itemvalue>space.name</itemvalue> - <itemvalue format="dd. MMMM yyyy" locale="DE">date</itemvalue>]]></imixs:value>
|
<imixs:value><![CDATA[<itemvalue>invoice.number</itemvalue> <itemvalue>dbtr.number</itemvalue> <itemvalue>dbtr.name</itemvalue> (<itemvalue>invoice.currency</itemvalue> <itemvalue format="#,###,##0.00" locale="de_DE">invoice.total</itemvalue>) ]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="keyupdateacl" type="xs:boolean">
|
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||||
<imixs:value>true</imixs:value>
|
<imixs:value>true</imixs:value>
|
||||||
|
|
@ -134,7 +135,6 @@ th { font-weight: bold;}
|
||||||
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
|
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
|
||||||
<bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
|
<bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
|
||||||
<bpmn2:incoming>sequenceFlow_l0egag</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_l0egag</bpmn2:incoming>
|
||||||
<bpmn2:outgoing>sequenceFlow_GVz3vg</bpmn2:outgoing>
|
|
||||||
</bpmn2:task>
|
</bpmn2:task>
|
||||||
<bpmn2:endEvent id="EndEvent_3" name="End">
|
<bpmn2:endEvent id="EndEvent_3" name="End">
|
||||||
<bpmn2:incoming>SequenceFlow_19</bpmn2:incoming>
|
<bpmn2:incoming>SequenceFlow_19</bpmn2:incoming>
|
||||||
|
|
@ -143,7 +143,7 @@ th { font-weight: bold;}
|
||||||
<bpmn2:task id="Task_1" imixs:processid="1000" name="Offen">
|
<bpmn2:task id="Task_1" imixs:processid="1000" name="Offen">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="txtworkflowsummary" type="xs:string">
|
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||||
<imixs:value><![CDATA[<itemvalue>space.name</itemvalue> - <itemvalue format="dd. MMMM yyyy" locale="DE">date</itemvalue>]]></imixs:value>
|
<imixs:value><![CDATA[<itemvalue>invoice.number</itemvalue> <itemvalue>dbtr.number</itemvalue> <itemvalue>dbtr.name</itemvalue> (<itemvalue>invoice.currency</itemvalue> <itemvalue format="#,###,##0.00" locale="de_DE">invoice.total</itemvalue>) ]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txteditorid" type="xs:string">
|
<imixs:item name="txteditorid" type="xs:string">
|
||||||
<imixs:value><![CDATA[alexander/form_basic]]></imixs:value>
|
<imixs:value><![CDATA[alexander/form_basic]]></imixs:value>
|
||||||
|
|
@ -174,18 +174,15 @@ th { font-weight: bold;}
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
</bpmn2:extensionElements>
|
</bpmn2:extensionElements>
|
||||||
<bpmn2:documentation id="Documentation_3"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
|
<bpmn2:documentation id="Documentation_3"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
|
||||||
<bpmn2:incoming>SequenceFlow_4</bpmn2:incoming>
|
|
||||||
<bpmn2:incoming>sequenceFlow_4Vru0A</bpmn2:incoming>
|
|
||||||
<bpmn2:outgoing>sequenceFlow_EzmiPA</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_EzmiPA</bpmn2:outgoing>
|
||||||
<bpmn2:incoming>sequenceFlow_E8t80w</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_rbVgQA</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>sequenceFlow_aXX5dg</bpmn2:outgoing>
|
||||||
|
<bpmn2:incoming>sequenceFlow_M5IK7w</bpmn2:incoming>
|
||||||
</bpmn2:task>
|
</bpmn2:task>
|
||||||
<bpmn2:sequenceFlow id="SequenceFlow_4" sourceRef="StartEvent_1" targetRef="Task_1">
|
|
||||||
<bpmn2:documentation id="documentation_9fyX0g"/>
|
|
||||||
</bpmn2:sequenceFlow>
|
|
||||||
<bpmn2:task id="Task_4" imixs:processid="1900" name="Abgeschlossen">
|
<bpmn2:task id="Task_4" imixs:processid="1900" name="Abgeschlossen">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="txtworkflowsummary" type="xs:string">
|
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||||
<imixs:value><![CDATA[<itemvalue>sequencenumber</itemvalue> <itemvalue>space.name</itemvalue> - <itemvalue format="dd.MM.yyyy">$created</itemvalue>]]></imixs:value>
|
<imixs:value><![CDATA[<itemvalue>invoice.number</itemvalue> <itemvalue>dbtr.number</itemvalue> <itemvalue>dbtr.name</itemvalue> (<itemvalue>invoice.currency</itemvalue> <itemvalue format="#,###,##0.00" locale="de_DE">invoice.total</itemvalue>) ]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="keyupdateacl" type="xs:boolean">
|
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||||
<imixs:value>true</imixs:value>
|
<imixs:value>true</imixs:value>
|
||||||
|
|
@ -194,7 +191,7 @@ th { font-weight: bold;}
|
||||||
<imixs:item name="keyaddwritefields" type="xs:string"/>
|
<imixs:item name="keyaddwritefields" type="xs:string"/>
|
||||||
<imixs:item name="keyaddreadfields" type="xs:string"/>
|
<imixs:item name="keyaddreadfields" type="xs:string"/>
|
||||||
<imixs:item name="txtimageurl" type="xs:string">
|
<imixs:item name="txtimageurl" type="xs:string">
|
||||||
<imixs:value><![CDATA[typcn-chart-bar||||typcn-tick,imixs-success]]></imixs:value>
|
<imixs:value><![CDATA[typcn-briefcase||||typcn-tick,imixs-success]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txteditorid" type="xs:string">
|
<imixs:item name="txteditorid" type="xs:string">
|
||||||
<imixs:value><![CDATA[form_basic_read]]></imixs:value>
|
<imixs:value><![CDATA[form_basic_read]]></imixs:value>
|
||||||
|
|
@ -202,9 +199,6 @@ th { font-weight: bold;}
|
||||||
<imixs:item name="txttype" type="xs:string">
|
<imixs:item name="txttype" type="xs:string">
|
||||||
<imixs:value><![CDATA[workitemarchive]]></imixs:value>
|
<imixs:value><![CDATA[workitemarchive]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="txtworkflowabstract" type="CDATA">
|
|
||||||
<imixs:value/>
|
|
||||||
</imixs:item>
|
|
||||||
<imixs:item name="namaddreadaccess" type="xs:string">
|
<imixs:item name="namaddreadaccess" type="xs:string">
|
||||||
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
|
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
|
|
@ -212,6 +206,7 @@ th { font-weight: bold;}
|
||||||
<bpmn2:documentation id="Documentation_16"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
|
<bpmn2:documentation id="Documentation_16"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
|
||||||
<bpmn2:incoming>SequenceFlow_18</bpmn2:incoming>
|
<bpmn2:incoming>SequenceFlow_18</bpmn2:incoming>
|
||||||
<bpmn2:outgoing>SequenceFlow_19</bpmn2:outgoing>
|
<bpmn2:outgoing>SequenceFlow_19</bpmn2:outgoing>
|
||||||
|
<bpmn2:incoming>sequenceFlow_MTbeHA</bpmn2:incoming>
|
||||||
</bpmn2:task>
|
</bpmn2:task>
|
||||||
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_8" imixs:activityid="50" name="Abschließen">
|
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_8" imixs:activityid="50" name="Abschließen">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
|
|
@ -247,7 +242,7 @@ th { font-weight: bold;}
|
||||||
<bpmn2:sequenceFlow id="SequenceFlow_1" sourceRef="IntermediateCatchEvent_2" targetRef="Task_2">
|
<bpmn2:sequenceFlow id="SequenceFlow_1" sourceRef="IntermediateCatchEvent_2" targetRef="Task_2">
|
||||||
<bpmn2:documentation id="documentation_ZiY0pQ"/>
|
<bpmn2:documentation id="documentation_ZiY0pQ"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_3" imixs:activityid="100" name="[update]">
|
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_3" imixs:activityid="980" name="[create]">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="txtmailsubject" type="xs:string">
|
<imixs:item name="txtmailsubject" type="xs:string">
|
||||||
<imixs:value/>
|
<imixs:value/>
|
||||||
|
|
@ -257,107 +252,120 @@ th { font-weight: bold;}
|
||||||
<imixs:value/>
|
<imixs:value/>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="keypublicresult" type="xs:string">
|
<imixs:item name="keypublicresult" type="xs:string">
|
||||||
<imixs:value><![CDATA[1]]></imixs:value>
|
<imixs:value><![CDATA[0]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="rtfresultlog" type="xs:string">
|
<imixs:item name="rtfresultlog" type="xs:string">
|
||||||
<imixs:value><![CDATA[Es wurden neue Positionen hinzugefügt]]></imixs:value>
|
<imixs:value><![CDATA[Beleg importiert]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
|
<imixs:item name="txtactivityresult" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[<item name="process">Mahnwesen</item>]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
</bpmn2:extensionElements>
|
</bpmn2:extensionElements>
|
||||||
<bpmn2:messageEventDefinition id="MessageEventDefinition_1"/>
|
<bpmn2:messageEventDefinition id="MessageEventDefinition_1"/>
|
||||||
<bpmn2:documentation id="documentation_pNB3fg"/>
|
<bpmn2:documentation id="documentation_pNB3fg"/>
|
||||||
<bpmn2:outgoing>sequenceFlow_4Vru0A</bpmn2:outgoing>
|
<bpmn2:incoming>sequenceFlow_aXX5dg</bpmn2:incoming>
|
||||||
|
<bpmn2:outgoing>sequenceFlow_MTbeHA</bpmn2:outgoing>
|
||||||
</bpmn2:intermediateCatchEvent>
|
</bpmn2:intermediateCatchEvent>
|
||||||
<bpmn2:dataObject id="DataObject_2" name="Form">
|
<bpmn2:dataObject id="DataObject_2" name="Form">
|
||||||
<bpmn2:documentation id="Documentation_5"><![CDATA[<?xml version="1.0"?>
|
<bpmn2:documentation id="Documentation_5"><![CDATA[<?xml version="1.0"?>
|
||||||
<imixs-form>
|
<imixs-form>
|
||||||
<imixs-form-section columns="2">
|
<imixs-form-section columns="3" label="Rechnungsdaten">
|
||||||
<item name="" type="custom" path="alexander/spaceref" label="Fachbereich:" />
|
<item name="invoice.text" type="text" label="Text:" readonly="true"/>
|
||||||
|
<item name="dbtr.name" type="text" label="Debitor:" readonly="true"/>
|
||||||
<item name="date" type="date" label="Fälligkeit:" />
|
<item name="dbtr.number" type="text" required="true" label="Debitor-Nummer:" readonly="true"/>
|
||||||
<item name="zoll" type="currency" label="Zoll:" />
|
|
||||||
<item name="eust" type="currency" label="EUST:" />
|
|
||||||
</imixs-form-section>
|
</imixs-form-section>
|
||||||
|
|
||||||
<imixs-form-section label="Offene Posten" path="alexander/section_zollliste_details" readonly="false" />
|
<imixs-form-section columns="3" label="">
|
||||||
|
<item name="invoice.number" type="text" label="Rechnungsnummer:" readonly="true" />
|
||||||
|
<item name="invoice.date" type="date" label="Rechnungsdatum:" readonly="true" />
|
||||||
|
<item name="invoice.duedate" type="date" label="Fälligkeit:" readonly="true"/>
|
||||||
|
</imixs-form-section>
|
||||||
|
|
||||||
|
<imixs-form-section>
|
||||||
|
<item name="" type="custom" path="alexander/spaceref" label="Bereich:" />
|
||||||
|
</imixs-form-section>
|
||||||
|
|
||||||
|
<imixs-form-section label="Positionen" path="alexander/section_datevbuchung" />
|
||||||
</imixs-form>]]></bpmn2:documentation>
|
</imixs-form>]]></bpmn2:documentation>
|
||||||
<bpmn2:dataState id="DataState_2"/>
|
<bpmn2:dataState id="DataState_2"/>
|
||||||
</bpmn2:dataObject>
|
</bpmn2:dataObject>
|
||||||
<bpmn2:association id="Association_3" sourceRef="DataObject_2" targetRef="Task_1">
|
<bpmn2:association id="Association_3" sourceRef="DataObject_2" targetRef="Task_1">
|
||||||
<bpmn2:documentation id="documentation_gEJUyg"/>
|
<bpmn2:documentation id="documentation_gEJUyg"/>
|
||||||
</bpmn2:association>
|
</bpmn2:association>
|
||||||
<bpmn2:intermediateCatchEvent id="event_XJbC5A" imixs:activityid="10" name="Erledigt">
|
<bpmn2:intermediateCatchEvent id="event_XJbC5A" imixs:activityid="20" name="Erledigt">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="rtfresultlog" type="xs:string">
|
<imixs:item name="rtfresultlog" type="xs:string">
|
||||||
<imixs:value><![CDATA[Die offenen Zollrechnungen wurden erstellt.]]></imixs:value>
|
<imixs:value><![CDATA[Die offenen Zollrechnungen wurden erstellt.]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
|
<imixs:item name="keypublicresult" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[1]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
</bpmn2:extensionElements>
|
</bpmn2:extensionElements>
|
||||||
<bpmn2:documentation id="documentation_vQEymA"/>
|
<bpmn2:documentation id="documentation_vQEymA"/>
|
||||||
<bpmn2:incoming>sequenceFlow_EzmiPA</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_EzmiPA</bpmn2:incoming>
|
||||||
<bpmn2:outgoing>sequenceFlow_l0egag</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_l0egag</bpmn2:outgoing>
|
||||||
</bpmn2:intermediateCatchEvent>
|
</bpmn2:intermediateCatchEvent>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_4Vru0A" sourceRef="IntermediateCatchEvent_3" targetRef="Task_1">
|
|
||||||
<bpmn2:documentation id="documentation_tH3rjg"/>
|
|
||||||
</bpmn2:sequenceFlow>
|
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_EzmiPA" sourceRef="Task_1" targetRef="event_XJbC5A">
|
<bpmn2:sequenceFlow id="sequenceFlow_EzmiPA" sourceRef="Task_1" targetRef="event_XJbC5A">
|
||||||
<bpmn2:documentation id="documentation_HhV7dA"/>
|
<bpmn2:documentation id="documentation_HhV7dA"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_l0egag" sourceRef="event_XJbC5A" targetRef="Task_2">
|
<bpmn2:sequenceFlow id="sequenceFlow_l0egag" sourceRef="event_XJbC5A" targetRef="Task_2">
|
||||||
<bpmn2:documentation id="documentation_Cv5oCQ"/>
|
<bpmn2:documentation id="documentation_Cv5oCQ"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:intermediateCatchEvent id="event_6fY5IQ" imixs:activityid="100" name="[update]">
|
<bpmn2:textAnnotation id="textAnnotation_HwSKqQ" textFormat="">
|
||||||
|
<bpmn2:text id="text_wYoZbw"><![CDATA[Zollanmeldung / Steuerbescheid vom Zollamt
|
||||||
|
Wird täglich über die DATEV OP-Liste importiert]]></bpmn2:text>
|
||||||
|
<bpmn2:documentation id="documentation_QPl7DA"/>
|
||||||
|
</bpmn2:textAnnotation>
|
||||||
|
<bpmn2:intermediateCatchEvent id="event_9fS4uw" imixs:activityid="10" name="Speichern">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="txtmailsubject" type="xs:string">
|
<imixs:item name="rtfresultlog" type="CDATA">
|
||||||
<imixs:value/>
|
<imixs:value><![CDATA[Aktualisiert]]></imixs:value>
|
||||||
</imixs:item>
|
|
||||||
<imixs:item name="keymailreceiverfields" type="xs:string"/>
|
|
||||||
<imixs:item name="rtfmailbody" type="CDATA">
|
|
||||||
<imixs:value/>
|
|
||||||
</imixs:item>
|
|
||||||
<imixs:item name="keypublicresult" type="xs:string">
|
|
||||||
<imixs:value><![CDATA[1]]></imixs:value>
|
|
||||||
</imixs:item>
|
|
||||||
<imixs:item name="rtfresultlog" type="xs:string">
|
|
||||||
<imixs:value><![CDATA[Es wurden neue Positionen hinzugefügt]]></imixs:value>
|
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
</bpmn2:extensionElements>
|
</bpmn2:extensionElements>
|
||||||
<bpmn2:messageEventDefinition id="messageEventDefinition_8JwBlw"/>
|
<bpmn2:documentation id="documentation_BnRlgQ"/>
|
||||||
<bpmn2:documentation id="documentation_E3uPXQ"/>
|
<bpmn2:outgoing>sequenceFlow_rbVgQA</bpmn2:outgoing>
|
||||||
<bpmn2:incoming>sequenceFlow_GVz3vg</bpmn2:incoming>
|
|
||||||
<bpmn2:outgoing>sequenceFlow_E8t80w</bpmn2:outgoing>
|
|
||||||
</bpmn2:intermediateCatchEvent>
|
</bpmn2:intermediateCatchEvent>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_GVz3vg" sourceRef="Task_2" targetRef="event_6fY5IQ">
|
<bpmn2:sequenceFlow id="sequenceFlow_rbVgQA" sourceRef="event_9fS4uw" targetRef="Task_1">
|
||||||
<bpmn2:documentation id="documentation_15n2yQ"/>
|
<bpmn2:documentation id="documentation_AcFalQ"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_E8t80w" sourceRef="event_6fY5IQ" targetRef="Task_1">
|
<bpmn2:sequenceFlow id="sequenceFlow_aXX5dg" sourceRef="Task_1" targetRef="IntermediateCatchEvent_3">
|
||||||
<bpmn2:documentation id="documentation_y0LxEQ"/>
|
<bpmn2:documentation id="documentation_OFz0ng"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="sequenceFlow_MTbeHA" sourceRef="IntermediateCatchEvent_3" targetRef="Task_4">
|
||||||
|
<bpmn2:documentation id="documentation_AWXRsQ"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:sequenceFlow id="sequenceFlow_M5IK7w" sourceRef="StartEvent_1" targetRef="Task_1">
|
||||||
|
<bpmn2:documentation id="documentation_nuyBIg"/>
|
||||||
|
</bpmn2:sequenceFlow>
|
||||||
|
<bpmn2:association id="association_2r0omw" sourceRef="DataObject_2" targetRef="Task_4">
|
||||||
|
<bpmn2:documentation id="documentation_6aRYjQ"/>
|
||||||
|
</bpmn2:association>
|
||||||
</bpmn2:process>
|
</bpmn2:process>
|
||||||
<bpmndi:BPMNDiagram id="BPMNDiagram_1" name="Default Process Diagram">
|
<bpmndi:BPMNDiagram id="BPMNDiagram_1" name="Default Process Diagram">
|
||||||
<bpmndi:BPMNPlane bpmnElement="Collaboration_1" id="BPMNPlane_1">
|
<bpmndi:BPMNPlane bpmnElement="Collaboration_1" id="BPMNPlane_1">
|
||||||
<bpmndi:BPMNShape bpmnElement="Participant_1" id="BPMNShape_Participant_1" isHorizontal="true">
|
<bpmndi:BPMNShape bpmnElement="Participant_1" id="BPMNShape_Participant_1" isHorizontal="true">
|
||||||
<dc:Bounds height="500.0" width="1200.0" x="100.0" y="150.0"/>
|
<dc:Bounds height="520.0" width="1370.0" x="100.0" y="150.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="Lane_1" id="BPMNShape_Lane_1" isHorizontal="true">
|
<bpmndi:BPMNShape bpmnElement="Lane_1" id="BPMNShape_Lane_1" isHorizontal="true">
|
||||||
<dc:Bounds height="500.0" width="1170.0" x="130.0" y="150.0"/>
|
<dc:Bounds height="520.0" width="1340.0" x="130.0" y="150.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="StartEvent_1" id="BPMNShape_1">
|
<bpmndi:BPMNShape bpmnElement="StartEvent_1" id="BPMNShape_1">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="177.0" y="297.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="227.0" y="297.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_1" labelStyle="BPMNLabelStyle_1">
|
<bpmndi:BPMNLabel id="BPMNLabel_1" labelStyle="BPMNLabelStyle_1">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="147.5" y="337.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="197.5" y="337.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="Task_1" id="BPMNShape_Task_1">
|
<bpmndi:BPMNShape bpmnElement="Task_1" id="BPMNShape_Task_1">
|
||||||
<dc:Bounds height="50.0" width="110.0" x="290.0" y="290.0"/>
|
<dc:Bounds height="50.0" width="110.0" x="410.0" y="290.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="EndEvent_3" id="BPMNShape_EndEvent_2">
|
<bpmndi:BPMNShape bpmnElement="EndEvent_3" id="BPMNShape_EndEvent_2">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="1097.0" y="297.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="1297.0" y="297.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_85" labelStyle="BPMNLabelStyle_1">
|
<bpmndi:BPMNLabel id="BPMNLabel_85" labelStyle="BPMNLabelStyle_1">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="1068.0" y="337.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="1268.0" y="337.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="Task_2" id="BPMNShape_Task_2">
|
<bpmndi:BPMNShape bpmnElement="Task_2" id="BPMNShape_Task_2">
|
||||||
<dc:Bounds height="50.0" width="110.0" x="600.0" y="290.0"/>
|
<dc:Bounds height="50.0" width="110.0" x="800.0" y="290.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="Message_2" id="BPMNShape_Message_1">
|
<bpmndi:BPMNShape bpmnElement="Message_2" id="BPMNShape_Message_1">
|
||||||
<dc:Bounds height="20.0" width="30.0" x="119.0" y="59.0"/>
|
<dc:Bounds height="20.0" width="30.0" x="119.0" y="59.0"/>
|
||||||
|
|
@ -372,99 +380,106 @@ th { font-weight: bold;}
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="Task_4" id="BPMNShape_Task_4">
|
<bpmndi:BPMNShape bpmnElement="Task_4" id="BPMNShape_Task_4">
|
||||||
<dc:Bounds height="50.0" width="110.0" x="920.0" y="290.0"/>
|
<dc:Bounds height="50.0" width="110.0" x="1120.0" y="290.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_8" id="BPMNShape_IntermediateCatchEvent_8">
|
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_8" id="BPMNShape_IntermediateCatchEvent_8">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="787.0" y="297.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="987.0" y="297.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_31" labelStyle="BPMNLabelStyle_1">
|
<bpmndi:BPMNLabel id="BPMNLabel_31" labelStyle="BPMNLabelStyle_1">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="754.0" y="337.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="954.0" y="337.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_2" id="BPMNShape_IntermediateCatchEvent_2">
|
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_2" id="BPMNShape_IntermediateCatchEvent_2">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="637.0" y="377.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="837.0" y="377.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_6" labelStyle="BPMNLabelStyle_1">
|
<bpmndi:BPMNLabel id="BPMNLabel_6" labelStyle="BPMNLabelStyle_1">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="605.0" y="416.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="805.0" y="416.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_3" id="BPMNShape_IntermediateCatchEvent_3">
|
<bpmndi:BPMNShape bpmnElement="IntermediateCatchEvent_3" id="BPMNShape_IntermediateCatchEvent_3">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="247.0" y="397.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="447.0" y="217.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_8" labelStyle="BPMNLabelStyle_1">
|
<bpmndi:BPMNLabel id="BPMNLabel_8" labelStyle="BPMNLabelStyle_1">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="221.5" y="440.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="421.5" y="260.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="DataObject_2" id="BPMNShape_DataObject_2">
|
<bpmndi:BPMNShape bpmnElement="DataObject_2" id="BPMNShape_DataObject_2">
|
||||||
<dc:Bounds height="50.0" width="35.0" x="230.0" y="230.0"/>
|
<dc:Bounds height="50.0" width="35.0" x="740.0" y="500.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_12">
|
<bpmndi:BPMNLabel id="BPMNLabel_12">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="198.0" y="280.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="708.0" y="550.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_4" id="BPMNEdge_SequenceFlow_4" sourceElement="BPMNShape_1" targetElement="BPMNShape_Task_1">
|
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_11"/>
|
|
||||||
<di:waypoint x="213.0" y="315.0"/>
|
|
||||||
<di:waypoint x="290.0" y="315.0"/>
|
|
||||||
</bpmndi:BPMNEdge>
|
|
||||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_17" id="BPMNEdge_SequenceFlow_17" sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_IntermediateCatchEvent_8">
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_17" id="BPMNEdge_SequenceFlow_17" sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_IntermediateCatchEvent_8">
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_36"/>
|
<bpmndi:BPMNLabel id="BPMNLabel_36"/>
|
||||||
<di:waypoint x="710.0" y="315.0"/>
|
<di:waypoint x="910.0" y="315.0"/>
|
||||||
<di:waypoint x="787.0" y="315.0"/>
|
<di:waypoint x="987.0" y="315.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_18" id="BPMNEdge_SequenceFlow_18" sourceElement="BPMNShape_IntermediateCatchEvent_8" targetElement="BPMNShape_Task_4">
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_18" id="BPMNEdge_SequenceFlow_18" sourceElement="BPMNShape_IntermediateCatchEvent_8" targetElement="BPMNShape_Task_4">
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_38"/>
|
<bpmndi:BPMNLabel id="BPMNLabel_38"/>
|
||||||
<di:waypoint x="823.0" y="315.0"/>
|
<di:waypoint x="1023.0" y="315.0"/>
|
||||||
<di:waypoint x="920.0" y="315.0"/>
|
<di:waypoint x="1120.0" y="315.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_19" id="BPMNEdge_SequenceFlow_19" sourceElement="BPMNShape_Task_4" targetElement="BPMNShape_EndEvent_2">
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_19" id="BPMNEdge_SequenceFlow_19" sourceElement="BPMNShape_Task_4" targetElement="BPMNShape_EndEvent_2">
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_39"/>
|
<bpmndi:BPMNLabel id="BPMNLabel_39"/>
|
||||||
<di:waypoint x="1030.0" y="315.0"/>
|
<di:waypoint x="1230.0" y="315.0"/>
|
||||||
<di:waypoint x="1097.0" y="315.0"/>
|
<di:waypoint x="1297.0" y="315.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_1" id="BPMNEdge_SequenceFlow_1" sourceElement="BPMNShape_IntermediateCatchEvent_2" targetElement="BPMNShape_Task_2">
|
<bpmndi:BPMNEdge bpmnElement="SequenceFlow_1" id="BPMNEdge_SequenceFlow_1" sourceElement="BPMNShape_IntermediateCatchEvent_2" targetElement="BPMNShape_Task_2">
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_7"/>
|
<bpmndi:BPMNLabel id="BPMNLabel_7"/>
|
||||||
<di:waypoint x="655.0" y="377.0"/>
|
<di:waypoint x="855.0" y="377.0"/>
|
||||||
<di:waypoint x="655.0" y="340.0"/>
|
<di:waypoint x="855.0" y="340.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="Association_3" id="BPMNEdge_Association_3" sourceElement="BPMNShape_DataObject_2" targetElement="BPMNShape_Task_1">
|
<bpmndi:BPMNEdge bpmnElement="Association_3" id="BPMNEdge_Association_3" sourceElement="BPMNShape_DataObject_2" targetElement="BPMNShape_Task_1">
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_14"/>
|
<bpmndi:BPMNLabel id="BPMNLabel_14"/>
|
||||||
<di:waypoint x="265.0" y="255.0"/>
|
<di:waypoint x="740.0" y="525.0"/>
|
||||||
<di:waypoint x="277.5" y="255.0"/>
|
<di:waypoint x="630.0" y="525.0"/>
|
||||||
<di:waypoint x="277.5" y="315.0"/>
|
<di:waypoint x="630.0" y="315.0"/>
|
||||||
<di:waypoint x="290.0" y="315.0"/>
|
<di:waypoint x="520.0" y="315.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="event_XJbC5A" id="BPMNShape_3fLqIw">
|
<bpmndi:BPMNShape bpmnElement="event_XJbC5A" id="BPMNShape_3fLqIw">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="487.0" y="297.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="687.0" y="297.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_fzXPOA">
|
<bpmndi:BPMNLabel id="BPMNLabel_fzXPOA">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="455.0" y="336.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="655.0" y="336.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_4Vru0A" id="BPMNEdge_20EpXg" sourceElement="BPMNShape_IntermediateCatchEvent_3" targetElement="BPMNShape_Task_1">
|
|
||||||
<di:waypoint x="271.0" y="398.02943725152284"/>
|
|
||||||
<di:waypoint x="271.0" y="376.0"/>
|
|
||||||
<di:waypoint x="315.0" y="376.0"/>
|
|
||||||
<di:waypoint x="315.0" y="340.0"/>
|
|
||||||
</bpmndi:BPMNEdge>
|
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_EzmiPA" id="BPMNEdge_2O039Q" sourceElement="BPMNShape_Task_1" targetElement="BPMNShape_3fLqIw">
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_EzmiPA" id="BPMNEdge_2O039Q" sourceElement="BPMNShape_Task_1" targetElement="BPMNShape_3fLqIw">
|
||||||
<di:waypoint x="400.0" y="315.0"/>
|
<di:waypoint x="520.0" y="315.0"/>
|
||||||
<di:waypoint x="487.0" y="315.0"/>
|
<di:waypoint x="687.0" y="315.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_l0egag" id="BPMNEdge_WIvxbQ" sourceElement="BPMNShape_3fLqIw" targetElement="BPMNShape_Task_2">
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_l0egag" id="BPMNEdge_WIvxbQ" sourceElement="BPMNShape_3fLqIw" targetElement="BPMNShape_Task_2">
|
||||||
<di:waypoint x="523.0" y="315.0"/>
|
<di:waypoint x="723.0" y="315.0"/>
|
||||||
<di:waypoint x="600.0" y="315.0"/>
|
<di:waypoint x="800.0" y="315.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="event_6fY5IQ" id="BPMNShape_bW9fRA">
|
<bpmndi:BPMNShape bpmnElement="textAnnotation_HwSKqQ" id="BPMNShape_6f4UmA">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="487.0" y="217.0"/>
|
<dc:Bounds height="80.0" width="193.0" x="180.0" y="490.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_xcOZTQ">
|
</bpmndi:BPMNShape>
|
||||||
<dc:Bounds height="20.0" width="100.0" x="461.5" y="260.0"/>
|
<bpmndi:BPMNShape bpmnElement="event_9fS4uw" id="BPMNShape_JSwhvQ">
|
||||||
|
<dc:Bounds height="36.0" width="36.0" x="447.0" y="377.0"/>
|
||||||
|
<bpmndi:BPMNLabel id="BPMNLabel_jZmJsw">
|
||||||
|
<dc:Bounds height="20.0" width="100.0" x="415.0" y="416.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_GVz3vg" id="BPMNEdge_pPQ5Ig" sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_bW9fRA">
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_rbVgQA" id="BPMNEdge_6PdUYA" sourceElement="BPMNShape_JSwhvQ" targetElement="BPMNShape_Task_1">
|
||||||
<di:waypoint x="655.0" y="290.0"/>
|
<di:waypoint x="465.0" y="377.0"/>
|
||||||
<di:waypoint x="655.0" y="235.0"/>
|
<di:waypoint x="465.0" y="357.0"/>
|
||||||
<di:waypoint x="523.0" y="235.0"/>
|
<di:waypoint x="465.0" y="340.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_E8t80w" id="BPMNEdge_p3x7Iw" sourceElement="BPMNShape_bW9fRA" targetElement="BPMNShape_Task_1">
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_aXX5dg" id="BPMNEdge_Wkee0Q" sourceElement="BPMNShape_Task_1" targetElement="BPMNShape_IntermediateCatchEvent_3">
|
||||||
<di:waypoint x="487.0" y="235.0"/>
|
<di:waypoint x="465.0" y="290.0"/>
|
||||||
<di:waypoint x="340.0" y="235.0"/>
|
<di:waypoint x="465.0" y="271.5"/>
|
||||||
<di:waypoint x="340.0" y="290.0"/>
|
<di:waypoint x="470.0" y="271.5"/>
|
||||||
|
<di:waypoint x="470.0" y="252.29161646579058"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_MTbeHA" id="BPMNEdge_RhmZbw" sourceElement="BPMNShape_IntermediateCatchEvent_3" targetElement="BPMNShape_Task_4">
|
||||||
|
<di:waypoint x="482.54992877478423" y="231.0"/>
|
||||||
|
<di:waypoint x="1175.0" y="231.0"/>
|
||||||
|
<di:waypoint x="1175.0" y="290.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_M5IK7w" id="BPMNEdge_gTIgKQ" sourceElement="BPMNShape_1" targetElement="BPMNShape_Task_1">
|
||||||
|
<di:waypoint x="263.0" y="315.0"/>
|
||||||
|
<di:waypoint x="410.0" y="315.0"/>
|
||||||
|
</bpmndi:BPMNEdge>
|
||||||
|
<bpmndi:BPMNEdge bpmnElement="association_2r0omw" id="BPMNEdge_pgk0IA" sourceElement="BPMNShape_DataObject_2" targetElement="BPMNShape_Task_4">
|
||||||
|
<di:waypoint x="775.0" y="525.0"/>
|
||||||
|
<di:waypoint x="1162.0" y="525.0"/>
|
||||||
|
<di:waypoint x="1162.0" y="340.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
</bpmndi:BPMNPlane>
|
</bpmndi:BPMNPlane>
|
||||||
<bpmndi:BPMNLabelStyle id="BPMNLabelStyle_1">
|
<bpmndi:BPMNLabelStyle id="BPMNLabelStyle_1">
|
||||||
Loading…
Reference in a new issue