invoice_addpos_final

Begonnen von mt, Juli 16, 2008, 10:43:02

« vorheriges - nächstes »

0 Mitglieder und 2 Gäste betrachten dieses Thema.

mt

Hallo,

obwohl noch ein Problem in Bearbeitung ist, habe ich auch leider schon das nächste Problem. :-\

Ich will mit 'invoice_addpos_final' die Versandkosten verändern, da zum Beispiel beim Dropshipping
die Versandkosten durch eine feste Gebühr (z.B. 8.00) ersetzt werden sollen.

Als ich aber damit keinen Erfolg hatte, wollte ich überprüfen ob 'invoice_addpos_final' überhaupt
bei uns funktioniert. Dazu habe ich Ihr Standardskript zur Veränderung der Versandkosten aus der
Hilfe benutzt. Ich habe es nur dahin gehend verändert, dass es in jeder Lieferzone funktioniert.
Den Testwarenwert habe ich dabei auf 10,- EUR gesetzt.

Hier das Test-Skript:


sub invoice_addpos_final {

  my $ref_gesamt = $_[0];
  my $ref_gesamt_steuer = $_[2];
  my $ust = $_[3]/100;
  my $netto = $_[4];
  my $versandkosten = $_[5]; 

  my ($wert,$text) =  ssp::get_cart_zone();

  if ($$ref_gesamt - $$versandkosten > 10) {             

     $$ref_gesamt -= $$versandkosten;
     $$ref_gesamt_steuer -= (1 - 1/(1+$ust))* $$versandkosten;
     $$versandkosten = 0;

  }

  return 0;

}



Leider wird dieses Script eben so wie meine vorrangegangenen Versuche vom
Shop ignoriert. Wir benutzen auch im WK den Standardplazhalter für den Versand __versand__.

Die Frage ist warum funktioniert es nicht. ???

Wir benutzen übrigens noch die Version 2.8, da wir noch keine Zeit für ein
Update hatten.

In meinem speziellen Fall möchte ich übrigens, das der Kunde im Warenkorb, in einem separatem Formular mit einem Select-Feld
angeben kann ob er Dropshipping wünscht oder nicht (Wert 0/1). Dies habe ich auch soweit hinbekommen.
Die Post-Variable wurde jedoch ignoriert und daher habe ich einfach mal das Standardskript ausprobiert, mit dem Ergebnis,
dass es nicht funktioniert hat.

Hier habe ich auch gleich noch die Frage ob ich eigentlich die POST-Variable für das Dropshipping im ganzen Bestellvorgang
mitführen muss? Oder wird die Veränderung der Versandkosten , global registriert. Hier wäre ich auch für einen Tipp dankbar.

Gruß
mt




mt

Hallo,

hat denn keiner eine Idee warum 'invoice_addpos_final'  nicht funktioniert? :(

Ich habe in der Callback noch die 'modify_db_price' und 'invoice_addpos' für die
Rabatte stehen. Heben sich denn da irgendwelche Funktionen auf?
Im Warenkorb selbst habe ich auch nur Standardplatzhalter.

Kann ich vielleicht noch irgendwelche Tests machen?

Gruß
mt


dobra

Hallo mt,

eine Idee" habe ich schon, aber nachdem ich mich beim letzten Thema schon blamiert habe, wollte ich lieber nichts mehr sagen  ;)

Ich hatte mal ein Problem mit 2 Callbackscripten, die sich auch nicht "vertragen" haben.
Habe dann beide Scripte in eines zusammengepackt und dann ging's.

Allerdings ist das ganze schon prinzipiell sehr kompliziert, da ich meistens bei einem neuen Callback auch alle anderen wieder neu anpassen muß.
also auf "Ferndiagnose" trau ich mir da nicht zu, einen wirklich brauchbaren Tipp abzugeben  :(
mfG
dobra

mt

Hallo dobra,

Danke, das ist doch schon mal was! :)

Beim letzten Thema hast Du dich übrigens nicht blamiert, es war halt sehr schwer und zu speziell.
Wir hatten auch erst Gestern am späten Nachmittag mit 'ahe' zusammen eine Lösung.

Werde mal schauen welche Funktionen sich da nun 'beißen'.

Gruß
mt

mt

Hallo,

habe alle Funktionen, bis auf 'invoice_addpos_final' testweise gelöscht.
Funktioniert immer noch nicht. Aber es war einen Versuch Wert.

Gruß
mt


dobra

Hallo mt,

vielleicht habe ich doch einen möglichen Ansatz gefunden?

ZitatIch will mit 'invoice_addpos_final' die Versandkosten verändern, da zum Beispiel beim Dropshipping
die Versandkosten durch eine feste Gebühr (z.B. 8.00) ersetzt werden sollen.

vielleicht ist da invoice_addpos_final nicht unbedingt notwendig...
Schau Dir mal im Handbuch das Kapitel
3.6.1.6 Artikelabhängige Versandkosten mit XSHIPPING
(Seite 43) an.

Zitat...
Die Direktberechnung kann man dann anzuwenden, wenn es feste Versandkosten pro Artikel gibt. Dies ist oft bei
Waren der Fall, die per Spedition ausgeliefert werden.
...

ich weiß allerdings nicht genau, ob das in Deinem Fall passt, aber das
ZitatDen Testwarenwert habe ich dabei auf 10,- EUR gesetzt.
hat mich aif die Idee gebracht...
mfG
dobra

mt

Hallo dobra,

das Problem bei XSHIPPING ist, dass es Artikelabhängig ist.
Dropshippinggebühren sind für die gesamte Bestellung gültig unabhängig vom Artikel.

Das heißt, wenn der Kunde Dropshipping anklickt entfallen für die gesamte Bestellung die Versandkosten.
Dafür kommen aber die (höheren) Dropshippinggebühren auf die Rechnung rauf.

Ich komme also um 'invoice_addpos_final' nicht herum.

Gruß
mt


dobra

hmmm,  jetzt weiß ich, worum es geht...

Du müßtest also abfragen, ob Dropshipping angeklickt ist
sollte dann ungefähr so funktionieren (wenn ich nicht wieder einen Denkfehler genacht habe)

sub invoice_addpos_final {

  my $ref_gesamt = $_[0];
  my $ref_gesamt_steuer = $_[2];
  my $ust = $_[3]/100;
  my $netto = $_[4];
  my $versandkosten = $_[5]; 

  my $wert =  Dropshipping angeklickt?;  ## flag: 0 = nicht angeklickt, 1 = angeklickt

if ($wert == "1") {             

     $$ref_gesamt -= $$versandkosten;
     $$ref_gesamt_steuer -= (1 - 1/(1+$ust))* $$versandkosten;
     $$versandkosten = 150;  ## der Dropshipping - Betrag

  }

  return 0;

}
mfG
dobra

mt

Ja ungefähr so soll das Skript dann aussehen :D, ich muss dann halt nur noch rausfinden,
wie ich den Dropshippingwert durch den Bestellvorgang 'schleppe'. :-\

Leider ist dass aber derzeit noch nicht mein Problem, da 'invoice_addpos_final'
vorerst gar nicht funktioniert. Wenn also dann das Standardscript funktioniert,
kann ich mich an die eigentliche Funktion machen.

admin

Hallo,

es sind zwei Sachen zu beachten (vielleicht ist das ja beachtet worden, aus dem Code kann ich es nicht erkennen).



<!--spmacro:module(Callback)

sub invoice_addpos_final {

}
-->


Die Funktion muss im Modul Callback liegen und sich in sdtall.ipl oder stdcart.ipl befinden.
Die Funktion darf nicht mehrfach in verschiedenen Datein existieren.

Gruss hop

mt

Hallo admin,

die Funktion ist genau dort wo Sie sein soll und auch nur einmal vorhanden.
Ich habe auch schon testweise alle anderen Callbacks gelöscht, ohne positives Ergebnis.

Gruß
mt

admin

im Demoshop Carshop wird die Funktion genutzt um die MWST bei Lieferung in die Schweiz entfallen
zu lassen. Habe gerade nochmal geschaut, das funktioniert einbwandfrei.

Gruss hop

mt

AAH! UUPS!  Sorry ;D Da fällt mit ein, wir haben die Funktion schon in der stdcart.ipl.

Jetzt wo Sie das Stichwort mit den schweizer Liferzonen geben, fällt es mir ein.

Gut dann probiere ich jetzt die eigentliche Funtion.
Da habe ich gleich noch eine Frage, wenn ich den Dropshipping-Wert per POST an das Skript gebe,
muss ich dann diese POST-Variable durch den ganzen Bestellvorgang mitführen oder registriert der Shop
die Veränderung. Und wenn wie führe ich die Varible am besten mit?

Vielen Dank!

Gruß
mt

dobra

ZitatUnd wenn wie führe ich die Varible am besten mit?

mit ssp::cart_write_var / ssp::cart_read_var wie ahe schon beim Rappen und Öre Problem geschrieben hat
mfG
dobra

mt

Wenn ich ein separates Formular im WK habe und dort das falg-Feld habe,
kann ich dann die Variable mit 'ssp::cart_write_var' abfragen? Wie denn?
Ich habe es noch nicht ganz verstanden, bin heute irgendwie nich so schnell.

Gruß
mt