neue Inkasso funktion
This commit is contained in:
parent
18825e2994
commit
a877c08d9f
7 changed files with 4520 additions and 0 deletions
|
|
@ -0,0 +1,124 @@
|
|||
package com.alexanderlogistics.mahnlauf;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.imixs.workflow.ItemCollection;
|
||||
import org.imixs.workflow.SignalAdapter;
|
||||
import org.imixs.workflow.engine.WorkflowService;
|
||||
import org.imixs.workflow.exceptions.AccessDeniedException;
|
||||
import org.imixs.workflow.exceptions.AdapterException;
|
||||
import org.imixs.workflow.exceptions.ModelException;
|
||||
import org.imixs.workflow.exceptions.PluginException;
|
||||
import org.imixs.workflow.exceptions.ProcessingErrorException;
|
||||
import org.imixs.workflow.exceptions.QueryException;
|
||||
|
||||
/**
|
||||
* Der InkassoAppendAdapter verknüpft eine Rechnung mit einem Inkasso Workflow zum
|
||||
* aktuellen Debitor. Existiert aktuell kein Inkasso für diesen
|
||||
* Debitor erzeugt der Adapter automatisch eine neue Prozessinstanz.
|
||||
* <p>
|
||||
* Wurde die Rechnugn bereits einem Inkasso zugeordnet passiert nichts.
|
||||
*
|
||||
*
|
||||
*
|
||||
* @version 1.0
|
||||
* @author rsoika
|
||||
*/
|
||||
public class InkassoAppendAdapter implements SignalAdapter {
|
||||
|
||||
private static Logger logger = Logger.getLogger(InkassoAppendAdapter.class.getName());
|
||||
|
||||
public static final String ERROR_MISSING_DATA = "MISSING_DATA";
|
||||
public static final String ERROR_CONFIG = "CONFIG_ERROR";
|
||||
|
||||
public static final String ITEM_DBTR_NUMBER = "dbtr.number";
|
||||
public static final String ITEM_DBTR_NAME = "dbtr.name";
|
||||
|
||||
@Inject
|
||||
WorkflowService workflowService;
|
||||
|
||||
/**
|
||||
* This method finds or create the Inkasso and adds a reference
|
||||
* ($workitemref) to the current invoice.
|
||||
*
|
||||
* @throws PluginException
|
||||
*/
|
||||
@Override
|
||||
public ItemCollection execute(ItemCollection document, ItemCollection event)
|
||||
throws AdapterException, PluginException {
|
||||
|
||||
appendInvoice(document);
|
||||
|
||||
return document;
|
||||
}
|
||||
|
||||
/**
|
||||
* Diese method hängt eine referenz der aktuellen Rechnung an den Inkasso
|
||||
*
|
||||
* @param document
|
||||
* @throws PluginException
|
||||
*/
|
||||
private void appendInvoice(ItemCollection document) throws PluginException {
|
||||
String dbtrNumber = document.getItemValueString(ITEM_DBTR_NUMBER);
|
||||
String currency = document.getItemValueString("invoice.currency");
|
||||
|
||||
if (dbtrNumber == null || dbtrNumber.isEmpty()) {
|
||||
throw new PluginException(PluginException.class.getName(), ERROR_MISSING_DATA,
|
||||
"Inkasso kann nicht erzeugt werden. Bitte wählen Sie zuerst einen Debitor aus.");
|
||||
}
|
||||
|
||||
|
||||
logger.info("......Search Inkasso '" + dbtrNumber + "'...");
|
||||
ItemCollection inkasso;
|
||||
try {
|
||||
inkasso = findInkasso(dbtrNumber,currency);
|
||||
if (inkasso == null) {
|
||||
// create a new one
|
||||
inkasso = new ItemCollection().workflowGroup("Inkasso").task(1000).event(100);
|
||||
// add cdtr.name
|
||||
inkasso.setItemValue(ITEM_DBTR_NAME, document.getItemValue(ITEM_DBTR_NAME));
|
||||
inkasso.setItemValue(ITEM_DBTR_NUMBER, document.getItemValue(ITEM_DBTR_NUMBER));
|
||||
inkasso.setItemValue("invoice.currency", currency);
|
||||
} else {
|
||||
// Inkasso speichern
|
||||
inkasso.event(100);
|
||||
}
|
||||
// Invoice mit Inkasso verknüpften (falls noch nicht verknüpft)
|
||||
inkasso.appendItemValueUnique("$workitemref", document.getUniqueID());
|
||||
workflowService.processWorkItem(inkasso);
|
||||
|
||||
} catch (QueryException | AccessDeniedException | ProcessingErrorException | ModelException e1) {
|
||||
throw new PluginException(PluginException.class.getName(), ERROR_MISSING_DATA,
|
||||
"Es konnte kein Inkasso zugewiesen werden: " + e1.getMessage());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prüft alle offenen Inkasso Workflows und gibt den neuesten zur angegebenen
|
||||
* dbtrNumber zurück, oder null falls es keinen Offenen gibt.
|
||||
*
|
||||
* @param dbtrNumber
|
||||
* @return
|
||||
* @throws QueryException
|
||||
*/
|
||||
private ItemCollection findInkasso(String dbtrNumber,String currency) throws QueryException {
|
||||
String query = "(type:workitem) AND ($modelversion:inkasso*) ";
|
||||
List<ItemCollection> resultList = workflowService.getDocumentService().find(query, 999, 0, "$modified", true);
|
||||
|
||||
for (ItemCollection inkasso : resultList) {
|
||||
if (dbtrNumber.equals(inkasso.getItemValueString(ITEM_DBTR_NUMBER))
|
||||
&& currency.equals(inkasso.getItemValueString("invoice.currency"))
|
||||
) {
|
||||
return inkasso;
|
||||
}
|
||||
}
|
||||
|
||||
// no Inkasso found
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
package com.alexanderlogistics.mahnlauf;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.enterprise.context.ConversationScoped;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
import org.imixs.workflow.ItemCollection;
|
||||
import org.imixs.workflow.engine.DocumentService;
|
||||
import org.imixs.workflow.faces.data.WorkflowController;
|
||||
|
||||
/**
|
||||
* Der InkassoController dient dazu eine bereits zugewiesene Rechnung
|
||||
* wieder aus dem Inkasso zu entfernen.
|
||||
* <p>
|
||||
* Zusätzlich bietet er die Summenberechnung an, bei der die Gutschriften
|
||||
* abgezogen werden.
|
||||
*
|
||||
* @author rsoika
|
||||
*
|
||||
*/
|
||||
@Named
|
||||
@ConversationScoped
|
||||
public class InkassoController implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private static Logger logger = Logger.getLogger(InkassoController.class.getName());
|
||||
|
||||
@Inject
|
||||
protected WorkflowController workflowController;
|
||||
|
||||
@Inject
|
||||
protected DocumentService documentService;
|
||||
|
||||
/**
|
||||
* This method computes the sum for a given item in a list of workitems. The
|
||||
* result is rounded to 2 digits.
|
||||
* <p>
|
||||
* Gutschriften werden abgezogen
|
||||
*
|
||||
* @param refids - list of workitem uniqueIds
|
||||
* @param item - name of the item to summarize
|
||||
* @return sum rounded to 2 digits
|
||||
*/
|
||||
public double calculateSum(List<String> refids, String item) {
|
||||
double result = 0;
|
||||
for (String id : refids) {
|
||||
ItemCollection doc = documentService.load(id);
|
||||
if (doc != null) {
|
||||
result = result + doc.getItemValueDouble(item);
|
||||
|
||||
} else {
|
||||
logger.warning("invalid read access to calculate sum");
|
||||
}
|
||||
}
|
||||
// rond with 2 digits
|
||||
return Math.round(result * 100.0) / 100.0;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* This method removes an uniqueid form the item $workitemref
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public void removeInvoice(String id) {
|
||||
|
||||
List<String> refList = workflowController.getWorkitem().getItemValue("$workitemref");
|
||||
|
||||
refList.remove(id);
|
||||
workflowController.getWorkitem().setItemValue("$workitemref", refList);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,247 @@
|
|||
package com.alexanderlogistics.mahnlauf;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.apache.poi.ss.usermodel.CellCopyPolicy;
|
||||
import org.apache.poi.ss.util.CellReference;
|
||||
import org.apache.poi.xssf.usermodel.XSSFRow;
|
||||
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.imixs.archive.core.SnapshotService;
|
||||
import org.imixs.workflow.FileData;
|
||||
import org.imixs.workflow.ItemCollection;
|
||||
import org.imixs.workflow.engine.DocumentService;
|
||||
import org.imixs.workflow.engine.WorkflowService;
|
||||
import org.imixs.workflow.exceptions.AdapterException;
|
||||
import org.imixs.workflow.exceptions.PluginException;
|
||||
import org.imixs.workflow.exceptions.QueryException;
|
||||
|
||||
import org.imixs.workflow.poi.POIFindReplaceAdapter;
|
||||
|
||||
/**
|
||||
* Der ZahlungsavisAdapter importiert eine Excel Datei aus einem Textblock
|
||||
*
|
||||
* <pre>
|
||||
* {@code
|
||||
<inkasso name="textblock">textblock-ref</inkasso>
|
||||
<inkasso name="template">filename</inkasso>
|
||||
<inkasso name="targetname">filename</inkasso>
|
||||
}
|
||||
* </pre>
|
||||
* <p>
|
||||
* Der Adapter erweitert den POIAdapter somit können felder aktualisiert werden
|
||||
* (siehe POIFineReplaceAdapter).
|
||||
*
|
||||
* <p>
|
||||
* Der Adapter kopiert die Rechnungsdaten in neue Zeilen, welche ab Zeilnenummer
|
||||
* 16 eingefügt werden.
|
||||
* <p>
|
||||
* Dabei werden Gutschriften in spalte E und Rechnungen in Spalte F eingetrgen.
|
||||
* <p>
|
||||
* Abschliessend wird die Zelle 'TOTAL' noch aktualisiert.
|
||||
*
|
||||
* @version 1.0
|
||||
* @author rsoika
|
||||
*/
|
||||
public class InkassoExportAdapter extends POIFindReplaceAdapter {
|
||||
|
||||
private static Logger logger = Logger.getLogger(InkassoExportAdapter.class.getName());
|
||||
|
||||
public static final String ERROR_CONFIG = "CONFIG_ERROR";
|
||||
final String TYPE_TEXTBLOCK = "textblock";
|
||||
|
||||
@Inject
|
||||
WorkflowService workflowService;
|
||||
|
||||
@Inject
|
||||
DocumentService documentService;
|
||||
|
||||
@Inject
|
||||
SnapshotService snapshotService;
|
||||
|
||||
/**
|
||||
* This method finds or create the Zahlungsavis and adds a reference
|
||||
* ($workitemref) to the current invoice.
|
||||
*
|
||||
* @throws PluginException
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public ItemCollection execute(ItemCollection document, ItemCollection event)
|
||||
throws AdapterException, PluginException {
|
||||
|
||||
// read the zahlungsavis options
|
||||
ItemCollection evalItemCollection = workflowService.evalWorkflowResult(event, "inkasso", document, false);
|
||||
if (evalItemCollection == null) {
|
||||
throw new PluginException(InkassoExportAdapter.class.getSimpleName(), ERROR_CONFIG,
|
||||
"missing inkasso configuration in model event - please check model configuration");
|
||||
}
|
||||
String textblock = evalItemCollection.getItemValueString("textblock");
|
||||
String template = evalItemCollection.getItemValueString("template");
|
||||
String targetName = evalItemCollection.getItemValueString("target-name");
|
||||
// adapt text....
|
||||
targetName = workflowService.adaptText(targetName, document);
|
||||
|
||||
appendExcelTemplate(document, textblock, template, targetName);
|
||||
|
||||
// Process POI instructions
|
||||
// read the config
|
||||
ItemCollection poiConfig = workflowService.evalWorkflowResult(event, "poi-update", document, false);
|
||||
if (poiConfig == null || !poiConfig.hasItem("findreplace")) {
|
||||
throw new PluginException(POIFindReplaceAdapter.class.getSimpleName(), CONFIG_ERROR,
|
||||
"missing poi configuration");
|
||||
}
|
||||
List<String> replaceDevList = poiConfig.getItemValue("findreplace");
|
||||
String eval = poiConfig.getItemValueString("eval");
|
||||
try {
|
||||
this.updateFileData(document.getFileData(targetName), document, replaceDevList, eval);
|
||||
} catch (PluginException | IOException e) {
|
||||
throw new PluginException(InkassoExportAdapter.class.getSimpleName(), ERROR_CONFIG,
|
||||
"failed to update zahlungsavis - wrong POI configuraiton: " + e.getMessage());
|
||||
}
|
||||
|
||||
// now we add separate lines for each invoice....
|
||||
insertInvoiceRows(document, targetName);
|
||||
|
||||
return document;
|
||||
}
|
||||
|
||||
/**
|
||||
* This helper method inserts a row for each invoice of the current Zahlunsavis
|
||||
* at row 16 into the excel template file
|
||||
* <p>
|
||||
* The method copies the Row A16 as a reference row
|
||||
* <p>
|
||||
* The named cell 'TOTAL' should contain the summary formula. It will be
|
||||
* evaluated at the end.
|
||||
*
|
||||
* @throws PluginException
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
private void insertInvoiceRows(ItemCollection document, String fileName) throws PluginException {
|
||||
List<String> invoiceIDs = document.getItemValue("$workitemref");
|
||||
FileData fileData = document.getFileData(fileName);
|
||||
|
||||
// load XSSFWorkbook
|
||||
try (InputStream imputStream = new ByteArrayInputStream(fileData.getContent())) {
|
||||
XSSFWorkbook doc = new XSSFWorkbook(imputStream);
|
||||
// NOTE: we only take the first sheet !
|
||||
XSSFSheet sheet = doc.getSheetAt(0);
|
||||
CellReference cr = new CellReference("A16");
|
||||
XSSFRow referenceRow = sheet.getRow(cr.getRow());
|
||||
int referenceRowPos = 16;
|
||||
int rowPos = 16;
|
||||
//int lastRow = sheet.getLastRowNum();
|
||||
int lastRow = 999;
|
||||
logger.finest("Last rownum="+lastRow);
|
||||
sheet.shiftRows(rowPos, lastRow, invoiceIDs.size(), true, true);
|
||||
|
||||
for (String invoiceID : invoiceIDs) {
|
||||
logger.finest("......copy row...");
|
||||
ItemCollection invoice = documentService.load(invoiceID);
|
||||
// now create a new line..
|
||||
XSSFRow row = sheet.createRow(rowPos);
|
||||
row.copyRowFrom(referenceRow, new CellCopyPolicy());
|
||||
// insert values
|
||||
row.getCell(0).setCellValue(invoice.getItemValueString("invoice.number"));
|
||||
row.getCell(1).setCellValue(invoice.getItemValueDate("invoice.date"));
|
||||
row.getCell(2).setCellValue(invoice.getItemValueDate("invoice.duedate"));
|
||||
// Rechnung
|
||||
row.getCell(4).setCellValue(invoice.getItemValueDouble("invoice.total"));
|
||||
|
||||
rowPos++;
|
||||
}
|
||||
// delete reference row 16
|
||||
sheet.shiftRows(referenceRowPos, lastRow + invoiceIDs.size(), -1, true, true);
|
||||
|
||||
// finally update the total formula...
|
||||
evalXSSFSheet(doc, sheet, "TOTAL");
|
||||
|
||||
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
||||
// write back the file
|
||||
|
||||
doc.write(byteArrayOutputStream);
|
||||
doc.close();
|
||||
byte[] newContent = byteArrayOutputStream.toByteArray();
|
||||
FileData fileDataNew = new FileData(fileData.getName(), newContent, fileData.getContentType(), null);
|
||||
// update the fileData
|
||||
document.addFileData(fileDataNew);
|
||||
logger.finest("......new document added");
|
||||
|
||||
} catch (IOException e) {
|
||||
throw new PluginException(InkassoExportAdapter.class.getSimpleName(), ERROR_CONFIG,
|
||||
"failed to update inkasso: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This method loads a text-block for a specified ref and appends the named
|
||||
* fileData object of this document.
|
||||
*
|
||||
* @param document
|
||||
* @throws PluginException
|
||||
*/
|
||||
private void appendExcelTemplate(ItemCollection document, String textblockRef, String template, String targetName)
|
||||
throws PluginException {
|
||||
|
||||
if ((template == null || template.isEmpty()) || (textblockRef == null || textblockRef.isEmpty())) {
|
||||
throw new PluginException(InkassoExportAdapter.class.getSimpleName(), ERROR_CONFIG,
|
||||
"invalid inkasso configuration in model event - textblock/template reference not defined!");
|
||||
}
|
||||
|
||||
// load the text block
|
||||
FileData fileData = loadTextBlockFileData(textblockRef, template);
|
||||
|
||||
// do we found the document?
|
||||
if (fileData == null) {
|
||||
throw new PluginException(InkassoExportAdapter.class.getSimpleName(), ERROR_CONFIG,
|
||||
"invalid inkasso configuration in model event - template=" + template + " not found!");
|
||||
}
|
||||
fileData.setName(targetName);
|
||||
// append document
|
||||
logger.info("...append new inkasso Template: " + targetName);
|
||||
|
||||
document.addFileData(fileData);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* This method returns a text-block ItemCollection for a specified name.
|
||||
*
|
||||
* @param name in attribute txtname
|
||||
*
|
||||
*
|
||||
*/
|
||||
public FileData loadTextBlockFileData(String name, String fileName) {
|
||||
ItemCollection textBlockItemCollection = null;
|
||||
|
||||
// load text-block by name....
|
||||
String sQuery = "(type:\"" + TYPE_TEXTBLOCK + "\" AND txtname:\"" + name + "\")";
|
||||
Collection<ItemCollection> col;
|
||||
try {
|
||||
// find the textblock...
|
||||
col = documentService.find(sQuery, 1, 0);
|
||||
if (col.size() > 0) {
|
||||
textBlockItemCollection = col.iterator().next();
|
||||
// fetch the fileData...
|
||||
return snapshotService.getWorkItemFile(textBlockItemCollection.getUniqueID(), fileName);
|
||||
|
||||
} else {
|
||||
logger.warning("Missing text-block : '" + name + "'");
|
||||
}
|
||||
} catch (QueryException e) {
|
||||
logger.warning("getTextBlock - invalid query: " + e.getMessage());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,128 @@
|
|||
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:ui="http://java.sun.com/jsf/facelets"
|
||||
xmlns:f="http://java.sun.com/jsf/core"
|
||||
xmlns:c="http://java.sun.com/jsp/jstl/core"
|
||||
xmlns:h="http://java.sun.com/jsf/html"
|
||||
xmlns:i="http://java.sun.com/jsf/composite/imixs"
|
||||
xmlns:marty="http://java.sun.com/jsf/composite/marty">
|
||||
|
||||
|
||||
<div class="imixs-form-section-2">
|
||||
<dl>
|
||||
<dt>Debitor</dt>
|
||||
<dd>
|
||||
<h:outputText value="#{workitem.item['dbtr.name']}" />
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<dl>
|
||||
<dt>Debitor Nummer</dt>
|
||||
<dd>
|
||||
<h:outputText value="#{workitem.item['dbtr.number']}" />
|
||||
</dd>
|
||||
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<h:panelGroup styleClass="imixs-form-section" id="zahlungsavis-table" binding="#{inkassolistContainer}">
|
||||
|
||||
<h3>Invoices</h3>
|
||||
|
||||
<table class="" style="width:100%">
|
||||
<tr>
|
||||
<th style="text-align: left;">#{message['form.invoicenumber']}</th>
|
||||
<th style="text-align: left;">#{message['form.date']}</th>
|
||||
<th style="text-align: left;">#{message['form.deadline']}</th>
|
||||
<th style="text-align: right;">#{message['form.amount']}</th>
|
||||
<th style=""></th>
|
||||
<th style="width:40px;"></th>
|
||||
</tr>
|
||||
<ui:repeat value="#{workitem.itemList['$workitemref']}" var="id">
|
||||
<!-- load inovice data by documentController: #{documentController.load(id)} -->
|
||||
<ui:param name="invoice" value="#{documentController.getDocument()}"></ui:param>
|
||||
<tr>
|
||||
<td><h:link outcome="/pages/workitems/workitem">
|
||||
#{invoice.item['$workflowsummary']}
|
||||
<f:param name="id" value="#{invoice.item['$uniqueid']}" />
|
||||
</h:link>
|
||||
</td>
|
||||
|
||||
|
||||
<td>
|
||||
<h:outputText value="#{invoice.item['invoice.date']}">
|
||||
<f:convertDateTime pattern="#{message.datePatternShort}"
|
||||
timeZone="#{message.timeZone}" />
|
||||
</h:outputText>
|
||||
|
||||
</td>
|
||||
<td><h:outputText value="#{invoice.item['invoice.duedate']}">
|
||||
<f:convertDateTime pattern="#{message.datePatternShort}"
|
||||
timeZone="#{message.timeZone}" />
|
||||
</h:outputText>
|
||||
</td>
|
||||
|
||||
<td style="text-align: right;"><h:outputText
|
||||
value="#{invoice.item['invoice.total']}">
|
||||
<f:convertNumber minFractionDigits="2" locale="de" />
|
||||
</h:outputText></td>
|
||||
<td />
|
||||
|
||||
|
||||
<td><h:commandLink
|
||||
actionListener="#{inkassoController.removeInvoice(id)}">
|
||||
<span class="typcn typcn-trash imixs-state-info"></span>
|
||||
<f:ajax render="#{inkassolistContainer.clientId}" />
|
||||
</h:commandLink>
|
||||
</td>
|
||||
</tr>
|
||||
</ui:repeat>
|
||||
|
||||
<tr style="border-top: 1px solid #ccc;">
|
||||
<td />
|
||||
|
||||
|
||||
<td />
|
||||
<td><strong>Summary</strong></td>
|
||||
<td style="text-align: right;"><strong><h:outputText
|
||||
value="#{inkassoController.calculateSum(workitem.itemList['$workitemref'], 'invoice.total')}">
|
||||
<f:convertNumber minFractionDigits="2" locale="de" />
|
||||
</h:outputText></strong></td>
|
||||
<td><strong>#{invoice.item['invoice.currency']}</strong></td>
|
||||
<td />
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h:inputTextarea converter="org.imixs.VectorConverter"
|
||||
style="display:none;"
|
||||
value="#{workitem.itemList['$workitemref']}">
|
||||
</h:inputTextarea>
|
||||
|
||||
|
||||
|
||||
|
||||
</h:panelGroup>
|
||||
<script type="text/javascript">
|
||||
/*<![CDATA[*/
|
||||
|
||||
|
||||
// This method refreshs the layout
|
||||
function updateItems(data) {
|
||||
if (data.status === 'success') {
|
||||
$('form').imixsLayout();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*]]>*/
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
</ui:composition>
|
||||
|
||||
BIN
templates/inkasso_template.xlsx
Normal file
BIN
templates/inkasso_template.xlsx
Normal file
Binary file not shown.
840
workflow/inkasso-1.0.0.bpmn
Normal file
840
workflow/inkasso-1.0.0.bpmn
Normal file
|
|
@ -0,0 +1,840 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- origin at X=0.0 Y=0.0 -->
|
||||
<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 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:tl="http://www.w3.org/2001/XMLSchema" id="Definitions_1" exporter="org.eclipse.bpmn2.modeler.core" exporterVersion="1.5.4.RC1-v20220528-0836-B1" name="Definitions 1" targetNamespace="http://www.imixs.org/bpmn2">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="txtworkflowmodelversion" type="xs:string">
|
||||
<imixs:value><![CDATA[inkasso-de-1.0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtfieldmapping" type="xs:string">
|
||||
<imixs:value><![CDATA[Prozess-Verantwortliche| namprocessmanager]]></imixs:value>
|
||||
<imixs:value><![CDATA[Prozess-Assistenz | namprocessassist]]></imixs:value>
|
||||
<imixs:value><![CDATA[Buchhaltung | namprocessteam]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txttimefieldmapping" type="xs:string">
|
||||
<imixs:value><![CDATA[Wiedervorlage | datDate]]></imixs:value>
|
||||
<imixs:value><![CDATA[Start | datFrom]]></imixs:value>
|
||||
<imixs:value><![CDATA[Ende | datTo]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtplugins" type="xs:string">
|
||||
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.ResultPlugin]]></imixs:value>
|
||||
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.RulePlugin]]></imixs:value>
|
||||
<imixs:value><![CDATA[org.imixs.marty.profile.ProfilePlugin]]></imixs:value>
|
||||
<imixs:value><![CDATA[org.imixs.marty.plugins.SequenceNumberPlugin]]></imixs:value>
|
||||
<imixs:value><![CDATA[org.imixs.marty.team.TeamPlugin]]></imixs:value>
|
||||
<imixs:value><![CDATA[org.imixs.marty.profile.DeputyPlugin]]></imixs:value>
|
||||
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.OwnerPlugin]]></imixs:value>
|
||||
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.HistoryPlugin]]></imixs:value>
|
||||
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.LogPlugin]]></imixs:value>
|
||||
<imixs:value><![CDATA[org.imixs.workflow.engine.plugins.ApplicationPlugin]]></imixs:value>
|
||||
<imixs:value><![CDATA[org.imixs.marty.plugins.CommentPlugin]]></imixs:value>
|
||||
<imixs:value><![CDATA[org.imixs.marty.profile.MailPlugin]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:signal id="Signal_1" name="com.alexanderlogistics.ZahlungsavisExportAdapter"/>
|
||||
<bpmn2:signal id="Signal_2" name="com.alexanderlogistics.mahnlauf.InkassoExportAdapter"/>
|
||||
<bpmn2:message id="Message_6" name="SEPA-Body">
|
||||
<bpmn2:documentation id="Documentation_15"><![CDATA[Der folgende SEPA Lauf wurde für die Verarbeitung fertiggestellt:
|
||||
|
||||
<propertyvalue>application.url</propertyvalue>index.jsf?workitem=<itemvalue>$uniqueid</itemvalue>
|
||||
<attachments></attachments>
|
||||
]]></bpmn2:documentation>
|
||||
</bpmn2:message>
|
||||
<bpmn2:message id="Message_8" name="ERROR-Body">
|
||||
<bpmn2:documentation id="Documentation_8"><![CDATA[Der folgende SEPA Lauf konnte nicht korrekt erstellt werden. Bitte prüfen Sie den Vorgang:
|
||||
|
||||
<propertyvalue>application.url</propertyvalue>index.jsf?workitem=<itemvalue>$uniqueid</itemvalue>
|
||||
<attachments></attachments>
|
||||
]]></bpmn2:documentation>
|
||||
</bpmn2:message>
|
||||
<bpmn2:collaboration id="Collaboration_1" name="Inkasso">
|
||||
<bpmn2:participant id="Participant_1" name="Inkasso" processRef="Process_1"/>
|
||||
<bpmn2:participant id="Participant_2" name="SEPA-Export Pool" processRef="eingangsrechnung-de"/>
|
||||
</bpmn2:collaboration>
|
||||
<bpmn2:process id="eingangsrechnung-de" name="SEPA-Export" isExecutable="false">
|
||||
<bpmn2:textAnnotation id="TextAnnotation_1">
|
||||
<bpmn2:text>The linked invoice workitem will be processed by a configurable event.</bpmn2:text>
|
||||
</bpmn2:textAnnotation>
|
||||
<bpmn2:association id="Association_1" sourceRef="TextAnnotation_1" targetRef="IntermediateCatchEvent_1"/>
|
||||
</bpmn2:process>
|
||||
<bpmn2:process id="Process_1" name="Inkasso" definitionalCollaborationRef="Collaboration_1" isExecutable="false">
|
||||
<bpmn2:laneSet id="LaneSet_1" name="Lane Set 1">
|
||||
<bpmn2:lane id="Lane_1" name="Buchhaltung">
|
||||
<bpmn2:flowNodeRef>StartEvent_1</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>EventBasedGateway_1</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>Task_1</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>IntermediateCatchEvent_1</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>IntermediateCatchEvent_18</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>IntermediateCatchEvent_3</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>IntermediateCatchEvent_5</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>Task_6</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>Task_2</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>IntermediateCatchEvent_6</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>EndEvent_3</bpmn2:flowNodeRef>
|
||||
<bpmn2:flowNodeRef>IntermediateCatchEvent_2</bpmn2:flowNodeRef>
|
||||
</bpmn2:lane>
|
||||
</bpmn2:laneSet>
|
||||
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_5" imixs:activityid="30" name="Stornieren">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyarchive" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtmailsubject" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaccessmode" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyscheduledactivity" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfmailbody" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyversion" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||
<imixs:value><![CDATA[namprocessmanager]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="numnextactivityid" type="xs:int">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyfollowup" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keypublicresult" type="xs:string">
|
||||
<imixs:value><![CDATA[1]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keylogdateformat" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipfields" type="xs:string"/>
|
||||
<imixs:item name="numnextid" type="xs:int">
|
||||
<imixs:value><![CDATA[5000]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtnextprocesstree" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtactivityresult" type="xs:string">
|
||||
<imixs:value><![CDATA[<item name="action">home</item>]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipmode" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfresultlog" type="xs:string">
|
||||
<imixs:value><![CDATA[Inkasso fehlerhaft - abgeschlossen von <username>$editor</username>.]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||
<imixs:value>false</imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtbusinessrule" type="CDATA">
|
||||
<imixs:value><![CDATA[var result={};
|
||||
var refField="txtcomment";
|
||||
result.isValid=true;
|
||||
|
||||
if ( ( workitem.get(refField) == null || ''==workitem.get(refField)[0]) ) {
|
||||
result.isValid=false;
|
||||
result.errorMessage='Bitte geben Sie einen Kommentar ein.';
|
||||
}]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="Documentation_2"><![CDATA[SEPA von <username>$editor</username>]]></bpmn2:documentation>
|
||||
<bpmn2:incoming>SequenceFlow_13</bpmn2:incoming>
|
||||
<bpmn2:outgoing>SequenceFlow_18</bpmn2:outgoing>
|
||||
</bpmn2:intermediateCatchEvent>
|
||||
<bpmn2:startEvent id="StartEvent_1" name="Start">
|
||||
<bpmn2:outgoing>SequenceFlow_5</bpmn2:outgoing>
|
||||
<bpmn2:timerEventDefinition id="TimerEventDefinition_2"/>
|
||||
</bpmn2:startEvent>
|
||||
<bpmn2:sequenceFlow id="SequenceFlow_5" sourceRef="StartEvent_1" targetRef="IntermediateCatchEvent_1"/>
|
||||
<bpmn2:task id="Task_2" imixs:processid="1900" name="Abgeschlossen">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||
<imixs:value><![CDATA[<itemvalue>cdtr.name.cargosoft</itemvalue> <itemvalue format="EEEE, d. MMMM yyyy" locale="de_DE">$modified</itemvalue> (<itemvalue>cdtr.number</itemvalue>)]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||
<imixs:value>true</imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipfields" type="xs:string"/>
|
||||
<imixs:item name="keyaddwritefields" type="xs:string"/>
|
||||
<imixs:item name="keyaddreadfields" type="xs:string"/>
|
||||
<imixs:item name="txtimageurl" type="xs:string">
|
||||
<imixs:value><![CDATA[typcn-info||||typcn-tick,imixs-success]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txteditorid" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txttype" type="xs:string">
|
||||
<imixs:value><![CDATA[workitemarchive]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtworkflowabstract" type="CDATA">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="namaddreadaccess" type="xs:string">
|
||||
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="Documentation_4"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
|
||||
<bpmn2:incoming>SequenceFlow_2</bpmn2:incoming>
|
||||
<bpmn2:incoming>SequenceFlow_6</bpmn2:incoming>
|
||||
<bpmn2:incoming>SequenceFlow_3</bpmn2:incoming>
|
||||
<bpmn2:outgoing>SequenceFlow_10</bpmn2:outgoing>
|
||||
</bpmn2:task>
|
||||
<bpmn2:sequenceFlow id="SequenceFlow_10" sourceRef="Task_2" targetRef="EndEvent_3"/>
|
||||
<bpmn2:eventBasedGateway id="EventBasedGateway_1" gatewayDirection="Diverging">
|
||||
<bpmn2:incoming>SequenceFlow_1</bpmn2:incoming>
|
||||
<bpmn2:outgoing>SequenceFlow_13</bpmn2:outgoing>
|
||||
<bpmn2:outgoing>SequenceFlow_8</bpmn2:outgoing>
|
||||
</bpmn2:eventBasedGateway>
|
||||
<bpmn2:endEvent id="EndEvent_3" name="End">
|
||||
<bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
|
||||
<bpmn2:incoming>SequenceFlow_17</bpmn2:incoming>
|
||||
</bpmn2:endEvent>
|
||||
<bpmn2:task id="Task_1" imixs:processid="1000" name="Offen">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||
<imixs:value><![CDATA[<itemvalue>dbtr.name</itemvalue> <itemvalue format="EEEE, d. MMMM yyyy" locale="de_DE">$modified</itemvalue> (<itemvalue>dbtr.number</itemvalue>)]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txteditorid" type="xs:string">
|
||||
<imixs:value><![CDATA[form_basic#inkasso]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtimageurl" type="xs:string">
|
||||
<imixs:value><![CDATA[typcn-info||||typcn-arrow-forward]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txttype" type="xs:string">
|
||||
<imixs:value><![CDATA[workitem]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||
<imixs:value>true</imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipfields" type="xs:string">
|
||||
<imixs:value><![CDATA[namprocessteam]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaddreadfields" type="xs:string"/>
|
||||
<imixs:item name="keyaddwritefields" type="xs:string"/>
|
||||
<imixs:item name="txtworkflowabstract" type="CDATA">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="namaddreadaccess" type="xs:string">
|
||||
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="namaddwriteaccess" type="xs:string">
|
||||
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="Documentation_3"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
|
||||
<bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
|
||||
<bpmn2:incoming>SequenceFlow_14</bpmn2:incoming>
|
||||
<bpmn2:outgoing>SequenceFlow_1</bpmn2:outgoing>
|
||||
</bpmn2:task>
|
||||
<bpmn2:sequenceFlow id="SequenceFlow_1" sourceRef="Task_1" targetRef="EventBasedGateway_1"/>
|
||||
<bpmn2:task id="Task_6" imixs:processid="1800" name="Storniert">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="txtworkflowsummary" type="xs:string">
|
||||
<imixs:value><![CDATA[<itemvalue>cdtr.name.cargosoft</itemvalue> <itemvalue format="EEEE, d. MMMM yyyy" locale="de_DE">$modified</itemvalue> (<itemvalue>cdtr.number</itemvalue>)]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||
<imixs:value>true</imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipfields" type="xs:string"/>
|
||||
<imixs:item name="keyaddwritefields" type="xs:string"/>
|
||||
<imixs:item name="keyaddreadfields" type="xs:string"/>
|
||||
<imixs:item name="txtimageurl" type="xs:string">
|
||||
<imixs:value><![CDATA[typcn-info||||typcn-tick,imixs-error]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txteditorid" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txttype" type="xs:string">
|
||||
<imixs:value><![CDATA[workitemarchive]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtworkflowabstract" type="CDATA">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="namaddreadaccess" type="xs:string">
|
||||
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="Documentation_33"><![CDATA[<textblock><itemvalue>$workflowgroup</itemvalue> - <itemvalue>$workflowstatus</itemvalue></textblock>]]></bpmn2:documentation>
|
||||
<bpmn2:incoming>SequenceFlow_18</bpmn2:incoming>
|
||||
<bpmn2:outgoing>SequenceFlow_17</bpmn2:outgoing>
|
||||
</bpmn2:task>
|
||||
<bpmn2:sequenceFlow id="SequenceFlow_17" sourceRef="Task_6" targetRef="EndEvent_3"/>
|
||||
<bpmn2:sequenceFlow id="SequenceFlow_13" sourceRef="EventBasedGateway_1" targetRef="IntermediateCatchEvent_5"/>
|
||||
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_1" imixs:activityid="100" name="[Init]">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="rtfresultlog" type="CDATA">
|
||||
<imixs:value><![CDATA[Rechnung hinzugefügt]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtreportname" type="xs:string">
|
||||
<imixs:value><![CDATA[sepa]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtactivityresult" type="CDATA">
|
||||
<imixs:value><![CDATA[<item name="process">Mahnwesen</item>
|
||||
]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keypublicresult" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:incoming>SequenceFlow_5</bpmn2:incoming>
|
||||
<bpmn2:outgoing>SequenceFlow_7</bpmn2:outgoing>
|
||||
<bpmn2:signalEventDefinition id="SignalEventDefinition_2"/>
|
||||
</bpmn2:intermediateCatchEvent>
|
||||
<bpmn2:sequenceFlow id="SequenceFlow_7" sourceRef="IntermediateCatchEvent_1" targetRef="Task_1"/>
|
||||
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_18" imixs:activityid="20" name="Abschließen">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyarchive" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtmailsubject" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaccessmode" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyscheduledactivity" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfmailbody" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyversion" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||
<imixs:value><![CDATA[namprocessmanager]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="numnextactivityid" type="xs:int">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyfollowup" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keypublicresult" type="xs:string">
|
||||
<imixs:value><![CDATA[1]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keylogdateformat" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipfields" type="xs:string"/>
|
||||
<imixs:item name="numnextid" type="xs:int">
|
||||
<imixs:value><![CDATA[5000]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtnextprocesstree" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtactivityresult" type="xs:string">
|
||||
<imixs:value><![CDATA[<inkasso name="textblock">Inkasso Template</inkasso>
|
||||
<inkasso name="template">inkasso_template.xlsx</inkasso>
|
||||
<inkasso name="target-name">inkasso_<itemvalue>numsequencenumber</itemvalue>.xlsx</inkasso>
|
||||
|
||||
<poi-update name="findreplace">
|
||||
<find>D2</find>
|
||||
<replace>Person in Charge: <username>$editor</username></replace>
|
||||
<type>text</type>
|
||||
</poi-update>
|
||||
<poi-update name="findreplace">
|
||||
<find>D5</find>
|
||||
<replace><username item="txtemail">$editor</username></replace>
|
||||
<type>text</type>
|
||||
</poi-update>
|
||||
<poi-update name="findreplace">
|
||||
<find>C10</find>
|
||||
<replace><itemvalue>numsequencenumber</itemvalue></replace>
|
||||
<type>text</type>
|
||||
</poi-update>
|
||||
<poi-update name="findreplace">
|
||||
<find>A12</find>
|
||||
<replace><itemvalue>dbtr.number</itemvalue></replace>
|
||||
<type>text</type>
|
||||
</poi-update>
|
||||
<poi-update name="findreplace">
|
||||
<find>B12</find>
|
||||
<replace><itemvalue>dbtr.name</itemvalue></replace>
|
||||
<type>text</type>
|
||||
</poi-update>
|
||||
<poi-update name="findreplace">
|
||||
<find>E14</find>
|
||||
<replace><itemvalue>invoice.currency</itemvalue></replace>
|
||||
<type>text</type>
|
||||
</poi-update>
|
||||
<poi-update name="findreplace">
|
||||
<find>E10</find>
|
||||
<replace><itemvalue format="dd.MM.yyyy">$modified</itemvalue></replace>
|
||||
<type>date</type>
|
||||
</poi-update>]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipmode" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfresultlog" type="xs:string">
|
||||
<imixs:value><![CDATA[Inkasso abgeschlossen von <username>$editor</username>.]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||
<imixs:value>false</imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="Documentation_53"><![CDATA[Vorgang abschließen und archivieren]]></bpmn2:documentation>
|
||||
<bpmn2:incoming>SequenceFlow_8</bpmn2:incoming>
|
||||
<bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
|
||||
<bpmn2:dataOutput id="DataOutput_3" name="Signal_4_Output"/>
|
||||
<bpmn2:dataOutputAssociation id="DataOutputAssociation_3">
|
||||
<bpmn2:sourceRef>DataOutput_3</bpmn2:sourceRef>
|
||||
</bpmn2:dataOutputAssociation>
|
||||
<bpmn2:outputSet id="OutputSet_1" name="Output Set 1">
|
||||
<bpmn2:dataOutputRefs>DataOutput_3</bpmn2:dataOutputRefs>
|
||||
</bpmn2:outputSet>
|
||||
<bpmn2:signalEventDefinition id="SignalEventDefinition_4" signalRef="Signal_2"/>
|
||||
</bpmn2:intermediateCatchEvent>
|
||||
<bpmn2:sequenceFlow id="SequenceFlow_2" sourceRef="IntermediateCatchEvent_18" targetRef="Task_2"/>
|
||||
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_6" imixs:activityid="10" name="Speichern">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyarchive" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtmailsubject" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaccessmode" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyscheduledactivity" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfmailbody" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyversion" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaddwritefields" type="xs:string"/>
|
||||
<imixs:item name="numnextactivityid" type="xs:int">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyfollowup" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keypublicresult" type="xs:string">
|
||||
<imixs:value><![CDATA[1]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keylogdateformat" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipfields" type="xs:string"/>
|
||||
<imixs:item name="numnextid" type="xs:int">
|
||||
<imixs:value><![CDATA[5000]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtnextprocesstree" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtactivityresult" type="xs:string">
|
||||
<imixs:value><![CDATA[<item name="comment" ignore="true"/>]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtname" type="xs:string">
|
||||
<imixs:value><![CDATA[Speichern]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipmode" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfresultlog" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||
<imixs:value>false</imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="Documentation_10"><![CDATA[Zwischenspeichern]]></bpmn2:documentation>
|
||||
<bpmn2:outgoing>SequenceFlow_6</bpmn2:outgoing>
|
||||
</bpmn2:intermediateCatchEvent>
|
||||
<bpmn2:sequenceFlow id="SequenceFlow_6" sourceRef="IntermediateCatchEvent_6" targetRef="Task_2"/>
|
||||
<bpmn2:sequenceFlow id="SequenceFlow_8" sourceRef="EventBasedGateway_1" targetRef="IntermediateCatchEvent_18"/>
|
||||
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_3" imixs:activityid="10" name="Speichern">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyarchive" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtmailsubject" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaccessmode" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyscheduledactivity" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfmailbody" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyversion" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaddwritefields" type="xs:string"/>
|
||||
<imixs:item name="numnextactivityid" type="xs:int">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyfollowup" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keypublicresult" type="xs:string">
|
||||
<imixs:value><![CDATA[1]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keylogdateformat" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipfields" type="xs:string"/>
|
||||
<imixs:item name="numnextid" type="xs:int">
|
||||
<imixs:value><![CDATA[5000]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtnextprocesstree" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtactivityresult" type="xs:string">
|
||||
<imixs:value><![CDATA[<item name="comment" ignore="true"/>]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtname" type="xs:string">
|
||||
<imixs:value><![CDATA[Speichern]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipmode" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfresultlog" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||
<imixs:value>false</imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="Documentation_12"><![CDATA[Zwischenspeichern]]></bpmn2:documentation>
|
||||
<bpmn2:outgoing>SequenceFlow_14</bpmn2:outgoing>
|
||||
</bpmn2:intermediateCatchEvent>
|
||||
<bpmn2:sequenceFlow id="SequenceFlow_14" sourceRef="IntermediateCatchEvent_3" targetRef="Task_1"/>
|
||||
<bpmn2:sequenceFlow id="SequenceFlow_18" sourceRef="IntermediateCatchEvent_5" targetRef="Task_6"/>
|
||||
<bpmn2:intermediateCatchEvent id="IntermediateCatchEvent_2" imixs:activityid="20" name="Test FIle">
|
||||
<bpmn2:extensionElements>
|
||||
<imixs:item name="keylogtimeformat" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyarchive" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtmailsubject" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaccessmode" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyscheduledactivity" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfmailbody" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyversion" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyaddwritefields" type="xs:string">
|
||||
<imixs:value><![CDATA[namprocessmanager]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="numnextactivityid" type="xs:int">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyfollowup" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keypublicresult" type="xs:string">
|
||||
<imixs:value><![CDATA[1]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keylogdateformat" type="xs:string">
|
||||
<imixs:value><![CDATA[2]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipfields" type="xs:string"/>
|
||||
<imixs:item name="numnextid" type="xs:int">
|
||||
<imixs:value><![CDATA[5000]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtnextprocesstree" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="txtactivityresult" type="xs:string">
|
||||
<imixs:value><![CDATA[<inkasso name="textblock">Inkasso Template</inkasso>
|
||||
<inkasso name="template">inkasso_template.xlsx</inkasso>
|
||||
<inkasso name="target-name">inkasso_<itemvalue>numsequencenumber</itemvalue>.xlsx</inkasso>
|
||||
|
||||
<poi-update name="findreplace">
|
||||
<find>D2</find>
|
||||
<replace>Person in Charge: <username>$editor</username></replace>
|
||||
<type>text</type>
|
||||
</poi-update>
|
||||
<poi-update name="findreplace">
|
||||
<find>D5</find>
|
||||
<replace><username item="txtemail">$editor</username></replace>
|
||||
<type>text</type>
|
||||
</poi-update>
|
||||
<poi-update name="findreplace">
|
||||
<find>C10</find>
|
||||
<replace><itemvalue>numsequencenumber</itemvalue></replace>
|
||||
<type>text</type>
|
||||
</poi-update>
|
||||
<poi-update name="findreplace">
|
||||
<find>A12</find>
|
||||
<replace><itemvalue>dbtr.number</itemvalue></replace>
|
||||
<type>text</type>
|
||||
</poi-update>
|
||||
<poi-update name="findreplace">
|
||||
<find>B12</find>
|
||||
<replace><itemvalue>dbtr.name</itemvalue></replace>
|
||||
<type>text</type>
|
||||
</poi-update>
|
||||
<poi-update name="findreplace">
|
||||
<find>E14</find>
|
||||
<replace><itemvalue>invoice.currency</itemvalue></replace>
|
||||
<type>text</type>
|
||||
</poi-update>
|
||||
<poi-update name="findreplace">
|
||||
<find>E10</find>
|
||||
<replace><itemvalue format="dd.MM.yyyy">$modified</itemvalue></replace>
|
||||
<type>date</type>
|
||||
</poi-update>]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyownershipmode" type="xs:string">
|
||||
<imixs:value><![CDATA[0]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="rtfresultlog" type="xs:string">
|
||||
<imixs:value><![CDATA[]]></imixs:value>
|
||||
</imixs:item>
|
||||
<imixs:item name="keyupdateacl" type="xs:boolean">
|
||||
<imixs:value>false</imixs:value>
|
||||
</imixs:item>
|
||||
</bpmn2:extensionElements>
|
||||
<bpmn2:documentation id="Documentation_1"><![CDATA[Vorgang abschließen und archivieren]]></bpmn2:documentation>
|
||||
<bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing>
|
||||
<bpmn2:dataOutput id="DataOutput_2" name="Signal_1_Output"/>
|
||||
<bpmn2:dataOutputAssociation id="DataOutputAssociation_2">
|
||||
<bpmn2:sourceRef>DataOutput_2</bpmn2:sourceRef>
|
||||
</bpmn2:dataOutputAssociation>
|
||||
<bpmn2:outputSet id="OutputSet_2" name="Output Set 1">
|
||||
<bpmn2:dataOutputRefs>DataOutput_2</bpmn2:dataOutputRefs>
|
||||
</bpmn2:outputSet>
|
||||
<bpmn2:signalEventDefinition id="SignalEventDefinition_3" signalRef="Signal_2"/>
|
||||
</bpmn2:intermediateCatchEvent>
|
||||
<bpmn2:sequenceFlow id="SequenceFlow_3" sourceRef="IntermediateCatchEvent_2" targetRef="Task_2"/>
|
||||
<bpmn2:textAnnotation id="TextAnnotation_2">
|
||||
<bpmn2:text>Der Inkasso Workflow enthält eine Liste von zugeordneten Rechnungen (item '$workitemref')
|
||||
|
||||
Eine Rechnung wird über die Adapter Klasse 'InkassoAdapter' eingefügt.
|
||||
|
||||
</bpmn2:text>
|
||||
</bpmn2:textAnnotation>
|
||||
<bpmn2:association id="Association_3" sourceRef="TextAnnotation_2" targetRef="StartEvent_1"/>
|
||||
</bpmn2:process>
|
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_1" name="Default Process Diagram">
|
||||
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_1">
|
||||
<bpmndi:BPMNShape id="BPMNShape_Participant_1" bpmnElement="Participant_1" isHorizontal="true">
|
||||
<dc:Bounds height="361.0" width="1181.0" x="100.0" y="150.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_29" labelStyle="BPMNLabelStyle_1">
|
||||
<dc:Bounds height="42.0" width="14.0" x="106.0" y="309.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_Lane_1" bpmnElement="Lane_1" isHorizontal="true">
|
||||
<dc:Bounds height="361.0" width="1151.0" x="130.0" y="150.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_37" labelStyle="BPMNLabelStyle_1">
|
||||
<dc:Bounds height="69.0" width="14.0" x="136.0" y="296.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_1" bpmnElement="StartEvent_1">
|
||||
<dc:Bounds height="36.0" width="36.0" x="297.0" y="325.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_1" labelStyle="BPMNLabelStyle_1">
|
||||
<dc:Bounds height="14.0" width="25.0" x="302.0" y="361.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_Task_1" bpmnElement="Task_1">
|
||||
<dc:Bounds height="50.0" width="110.0" x="487.0" y="318.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_4" labelStyle="BPMNLabelStyle_1">
|
||||
<dc:Bounds height="14.0" width="29.0" x="527.0" y="336.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_EventBasedGateway_1" bpmnElement="EventBasedGateway_1" isMarkerVisible="true">
|
||||
<dc:Bounds height="50.0" width="50.0" x="657.0" y="318.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_8" labelStyle="BPMNLabelStyle_1"/>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_Task_6" bpmnElement="Task_6">
|
||||
<dc:Bounds height="50.0" width="110.0" x="902.0" y="385.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_31" labelStyle="BPMNLabelStyle_1">
|
||||
<dc:Bounds height="14.0" width="46.0" x="934.0" y="403.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_EndEvent_2" bpmnElement="EndEvent_3">
|
||||
<dc:Bounds height="36.0" width="36.0" x="1189.0" y="318.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_85" labelStyle="BPMNLabelStyle_1">
|
||||
<dc:Bounds height="14.0" width="22.0" x="1196.0" y="354.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_18" bpmnElement="IntermediateCatchEvent_18">
|
||||
<dc:Bounds height="36.0" width="36.0" x="760.0" y="237.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_23" labelStyle="BPMNLabelStyle_1">
|
||||
<dc:Bounds height="14.0" width="68.0" x="744.0" y="273.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_Message_3" bpmnElement="Message_6">
|
||||
<dc:Bounds height="20.0" width="30.0" x="108.0" y="75.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_46">
|
||||
<dc:Bounds height="14.0" width="63.0" x="92.0" y="95.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_TextAnnotation_1" bpmnElement="TextAnnotation_1">
|
||||
<dc:Bounds height="50.0" width="185.0" x="326.0" y="411.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_12">
|
||||
<dc:Bounds height="44.0" width="173.0" x="332.0" y="411.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_Message_6" bpmnElement="Message_8">
|
||||
<dc:Bounds height="20.0" width="30.0" x="220.0" y="76.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_24">
|
||||
<dc:Bounds height="14.0" width="76.0" x="197.0" y="96.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_1" bpmnElement="IntermediateCatchEvent_1">
|
||||
<dc:Bounds height="36.0" width="36.0" x="401.0" y="325.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_7" labelStyle="BPMNLabelStyle_1">
|
||||
<dc:Bounds height="14.0" width="22.0" x="408.0" y="361.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_Task_2" bpmnElement="Task_2">
|
||||
<dc:Bounds height="50.0" width="110.0" x="902.0" y="230.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_5" labelStyle="BPMNLabelStyle_1">
|
||||
<dc:Bounds height="14.0" width="84.0" x="915.0" y="248.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_5" bpmnElement="IntermediateCatchEvent_5">
|
||||
<dc:Bounds height="36.0" width="36.0" x="760.0" y="392.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_6" labelStyle="BPMNLabelStyle_1">
|
||||
<dc:Bounds height="14.0" width="57.0" x="750.0" y="428.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_TextAnnotation_2" bpmnElement="TextAnnotation_2">
|
||||
<dc:Bounds height="111.0" width="301.0" x="180.0" y="170.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_57">
|
||||
<dc:Bounds height="105.0" width="289.0" x="186.0" y="170.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_6" bpmnElement="IntermediateCatchEvent_6">
|
||||
<dc:Bounds height="36.0" width="36.0" x="939.0" y="162.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_10">
|
||||
<dc:Bounds height="14.0" width="56.0" x="929.0" y="198.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_3" bpmnElement="IntermediateCatchEvent_3">
|
||||
<dc:Bounds height="36.0" width="36.0" x="524.0" y="248.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_21">
|
||||
<dc:Bounds height="14.0" width="56.0" x="514.0" y="284.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="BPMNShape_IntermediateCatchEvent_2" bpmnElement="IntermediateCatchEvent_2">
|
||||
<dc:Bounds height="36.0" width="36.0" x="853.0" y="319.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_2">
|
||||
<dc:Bounds height="14.0" width="45.0" x="849.0" y="355.0"/>
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_1" bpmnElement="SequenceFlow_1" sourceElement="BPMNShape_Task_1" targetElement="BPMNShape_EventBasedGateway_1">
|
||||
<di:waypoint xsi:type="dc:Point" x="597.0" y="343.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="627.0" y="343.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="657.0" y="343.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_3"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_Association_1" bpmnElement="Association_1" sourceElement="BPMNShape_TextAnnotation_1" targetElement="BPMNShape_IntermediateCatchEvent_1">
|
||||
<di:waypoint xsi:type="dc:Point" x="418.0" y="411.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="418.0" y="386.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="419.0" y="361.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_15"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_5" bpmnElement="SequenceFlow_5" sourceElement="BPMNShape_1" targetElement="BPMNShape_IntermediateCatchEvent_1">
|
||||
<di:waypoint xsi:type="dc:Point" x="333.0" y="343.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="367.0" y="343.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="401.0" y="343.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_16"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_7" bpmnElement="SequenceFlow_7" sourceElement="BPMNShape_IntermediateCatchEvent_1" targetElement="BPMNShape_Task_1">
|
||||
<di:waypoint xsi:type="dc:Point" x="437.0" y="343.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="462.0" y="343.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="487.0" y="343.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_18"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_2" bpmnElement="SequenceFlow_2" sourceElement="BPMNShape_IntermediateCatchEvent_18" targetElement="BPMNShape_Task_2">
|
||||
<di:waypoint xsi:type="dc:Point" x="796.0" y="255.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="849.0" y="255.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="902.0" y="255.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_25"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_10" bpmnElement="SequenceFlow_10" sourceElement="BPMNShape_Task_2" targetElement="BPMNShape_EndEvent_2">
|
||||
<di:waypoint xsi:type="dc:Point" x="1012.0" y="255.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="1207.0" y="255.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="1207.0" y="318.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_26"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_13" bpmnElement="SequenceFlow_13" sourceElement="BPMNShape_EventBasedGateway_1" targetElement="BPMNShape_IntermediateCatchEvent_5">
|
||||
<di:waypoint xsi:type="dc:Point" x="682.0" y="368.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="682.0" y="410.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="760.0" y="410.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_27"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_17" bpmnElement="SequenceFlow_17" sourceElement="BPMNShape_Task_6" targetElement="BPMNShape_EndEvent_2">
|
||||
<di:waypoint xsi:type="dc:Point" x="1012.0" y="410.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="1207.0" y="410.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="1207.0" y="354.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_36"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_Association_3" bpmnElement="Association_3" sourceElement="BPMNShape_TextAnnotation_2" targetElement="BPMNShape_1">
|
||||
<di:waypoint xsi:type="dc:Point" x="330.0" y="281.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="330.0" y="303.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="315.0" y="303.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="315.0" y="325.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_30"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_6" bpmnElement="SequenceFlow_6" sourceElement="BPMNShape_IntermediateCatchEvent_6" targetElement="BPMNShape_Task_2">
|
||||
<di:waypoint xsi:type="dc:Point" x="957.0" y="198.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="957.0" y="214.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="957.0" y="230.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_14"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_8" bpmnElement="SequenceFlow_8" sourceElement="BPMNShape_EventBasedGateway_1" targetElement="BPMNShape_IntermediateCatchEvent_18">
|
||||
<di:waypoint xsi:type="dc:Point" x="682.0" y="318.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="682.0" y="255.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="760.0" y="255.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_20"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_14" bpmnElement="SequenceFlow_14" sourceElement="BPMNShape_IntermediateCatchEvent_3" targetElement="BPMNShape_Task_1">
|
||||
<di:waypoint xsi:type="dc:Point" x="542.0" y="284.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="542.0" y="301.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="542.0" y="318.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_22"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_18" bpmnElement="SequenceFlow_18" sourceElement="BPMNShape_IntermediateCatchEvent_5" targetElement="BPMNShape_Task_6">
|
||||
<di:waypoint xsi:type="dc:Point" x="796.0" y="410.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="849.0" y="410.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="902.0" y="410.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_38"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
<bpmndi:BPMNEdge id="BPMNEdge_SequenceFlow_3" bpmnElement="SequenceFlow_3" sourceElement="BPMNShape_IntermediateCatchEvent_2" targetElement="BPMNShape_Task_2">
|
||||
<di:waypoint xsi:type="dc:Point" x="871.0" y="319.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="871.0" y="263.0"/>
|
||||
<di:waypoint xsi:type="dc:Point" x="902.0" y="263.0"/>
|
||||
<bpmndi:BPMNLabel id="BPMNLabel_9"/>
|
||||
</bpmndi:BPMNEdge>
|
||||
</bpmndi:BPMNPlane>
|
||||
<bpmndi:BPMNLabelStyle id="BPMNLabelStyle_1">
|
||||
<dc:Font name="arial" size="9.0"/>
|
||||
</bpmndi:BPMNLabelStyle>
|
||||
</bpmndi:BPMNDiagram>
|
||||
</bpmn2:definitions>
|
||||
3104
workflow/rechnungsausgang-de-1.0.2.bpmn
Normal file
3104
workflow/rechnungsausgang-de-1.0.2.bpmn
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue