das Script steht in stdall
<!--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));
}
}
...
Ausgabe im WK, den Folgeseiten und der Bestelldatenvorlage mit
__versk::versk__