setStockLocation method

Future<CashregisterStockLocation> setStockLocation({
  1. required String? stockLocationId,
  2. String? cashregisterId,
})

Standort der Kasse setzen (setMyCashregisterStockLocation) – von dort bucht der Server Verkauf und Storno ab. Recht stockLocation.

stockLocationId: null setzt auf den Standard-Standort des Betriebs zurueck (am Draht der leere Text). Nur Leerraum wuerde der Server kuerzen und damit still zuruecksetzen; das ist kein Standort, sondern ein Fehler vor dem Senden. Ohne cashregisterId gilt die Kasse der Anmeldung.

Fehler am Code: location_not_found, location_inactive, cashregister_not_found, cashregister_not_assigned, not_permitted, module_inactive. Der Aufruf setzt einen Zustand und ist darum folgenlos wiederholbar.

Implementation

Future<CashregisterStockLocation> setStockLocation({
  required String? stockLocationId,
  String? cashregisterId,
}) async {
  const name = Aufrufe.setMyCashregisterStockLocation;
  final ziel = stockLocationId;
  if (ziel != null && ziel.isNotEmpty && ziel.trim().isEmpty) {
    throw const KasseneckValidationError(
        name, 'stockLocationId ist nur Leerraum (Kennung angeben, oder null zum Zuruecksetzen)', 'request');
  }
  if (cashregisterId != null && cashregisterId.trim().isEmpty) {
    throw const KasseneckValidationError(name, 'cashregisterId ist leer', 'request');
  }
  // Die Kasse der Anmeldung legt der Transport bei; eine ausdrueckliche
  // ersetzt sie (Parameter gehen nach der Grundnutzlast hinein).
  final daten = await transport.call(name, params: {
    'stockLocationId': ziel ?? '',
    'cashregisterId': ?cashregisterId,
  });
  return lagerKassenStandortLesen(name, daten);
}