Wertgutschein != Promotiongutschein

Begonnen von dobra, März 11, 2009, 19:38:50

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

dobra

Hallo,

Aufgabe:
von "normalen" Gutscheinen kann man ja immer nur einen pro Bestellung einlösen.
Das soll bei Promotion-Gutscheinen auch so sein!
Wenn aber jemand gekaufte Wertgutscheine hat (Kunde hat z.B. 3 GS a € 10,- geschenkt bekommen) soll er auch mehrere dieser Wertgutscheine bei einer Bestellung einlösen dürfen.

Lösung:
Wertgutschein als normalen Artikel anlegen und das Gutscheinverhalten nachbauen

1) man braucht einen neuen Präfix für die Wertgutscheine (nicht den gleichen, der bei GS-Präfix im WC eingetragen ist)
im Beispiel  _WGS_
2) 2 ben.def. Artikelfelder mit Typ "Datum"  WGSVON und WGSBIS anlegen
3) beim Gutscheinartikel anlegen ist jetzt folgendes zu beachten:

  • die Artikelnr. muss mit _WGS_ beginnen
  • in das Feld LBSAUTO muss "1" eingetragen werden, damit dieser Artikel nur 1x bestellt = nur 1x eingelöst - werden kann
  • in die neuen Felder WGSVON und WGSBIS (wie bei den normalen Gutscheinen) das Gültigkeitsdatum eintragen
4) diesen Code in stdall.ipl schreiben
<!--spmacro:module(wertgutschein) {
my $item = ssp::get_var_form('directItem');
if ($item =~ /_WGS_/){
my $jetzt = time();
my $pre = ssp::db_get_prefix();
my $ITEM = $pre . "ITEM";
     
     my $count = ssp::readSQLData("SELECT WGSVON, WGSBIS FROM $ITEM WHERE ITEMID='$item'","WGSVON","WGSBIS");
            if ($count >= 0) {
                   my $i=0;
                        while ($count > $i) {
                             $von = ssp::get_var_db("WGSVON",$i);
                             $bis = ssp::get_var_db("WGSBIS",$i);
                   ++$i;
             }
        if ($jetzt < $von || $jetzt > $bis){
        ssp::set_var_form('directItem',"gibtsnicht");
        #das "directItem" auf eine nicht vorhandene Artikelnummer setzen, so dass "ungültiger Gutschein" ausgegeben wird.     
    }
#Bei erfolgreicher Abfrage der Datenbank passiert nichts und der Gutschein wird in den Warenkorb gelegt.
}
}
}
-->


so haben die nachgebauten Wertgutscheine reguläres Gutscheinverhalten, es können aber mehrere eingelöst werden OHNE dass die normalen GS-Funktion beeinträchtigt wird.
Weiter Bedingungen können wahlweise nach dem selben Prinzip eingebaut werden.
mfG
dobra

dobra

#1
Hallo,

In der Praxis hat sich leider herausgestellt, dass diese "Notlösung" etliche Schwachpunkte hat  :(

z.B. kann keine Mindestbestellsumme definiert werden sodass auch Minusbeträge bestellt werden können.

Beispiel:
Warenwert € 20,-
eingelöster Wertgutschein 1   - € 10,-
eingelöster Wertgutschein 2   - € 10,-
eingelöster Wertgutschein 3   - € 10,-
eingelöster Wertgutschein 4   - € 10,-
eingelöster Wertgutschein 5   - € 10,-
Versandkosten € 4,90

Rechnungssumme - € 25,10

Ganz großer Wunsch für nächste Version:

Unterscheidung zwischen Wertgutscheinen und Promotion GS
also dass man beim GS-Verhalten eine Option anhaken kann für "echte" Wertguscheine (also gekaufte GS)  = es dürfen mehrere pro Bestellung eingelöst werden
(Option nicht angehakt = Promotion GS - nur 1 St. pro Bestellung wie bisher)

Nachdem ich diesen Fehler entdeckt habe, hatte ich die Wert GSs wieder als "normale" GS angelegt

aktueller Anlass meiner Bitte:
eine Rechtsanwältin(!) hat zu Weihnachten 10 GS a 10,- geschenkt bekommen und wollte diese jetzt bei einer Bestellung von 122,- einlösen.
Das konnte sie bei "Standard-GS" natürlich nicht -> großes Gemecker .....
zum Glück hat sie zuerst mal angerufen und nicht gleich eine Klage eingereicht und ich konnte das regeln indem ich ihr den vollen GS-Betrag für alle Wertgutscheine mit der Auftragsbestätigung manuell gutgeschrieben habe.
Aber eine "Onboard" Lösung für Kauf/Wert/Geschenk-GS wäre doch sehr schön.....

Nachtrag:
wenn ich schon mal beim wünschen bin  ;)
vielleicht geht's ja auch, dass die Meldung "Warenwert zu gering für GS-Einlösung" als Inline-Meldung ausgegeben werden kann?
mfG
dobra