__myrabatt__ nicht für bestimmte Artikel && auch keine anderen Rabatte

Begonnen von dobra, Juni 19, 2009, 22:21:01

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

dobra

Hallo,

brauche bitte mal Hilfe zu kundenspezifischem Rabatt

Wie kann ich es anstellen, dass ein Kunde bei dem im Kundendialog Rabatt in % eingetragen ist, für bestimmte Artikel KEINEN Rabatt erhält?
konkret: keinen Rabatt bei Gutscheinkauf
(sonst würde er ja den Rabatt 2x kassieren - 1x beim GS Kauf und dann nochmal, wenn er mit dem GS bezahl)
in der Duku konnte ich keinen Hinweis finden, wie ich das lösen könnte.

und in dem Zusammenhang gleich noch eine Frage:
wie kann ich verhindern, dass GS mit GS bezahlt werden?
Grund der Frage
wenn Gutscheine ein Ablaufdatum haben  -> "gültig bis" und der Kunde aber jetzt mit diesem GS einen neuen GS kaufen kann, kann er die Gültigkeit ja nach blieben auf "ewig" verlängern.

Hat jemand eine Idee/einen Lösungsansatz für mich?

Nachtrag:
habe versucht, das mit invoice_addpos zu lösen, krieg's aber nicht hin  :'(
aber bei meinen Versuchen ist mir nochwas aufgefallen - es müsste eine Lösung geben, für GS (oder auch andere, nicht rabattfähige Artikel) generell keinen Rabatt zu geben.
also auch keinen Händlerrabatt, Aktionsrabatt, Staffelrabatt usw.

ich fürchte aber inzwischen schon fast, dass das nur softwareseitig zu lösen ist und ich da selber nichts wirklich effizientes zustande bringen werde ... ? ...
... oder ich kann's halt einfach nicht ...
mfG
dobra

dobra

Hallo nochmal,

habe für Problem 1 eine Teillösung gefunden

Wenn ich das Kundenrabattfeld nicht verwende, sondern ein neues ben.def Kundenfeld (USRRABATT) und ein Artikelfeld (NORABATT), kann ich die Bedingungen mit invoice_addpos steuern

<!--spmacro:module(Callback)
$rabattsumme = 0;
sub invoice_addpos {
my $userrabatt = ssp::get_var_user("USRRABATT");
$userrabatt =~ s/,/./g;
if (length($userrabatt)) {

my $ref_gesamt = $_[0];
my $ref_gesamt_steuer = $_[2];
my $ust = $_[3]/100;
my $netto = $_[4];
my $anzahl = ssp::get_cart_items();
for (my $i = 0;$i <= $anzahl;++$i) {
my $norabatt = ssp::get_var_cart('NORABATT',$i);
if (!length($norabatt)) { # Feld NORABATT ist leer
my $rabatt = (ssp::get_var_cart('preis',$i) * $userrabatt) / 100;

$rabattsumme += $rabatt * ssp::get_var_cart('anzahl',$i);
}
}
if ($netto > 0) {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*$ust;
} else {
$$ref_gesamt -= $rabattsumme;
$$ref_gesamt_steuer -= $rabattsumme*(1-1/(1+$ust));
}
return 0;
}
}
-->


allerdings kann ich dann auch im WK und den Bestellformularen nicht mehr __myrabatt__ und __myrabbetrag__ verwenden sondern muss auch diese Anzeigen mit ssp nachbauen (das ist aber kein Problem  ;))

Um bestimmte Artikel (z.B. GS) auch vom Händlerrabatt auszuschließen, sollte das genauso gehen.
aber halt nur, wenn man Händlerfelder anlegen kann - funktioniert also also nicht für B2C Lizenzen

für Problem 2 habe ich aber noch keine Idee....
mfG
dobra