146adc970a
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
40 lines
1.9 KiB
Markdown
40 lines
1.9 KiB
Markdown
# `beleg_abgleich` — Felder zweier Datensätze vergleichen
|
|
|
|
**Zweck:** Automatischer Abgleich z. B. Bestellung ↔ Rechnung („Dunkelverarbeitung"): Stimmen alle Vergleichsfelder innerhalb der Toleranz, kann der Workflow direkt weiter (z. B. Zahlungsfreigabe); Abweichungen landen strukturiert im Kontext für eine manuelle Klärung. Typische Quellen sind die `*_json`-Ausgaben von `ki_dok_extrakt`.
|
|
|
|
**Parameter**
|
|
|
|
| Name | Pflicht? | Default | Beschreibung |
|
|
|---|---|---|---|
|
|
| `a` | **ja** | — | JSON-Objekt A |
|
|
| `b` | **ja** | — | JSON-Objekt B |
|
|
| `vergleich` (`feld`) | **ja** | — | Zu vergleichendes Feld (gleicher Name in A und B); wiederholbar |
|
|
| `vergleich` (`feld_a`/`feld_b`) | nein | — | Alternativ unterschiedliche Feldnamen in A und B |
|
|
| `vergleich` (`toleranz`) | nein | *(exakt)* | Toleranz absolut (`0.5`) oder relativ (`2%`); ohne Angabe exakter String-Vergleich (case-insensitiv) |
|
|
| `output_var` | nein | `abgleich` | Prefix der Ausgabevariablen |
|
|
|
|
**Eingangswerte:** Die JSON-Objekte unter `<a>` und `<b>` (Platzhalter erlaubt; einzelner `{{var}}` wird roh übernommen).
|
|
|
|
**Ausgangswerte:**
|
|
- `<prefix>_ok` — `"1"` wenn alle Vergleiche bestanden, sonst `"0"`
|
|
- `<prefix>_diff_json` — JSON-Liste der Abweichungen `[{feld, wert_a, wert_b, toleranz}]`
|
|
- `<prefix>_diff_text` — lesbare Abweichungsliste (für Mails)
|
|
|
|
**XML-Beispiel**
|
|
|
|
```xml
|
|
<task type="beleg_abgleich" id="dreiwege">
|
|
<config>
|
|
<a>{{bestellung_json}}</a>
|
|
<b>{{rechnung_json}}</b>
|
|
<vergleich feld="betrag_brutto" toleranz="2%"/>
|
|
<vergleich feld="positionen" toleranz="0"/>
|
|
<vergleich feld="lieferant"/>
|
|
<vergleich feld_a="re_betrag" feld_b="betrag" toleranz="1%"/>
|
|
<output_var>abgleich</output_var>
|
|
</config>
|
|
</task>
|
|
```
|
|
|
|
**Hinweis:** `<a>` und `<b>` müssen JSON-Objekte enthalten, sonst endet der Task mit Fehler. Die relative Toleranz bezieht sich auf den Wert aus A.
|