App: Einheiten-Felder als zusammenhaengender Block
Dieselbe Umstellung wie im Web. Der Abschnitt "Artikel" traegt nur noch Name
und Marke; alles zur Einheit steht unter "Einheit und Menge" und liest sich als
Satz ("1 Packung sind 3 Stueck"). Das Gebinde heisst jetzt auch so statt
"Bezeichnung" und steht vor der Packungsgroesse, weil die Zeile darunter es
beim Namen nennt.
Die Umrechnung heisst nach dem, was sie liefert (Gewicht / Volumen /
Stueckzahl), beginnt mit einer einzigen Auswahl und zeigt den Satz erst danach -
mit passendem Verb und Ein-/Mehrzahl. Die linke Zahl wird beim Waehlen der
Zielart einmalig mit der Packungsgroesse vorbelegt.
Das Anlege-Formular kannte die Umrechnung bisher gar nicht; wer in der App
einen Artikel anlegte, musste ihn erst speichern und wieder oeffnen. Es hat
jetzt denselben Abschnitt und uebernimmt den Vorschlag aus dem Barcode-Lookup
("3 x 80 g").
Reine Oberflaeche - 226 Backend-Tests unveraendert gruen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -277,6 +277,10 @@ struct LookupResult: Codable {
|
||||
let baseUnit: String?
|
||||
let packageSize: Double?
|
||||
let quantityText: String?
|
||||
/// Aus „3 x 80 g" vorgeschlagene Umrechnung – nur ein Vorschlag.
|
||||
let secondaryBase: String?
|
||||
let secondaryCount: Double?
|
||||
let secondaryAmount: Double?
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case barcode, name, brand
|
||||
@@ -284,6 +288,9 @@ struct LookupResult: Codable {
|
||||
case baseUnit = "base_unit"
|
||||
case packageSize = "package_size"
|
||||
case quantityText = "quantity_text"
|
||||
case secondaryBase = "secondary_base"
|
||||
case secondaryCount = "secondary_count"
|
||||
case secondaryAmount = "secondary_amount"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -410,6 +417,10 @@ struct NewProductRequest: Codable {
|
||||
var bulk: Bool? = nil
|
||||
/// Selbst definierte Feldwerte der Kategorie: {feld_id (als Text): Wert}.
|
||||
var fieldValues: [String: String?]? = nil
|
||||
/// Umrechnung in die andere Art („3 Stück ≙ 250 g"), optional.
|
||||
var secondaryBase: String? = nil
|
||||
var secondaryCount: Double? = nil
|
||||
var secondaryAmount: Double? = nil
|
||||
|
||||
enum CodingKeys: String, CodingKey {
|
||||
case barcode, name, brand, individual, bulk
|
||||
@@ -421,6 +432,9 @@ struct NewProductRequest: Codable {
|
||||
case groupId = "group_id"
|
||||
case categoryId = "category_id"
|
||||
case fieldValues = "field_values"
|
||||
case secondaryBase = "secondary_base"
|
||||
case secondaryCount = "secondary_count"
|
||||
case secondaryAmount = "secondary_amount"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user