belegartText function

String belegartText(
  1. Belegzusammenfassung beleg
)

Lesbarer Name der Belegart — nie ein Rohwert.

Implementation

String belegartText(Belegzusammenfassung beleg) {
  if (beleg.istStorno) return 'Storno';
  switch (beleg.belegart) {
    case 'standard':
      return 'Verkauf';
    case 'start':
      return 'Startbeleg';
    case 'training':
      return 'Trainingsbeleg';
    case 'zero':
      return switch (beleg.nullbelegAnlass) {
        'monthly' => 'Monatsbeleg',
        'annual' => 'Jahresbeleg',
        'annual_replacement' => 'Jahresbeleg (Ersatz)',
        'outage_end' => 'Nullbeleg nach Ausfall',
        'final' => 'Schlussbeleg',
        // Auch ein künftiger, hier unbekannter Anlass bleibt ein Nullbeleg.
        _ => 'Nullbeleg (Prüfbeleg)',
      };
    default:
      return 'Beleg';
  }
}