ShopPilot > Visual Forms
"Fehlende Daten???" in der Bestellhistorie
db:
Hallo!
Wir basteln gerade an unserer Bestellhistorie.
So weit so gut.
Wir hätten gerne nicht nur die Summe der Artikel als Preis dargestellt, sondern auch die Gesamtsumme, die Versandkosten etc. .
Leider finden ich nirgends ein Hinweis dafür, wo sich die Werte verstecken. In der Datenbank stehen nur die Artikkel mit Preisen.
Ich habe auch die Spalte SAVECART in der Tabell ORDERS auseinandergenommen und auch die Bestelldatei im Ordner cart auf dem Server.
Nirgends wird etwas darüber gespeichert.
Sobald man aber die Daten mit dem Work Center abgleicht, sind die gewünschten Werte da.
Wo finde ich diese denn auf dem Server?
Ich hoffe Ihr wisst was ich meine.
Im voraus Danke
db
Linkback: https://www.shoppilot.net/pf/index.php?topic=1377.0
admin:
Hallo,
man muss bei den Auftragsdaten entsprechende benutzerdef. Felder anlegen. Die Namen sind festgelegt:
XMINDERMENGE = 0
XMYRABATT = 0
XRABATT = 0
XTAX0 = 0
XTAX1 = 0
XTAX2 = 0
XTAXP0 = 19.000000
XTAXP1 = 7.000000
XTAXP2 = 1.000000
XTOTALSUM = 0
XTOTSUMNET = 0
XVERSAND = 0
XZAHLUNG = 0
Sind diese Felder vorhanden, werden sie auch gefüllt.
Man benötigt mindestens die 3.02.01, damit das funktioniert.
Gruss hop
dobra:
Hallo hop,
Danke für den Hinweis!
wollte schon lange meine Auftragsdetailseite wie den WK anzeigen :)
allerdings verwende ich "gewichtsabhängige Versandkosten"
--- Code: ---<!--spmacro:include(bestellposition.ipl)-->
<!--spmacro:module(defs)
#Versandkosten abhängig vom Gewicht
my ($zone) = ssp::get_cart_zone();
if ($zone == 1) {$verskosttab = [
[0,0,0],[1,9999999999999,4.90]
];}
if ($zone >= 2) {$verskosttab =[
[0,0,0],[1,9999999999999,7.90]
];}
-->
--- End code ---
und da wird leider im XVERSAND-Feld 0 ausgewiesen.
Kann ich dieses Feld irgendwie mit einem hidden input dennoch mit den Versandkosten füllen?
admin:
--- Zitat von: dobra am Januar 27, 2010, 11:43:33 ---
und da wird leider im XVERSAND-Feld 0 ausgewiesen.
Kann ich dieses Feld irgendwie mit einem hidden input dennoch mit den Versandkosten füllen?
--- End quote ---
Das sollte gehen.
Aber wenn die Versandkosten korrekt im WK angezeigt werden, müßte auch XVERSAND stimmen.
Mit welchem Callback wird die Berechnung der Versk. aufgerufen ?
dobra:
das Script steht in stdall
--- Code: ---<!--spmacro:module(Callback)
$vsumme = 0;
$gewichtsumme =0;
$rabattsumme = 0;
sub invoice_addpos {
my $ref_gesamt = $_[0];
my $ref_gesamt_steuer = $_[2];
my $anzahl = ssp::get_cart_items();
my $ref_gesamt = $_[0];
my $ust = $_[3]/100;
my $netto = $_[4];
($sec,$min,$hour,$mday,$mon,$year) = localtime(time);
$mon += 1; $year += 1900; # Y2K
my $datum = sprintf("%02d%02d",$mon,$mday);
for (my $i = 0;$i <= $anzahl;++$i) {
my $wert = ssp::get_var_cart('RABKLASSE',$i) ;
my $tag = ssp::get_var_cart('DATUM',$i);
if ($datum == $tag){
$rabattsumme += $wert * ssp::get_var_cart('preis',$i) *
ssp::get_var_cart('anzahl',$i); }
}
if ($netto > 0) {
$$ref_gesamt = $$ref_gesamt - $rabattsumme;
$$ref_gesamt_steuer = $$ref_gesamt_steuer - ($rabattsumme*$ust);
} else {
$$ref_gesamt = $$ref_gesamt - $rabattsumme;
$$ref_gesamt_steuer = $$ref_gesamt_steuer - ($rabattsumme*(1-1/(1+$ust)));
}
my $total = ssp::get_wktotalsum();
my $versand = $Callback::vsumme;
my $vorausk = ssp::get_cart_zahlartbetrag;
my $warenwert = ($total - $versand) - $vorausk;
if ($warenwert >=100) { $wert = 0;
}else {
my $ust = $_[3]/100;
my $netto = $_[4];
for (my $i = 0;$i <= $anzahl;++$i) {
my $wert = ssp::get_var_cart('anzahl',$i)*ssp::get_var_cart('GEWICHT',$i);
$gewichtsumme += $wert;
}
}
foreach my $i (@{$defs::verskosttab}) {
ssp::trace("$i->[0] $i->[1] $i->[2]\n");
if (($i->[0] <= $gewichtsumme) && ($gewichtsumme < $i->[1]) ) {
$vsumme = $i->[2];
break;
}
}
if ($netto > 0) {
$$ref_gesamt += $vsumme;
$$ref_gesamt_steuer += $vsumme*$ust;
} else {
$$ref_gesamt += $vsumme;
$$ref_gesamt_steuer += $vsumme*(1-1/(1-$ust));
}
ssp::trace("+++++ invoice_addpos $$ref_gesamt $$ref_gesamt_netto
$$ref_gesamt_steuer\n");
return 0;
}
-->
<!--spmacro:module(versk)
# Gesamtsumme der Versandkosten
sub versk {
my ($id,$txt) = ssp::get_cart_zahlart();
if (($id == 1)||($id == 2)||($id == 3)||($id == 4)||($id == 1001)) {
main::mprint(main::fp($Callback::vsumme));
}
}
...
--- End code ---
Ausgabe im WK, den Folgeseiten und der Bestelldatenvorlage mit
__versk::versk__
Navigation
[0] Themen-Index
[#] Nächste Seite
Go to full version