Projekt

Allgemein

Profil

GX-Bug #44206

Von Till Tepelmann vor mehr als 8 Jahren aktualisiert

Wenn man eine Bestellung mit Artikel bearbeiten die Attribute haben und hier z.B. Attribute hinzufügt, wird der Lagerbestand des Attributes fehlerhaft abgezogen und es entstehen dann sehr große Unterschiede wie z.B. -15 oder +30 im Lagerbestand. 

 Getestet wie folgt: 

 Artikel mit Attributen dessen Lagerbestände für Größe S, M, und L jeweils 1 betragen anlegen und eine Bestellung durchführen. 
 Dann die Bestellung im Admin bearbeiten Artikel bearbeiten auswählen und hier dann die Attribute beim Artikel bearbeiten. Hier wählt man "Lagerbestand anhand der Anzahl des Artikels auf verändern" an fügt z.B. 10 setzen. das Attribut Größe in S erneut dem Artikel hinzu. 

 Direkt danach ist in den Lagerbeständen der Attribute eine sehr große Differenz zu sehen auch bei Attributen die nicht in der Bestellung dem Artikel zugeordnet sind. 

 Es scheint mit dem folgenden SQL Befehl zusammen zuhängen: 

 `SELECT products_attributes_id  
							 FROM 
								 ' . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . ' o, 
								 ' . TABLE_PRODUCTS_ATTRIBUTES . ' a 
							 WHERE 
								 o.options_id = a.options_id AND 
								 o.options_values_id = a.options_values_id AND 
								 a.products_id = "' . (int)$_POST['products_id'] . '"';` 

 Hier werden alle dem Artikel zugewiesenen Attribute ausgelesen und dann in einer while Schleife die Attribute mit einem SQL aktualisiert für jede products_attributes_id die gefunden wird. sehen.

Zurück