Jump to content

Import Verkaufspreis pro Einheit [Solved]


Recommended Posts

Posted (edited)

Hallo, ich versuche gerade einen Import für meine vorhandenen Produkte zu machen, wobei nur der Verkaufspreis pro Einheit geändert wird.

Der manuelle Import in die Tabelle ps_product  Spalte unit_price  funktioniert auch und die geänderten Daten werden bei MySql ausgegeben.

Die neuen Werte werden in der Spalte unit_price korrekt angezeigt, aber wenn ich den Artikel im Backend öffne, steht da der alte Wert noch drin.

Cache löschen hat nicht geholfen, muss ich da noch die Datenbank aktualliseren (wen Ja, wie mach ich das)?

 

 

 

Edited by webmex (see edit history)
Link to comment
Share on other sites

Posted (edited)

Nur den Grundpreis zu ändern ist recht ungewöhnlich, das macht eigentlich nur Sinn, wenn du bisher falsche Grundpreise oder nicht mehr zulässige Einheiten drin hattest oder sich die Packungsgrößen geändert haben.

Generell sieht das schon nach einem Cache-Problem aus, hast du direkt den Inhalt des Ordners var/cache gelöscht? Evtl. auch den Browser-Cache oder einen anderen Browser ausprobiert? Edit: Das war's offenbar nicht.

Ansonsten, wie hast du denn "manuell" importiert? Direkt die Tabelle bearbeitet? Sowas funktioniert meist nicht. Ich weiß jetzt nicht, wie das bei Prestashop 1.7 oder 8 ist, bei meinem 1.6er gibt es gar keinen Wert "unit_price", dafür "unit_price_ratio" sowie in verschiedenen Tabellen u. a. "unit_price_tax_excl" und "-_inkl". Edit: diese Variablen haben nichts mit dem Grundpreis zu tun.

Edited by rictools (see edit history)
Link to comment
Share on other sites

Hallo, ja da sind entweder noch keine oder die falschen drin.

Ich habe Presta8 und das Feld ist vorhanden.  

Wenn ich zum Beispiel ein Produkt im Shop ändere, dann kommt das auch in der Datenbank. Wenn ich das über MySql direkt mache, leider nicht.

Danke für die schnelle Antwort.

 

 

Link to comment
Share on other sites

Ich denke, dass es auch bei Prestashop 8 Felder in mehreren Tabellen gibt und es kann gut sein, dass sich das BackOffice den Wert eben aus einer der anderen Tabellen holt, die du - wenn du direkt in der Datenbank etwas änderst - nicht mit aktualisiert hast. Generell sollte man an der Datenbank nur rumwerkeln, wenn man genau weiß, was man tut. Besser ist es, die Prestashop-eigene Importfunktion oder ein Import-Modul zu nutzen. Oder probier's mal mit der Prestools-Suite.

Link to comment
Share on other sites

Ja, nur komisch das es beim Edit im Backend das Feld ändert und beim Massimport über Presta Artikelimport oder direkt per PHPMyAdmin zum Beispiel nicht.

Das Tool schaut recht urig aus...;-)  aber eine entsprechende "Teil" Importfunktion hat das auch nicht... soweit ich gesehen habe.

Link to comment
Share on other sites

Dieses Problem entsteht dadurch, wie PrestaShop Produktpreise verwaltet.
Das Feld unit_price in der Tabelle ps_product ist nicht der Hauptverkaufspreis, den PrestaShop zur Anzeige und Verwaltung von Preisen verwendet. Stattdessen gilt:

Der eigentliche Verkaufspreis wird durch die Spalte price in ps_product gesteuert.

Das Feld unit_price wird nur verwendet, um einen “Preis pro Einheit” (z.B. pro kg, pro Liter) anzuzeigen, sofern dies im Tab „Preise“ des Produkts eingerichtet wurde.

Wenn Sie den tatsächlichen Verkaufspreis aktualisieren möchten:

Sie müssen den Wert in die Spalte price importieren, nicht in unit_price.

Link to comment
Share on other sites

Posted (edited)

Das hat webmex schon verstanden, was auch aus seinem Satz "Hallo, ja da sind entweder noch keine oder die falschen drin." hervorgeht (ein Produkt ohne Verkaufspreise geht ja nicht).

Das Problem ist nur, dass es nicht damit getan ist, direkt in der Datenbank-Tabelle ps_product das Feld unit_price zu ändern. Bei der Änderung im BackOffice, beim Import über das BackOffice oder ein Modul und auch bei der Änderung in der Prestools Suite werden halt alle erforderlichen Felder in verschiedenen Tabellen geändert.

Ich habe mir das jetzt genauer angeschaut, die Werte "unit_price_tax_excl" und "unit_price_tax_incl" haben mit dem Grundpreis überhaupt nichts zu tun, "unit_price..." steht hier für "Einzelpreis". Wenn du im BackOffice den Wert für den Grundpreis änderst, wirkt sich das wohl "nur" auf zwei Datenbanken aus, neben ps_product noch auf ps_product_shop, wenn du also letztere auch änderst könnte es funktionieren (aber ohne Garantie, ich bin da kein Profi und habe noch Prestashop 1.6!).

Die Prestools Suite verrät übrigens - wenn man neben dem Submit-Button "verbose" ankreuzt - sogar, welche MySql-Anweisung(en) sie verwendet! Eine Importfunktion ist nicht integriert, man kann aber erheblich schneller als im BackOffice Änderungen vornehmen und auch zahlreiche Produkte in einem Rutsch modifizieren.

Edited by rictools (see edit history)
Link to comment
Share on other sites

Hallo,

danke für die vielen Antworten.

 

Ich habe jetzt den Fehler gefunden.

Das Problem beim Update war das Zahlenformat

In der überarbeiteten Tabelle wurde eine FORMEL gesetzt und das Ergebnis der Berechnung war dann 72,7170933333333.

Dieses Format kann nicht importiert werden. Ich brauche eine Zahl(INT) mit einem Punkt als Trenner für die Nachkommastellen und maximal sechs Stellen nach dem Komma.

 

Nun funktioniert das Update der Grundpreise einfach über das Backend. 

 

 

Link to comment
Share on other sites

5 hours ago, webmex said:

Nun funktioniert das Update der Grundpreise einfach über das Backend

Klasse, dann kannst du sicher auch das [Solved] im Titel einsetzen. Den ersten Post editieren und dort vor dem Titel das Solved einsetzen. 😉 

Link to comment
Share on other sites

  • webmex changed the title to Import Verkaufspreis pro Einheit [Solved]

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...