recordMyStocktakeCount method

Future<StocktakeCountResult> recordMyStocktakeCount({
  1. required String idempotencyKey,
  2. required String stocktakeId,
  3. required String articleId,
  4. required int quantity,
  5. String? condition,
  6. List<String>? serialNumbers,
  7. String? note,
  8. String? cashregisterId,
})

Eine Zaehlung (recordMyStocktakeCount). Antwort: die Zaehlung und die Position danach (Ist-Summe, kein Soll).

quantity in Tausendstel, aus der Eingabe mit parseQuantityMilli; 0 = leer gezaehlt. condition Vorgabe sellable. Einzelstueck: je Stueck genau eine Seriennummer in serialNumbers. Ohne cashregisterId gilt die Kasse der Anmeldung.

Implementation

Future<StocktakeCountResult> recordMyStocktakeCount({
  required String idempotencyKey,
  required String stocktakeId,
  required String articleId,
  required int quantity,
  String? condition,
  List<String>? serialNumbers,
  String? note,
  String? cashregisterId,
}) async {
  const name = Aufrufe.recordMyStocktakeCount;
  final p = <String, dynamic>{
    'idempotencyKey': idempotencyKey,
    'stocktakeId': stocktakeId,
    'articleId': articleId,
    'condition': ?condition,
    'quantity': quantity,
    if (serialNumbers != null) 'serialNumbers': [...serialNumbers],
    'note': ?note,
    'cashregisterId': ?cashregisterId,
  };
  kennung(name, 'stocktakeId', stocktakeId);
  pruefeSchluessel(name, p);
  zaehlungPruefen(name, p);
  if (cashregisterId != null) kennung(name, 'cashregisterId', cashregisterId);
  // Die Kasse der Anmeldung legt der Transport bei; eine ausdrueckliche
  // ersetzt sie (Parameter gehen nach der Grundnutzlast hinein).
  return zaehlungMitPosition(name, await transport.call(name, params: p));
}