buehlech Posted January 25, 2017 Share Posted January 25, 2017 Hallo, ich richte gerade einen prestashop für meinen Kumpel ein, der mit Lebensmitteln handelt. Er möchte auf der PDF Rechnung hinter jedem Artikel den Preis pro Kilogramm angezeigt bekommen. Ich bekam folgenden Tipp: Nun zum Grundpreis: Den speichert PrestaShop gar nicht, deshalb gibt es dafür auch keine Variable. Es wird nur das numerische Verhältnis zum Netto-VK gespeichert. Man kann das Problem deshalb nur dadurch lösen, indem man eine Rechenformel in die Rechnungsvorlage einbaut, die ungefähr lautet: Brutto-Grundpreis = Netto-VK / Ratio + (Netto-VK / Ratio * MwSt-Rate) Dies würde ich vermutlich auch irgenwie hin bekommen aber ich habe folgendes Problem: Die meisten Artikel sind mit folgenden Varianten angelegt: 0,25kg; 0,5kg; 0,75kg; 1,00kg. Der Grundpreis ist immer der Preis vom geringsten Gewicht, also von 0,25kg = 3,00€. Bei allen anderen Varianten wird immer aufaddiert. Es gibt aber auch Artikel, die nur einen Preis haben, z.b. 0,28kg =5,50€ Zur Anzeige der korrekten KG Preise / Rechtssicherheit benutze ich das Modul "Basis price (Module) v1.7.8 - von Simon Agostini" Hier kann ich die korrekten Preise hinterlegen. Hat mit jemand einen Tipp, wie ich es nun anstellen kann, damit immer der korrekte Preis für 1KG der Ware angezeigt wird? MFG Chris Link to comment Share on other sites More sharing options...
eleazar Posted January 25, 2017 Share Posted January 25, 2017 Ok, dann will ich den Tipp jetzt mal in eine passende Formel umsetzen. 1. Meine Rechnungsvorlage für PrestaShop 1.6. Hier Zeile 159 <td style="text-align: left;width: 36%">{$order_detail.product_name}</td>ersetzen durch:<td style="text-align: left;width: 36%"> {$order_detail.product_name} {if $order_detail.unit_price_ratio && $order_detail.unit_price_ratio > 0} ({convertPrice price=$order_detail.product_price / $order_detail.unit_price_ratio + ($order_detail.product_price / $order_detail.unit_price_ratio * $order_detail.order_detail_tax_label / 100)} {l s="per" pdf='true'} {$order_detail.unity}) {/if}</td> 2. PrestaShop 1.6 Originalrechnung Hier in Zeile 64 und 69 der Datei /pdf/invoice.product-tab.tpl jeweils die Variable {$order_detail.product_name}durch den folgende Ausdruck ersetzen:{$order_detail.product_name} {if $order_detail.unit_price_ratio && $order_detail.unit_price_ratio > 0} ({convertPrice price=$order_detail.product_price / $order_detail.unit_price_ratio + ($order_detail.product_price / $order_detail.unit_price_ratio * $order_detail.order_detail_tax_label / 100)} {l s="per" pdf='true'} {$order_detail.unity}) {/if}Es wird jeweils zunächst abgeprüft, ob ein Grundpreis hinterlegt ist, anschließend wird dann der Grundpreis pro Einheit errechnet und in Klammern hinter dem Artikelnamen angezeigt.Falls nur Nettopreise für den jeweiligen Kunden angezeigt werden sollen, wird der Grundpreis automatisch nur netto angezeigt. Die neue Übersetzungsvariable "per" kann in Lokalisierung --> Übersetzungen --> Übersetzungen PDF-Dateien --> <DeinTemplate>geändert werden. Hier einfach unter Windows den Such-Shortcut eingeben (STRG+F). Im Eingabefeld unten links "per" eingeben und die ENTER-Taste drücken. Ich kann allerdings jetzt nicht sagen, ob es mit deiner speziellen Grundpreisvariante auch funktioniert. Link to comment Share on other sites More sharing options...
buehlech Posted January 26, 2017 Author Share Posted January 26, 2017 Hallo Eleazar, ich habe deinen Code in deine Rechnungsvorlage eingebaut: Soweit so gut. Nur leider nimmt er als Unit immer die 0,25 kg und berechnet somit den Kilogramm Preis falsch. Ich bin irgendwie zu doof den Fehler zu finden. Was muss geändert werden, damit er immer die Unit, sprich Kilogrammangabe des jeweiligen Artikel nimmt? Anbei ein Link zum Screenshot https://drive.google.com/open?id=0B-X9hmy-OU4Zd0d1eUhyUW42b1k Link to comment Share on other sites More sharing options...
eleazar Posted January 26, 2017 Share Posted January 26, 2017 War das nicht genau, was du haben wolltest? Die meisten Artikel sind mit folgenden Varianten angelegt: 0,25kg; 0,5kg; 0,75kg; 1,00kg. Der Grundpreis ist immer der Preis vom geringsten Gewicht, also von 0,25kg = 3,00€. Bei allen anderen Varianten wird immer aufaddiert. Oder ist das jetzt ein neues Problem, das gar nichts mit der Rechnung zu tun hat? Wieso hast du denn da die fixe Angabe 0,25 KG eingebaut? Von mir stammt die nicht. Link to comment Share on other sites More sharing options...
buehlech Posted January 26, 2017 Author Share Posted January 26, 2017 Ich möchte zu jedem Artikel, egal welcher Variante den Grundpreis für 1KG angezeigt bekommen. Beispiel: Ein Artikel hat vier Varianten: 1. 0,25kg = 3,00€ (Grundpreis) => Alle Artikel werden immer mit dem kleinsten Grundpreis des Artikels angelegt und der ist immer 0,25kg 2. 0,50kg = 6,00€ 3. 0,75kg = 9,00€ 4. 1,00kg = 12,00€ Egal welche der obigen Varianten gewählt wird soll immer (12,00€ pro 1,00 kg) angezeigt weden, also folgende Berechnung stattfinden: (Artikelpreis der jeweiligen Position * Steuersatz / 100) / Gewicht Also folgendermaßen für das obige Beispiel: 3 / 0,25 = 12,00€ 6 / 0,50 = 12,00€ 9 / 0,75 = 12,00€ 12 / 1,00 = 12,00€ Ich hab schon einiges probiert, kriegs aber einfach nicht hin, er nimmt mir zur Berechnung immer die 0,25kg. Einfacher wäre aber einfach den Grundpreis / 0,25, egal bei welcher Variante, dann würde es auch stimmen. Link to comment Share on other sites More sharing options...
eleazar Posted January 26, 2017 Share Posted January 26, 2017 Man kann immer nur mit den Daten rechnen, die im Programm eingegeben wurden. Und das bedeutet, beim jeweiligen Artikel! Denn nur die stehen an dieser Stelle zur Verfügung. Du solltest also besser deine Eingabe-Logik überdenken. Sinnvoll ist es doch, den Grundpreis pro kg einzugeben und nicht von 0,25 kg hochzurechnen. Link to comment Share on other sites More sharing options...
buehlech Posted January 26, 2017 Author Share Posted January 26, 2017 Das habe ich mir auch gedacht. Dann zeigt es mir aber vorm Variantenpreis im Shop nicht mehr das "ab" des "Europäischen Rechtssicherheit" Moduls mehr an. Bei den Artikeln, die ich mit 0,25kg als Grundpreis angelegt habe fünktioniert im Shop alles einwandfrei. ???? Ich nutze zur Anzeige der 1 KG Preise im Shop das Modul "Basis price" https://drive.google.com/file/d/0B-X9hmy-OU4ZYURuU0tGcUxsdnM/view?usp=sharing hier sind nochmals die Preise und Faktoren hinterlegt. Vielleicht kann man ja diese Daten auf der Rechnung nutzen? Link to comment Share on other sites More sharing options...
rictools Posted January 26, 2017 Share Posted January 26, 2017 Die Google-Links funktionieren bei mir nicht (vielleicht nur mobil?), hast du keinen Link, das macht sowas immer sehr viel einfacher? Bei Varianten mußt du ja für jede Variante den Grundpreis pro kg einzeln eintragen, Prestashop berechnet den zumindest von Haus aus nicht automatisch. Du schreibst allerdings etwas von einem Modul, möglicherweise funkt das dazwischen. Grundpreise müssen übrigens immer pro kg (oder bei kleineren Werten pro 100 g) angegeben werden, "mit 0,25 kg als Grundpreis" geht also irgendwie nicht, ganz kann ich das, was du schreibst, da auch nicht nachvollziehen. Link to comment Share on other sites More sharing options...
eleazar Posted January 26, 2017 Share Posted January 26, 2017 Das Problem ist, dass das Modul, wie ich nach der im Bild ablesbaren Ratio vermute, anscheinend seine Werte in einer eigenen Datenbanktabelle speichert, auf die wiederum die Rechnung keinen Zugriff hat. Denn PrestaShop ist nicht so simpel gestrickt, dass man jetzt nur die Feldnamen aus dieser Datenbanktabelle in die Rechnung einsetzen könnte, um den Ausdruck wunschgemäß zu ändern. So einfach geht das leider nicht. Insofern stimme ich rictools zu - das Modul kooperiert gewissermaßen nicht mit der Rechnung. Du kannst ja mal BluTiGeS ansprechen. Vielleicht hat der ja eine Idee, wie er seine Einträge für die Rechnung verfügbar machen kann. Link to comment Share on other sites More sharing options...
buehlech Posted January 27, 2017 Author Share Posted January 27, 2017 Erst einmal Danke an alle hier und für eure Unterstützung. Ich habe leider noch keine funktionierende Lösung, bleibe aber an dem Thema dran. Sofern ich dann etwas habe, melde ich mich wieder. LG Chris Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now