Files

40 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

# `frist_rechner` — Verwaltungsfristen berechnen
**Zweck:** Berechnet ein Fristende ab einem Startdatum inkl. Bekanntgabefiktion, sächsischer Feiertage und Werktagsregel (§ 31 VwVfG / §§ 187 ff. BGB sinngemäß): Fällt das Fristende auf Samstag/Sonntag/Feiertag, verschiebt es sich auf den nächsten Werktag. Optional wird zusätzlich ein Vorwarn-Datum („Frist minus N Werktage") für Wiedervorlagen/Eskalationen geliefert.
**Parameter**
| Name | Pflicht? | Default | Beschreibung |
|---|---|---|---|
| `start` | nein | *(heute)* | Startdatum; Formate `d.m.Y`, `Y-m-d` oder `strtotime` |
| `bekanntgabe_tage` | nein | `0` | Bekanntgabefiktion (z. B. `+3` Tage Post) |
| `dauer` | **ja** | — | Dauer: `1M` Monate, `14T` Kalendertage, `10WT` Werktage, `2W` Wochen, `1J` Jahre |
| `ende_auf_werktag` | nein | `true` | Fristende auf nächsten Werktag verschieben |
| `feiertage` | nein | `SN` | Feiertagsregion (Sachsen); `NONE` = nur Wochenenden |
| `vorwarn_werktage` | nein | — | Vorwarn-Datum N Werktage vor Fristende |
| `output_var` | nein | `frist` | Prefix der Ausgabevariablen |
**Eingangswerte:** Alle Parameter unterstützen Platzhalter, z. B. `{{versanddatum}}` in `<start>`.
**Ausgangswerte:**
- `<prefix>_start` — wirksamer Fristbeginn (nach Bekanntgabe), `d.m.Y`
- `<prefix>_ende` — Fristende, `d.m.Y`
- `<prefix>_ende_iso` — Fristende, `Y-m-d` (für `calendar_event`/`wait_until`)
- `<prefix>_vorwarn` / `<prefix>_vorwarn_iso` — Vorwarn-Datum (nur mit `vorwarn_werktage`)
**XML-Beispiel**
```xml
<task type="frist_rechner" id="widerspruchsfrist">
<config>
<start>{{versanddatum}}</start>
<bekanntgabe_tage>3</bekanntgabe_tage>
<dauer>1M</dauer>
<vorwarn_werktage>5</vorwarn_werktage>
<output_var>frist</output_var>
</config>
</task>
```
**Hinweis:** Feiertage werden ohne die PHP-`calendar`-Extension über die Gauß'sche Osterformel bestimmt; `SN` enthält zusätzlich Reformationstag sowie Buß- und Bettag.