setStockLocation method
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);
}