verfügbare Anzahl bei GS

Begonnen von dobra, März 03, 2007, 13:38:06

« vorheriges - nächstes »

0 Mitglieder und 2 Gäste betrachten dieses Thema.

dobra

Hallo,

ich komme mit Gutscheinabwicklung irgendwie nicht klar.

Wenn ich bei Gutscheinartikel "Anzahl begrenzen aktivieren" den Haken setzt und "verfügbare Anzahl" 1 eingebe, wird zwar bei Bestellung = Gutscheineinlösung die Anzahl auf 0 gesetzt, aber diese Tatsache wird vom Programm ignoriert und bei der nächsten Bestellung kann ich den selben GS wieder einlösen.
Der DB-Eintrag schaut so aus


Vor der GS-Bestellung (Einlösung) stand bei "STAFP2"  "1" (= hatte auch verfügbare Menge 1 eingegeben)
nach Einlösung "STSFP = 0" (s.Bild)
auch im WC wird nach "online-Daten einlesen" der verfügbare Wert auf 0 gesetzt und trotzdem ist der GS-Artikel bestellbar.

Was mache ich da falsch?

mfG
dobra

P.S.: mit LBSAUTO wird der Gutschein mit Menge 0 auch in den WK gelegt (mit Preis 0), aber eigentlich wollte ich LBSAUTO nicht verwenden - diese Variante mit "in WK aber ohne Wert" gefällt mir nicht besonders.

PP.S.: ist nicht dringend, da ich sowieso auf die neu SP-Version warten muß, bevor ich mein Gutscheinprojekt online stellen kann.
Fall da ein ganz anderes neues Gutscheinabwicklungssystem kommt

       (ich hätte da schon etliche Wunsch-Ideen  ::)

  • die Trennung von Artikel- und Gutscheindirekteingabe,
  • einen 2. Prefix für GS den man unterschiedlich belegen kann -  GS mit alternativem Prefix für Direkteingabe gesperrt
  • und/oder die Möglichkeit, für verschiedene GS-Artikel andere Einlöse-Bedingungen einzugeben
    - unterschiedliche  Behandlung von Geschenkgutscheinen (z.B. Promotion-Gutscheinen) und Kaufgutscheinen -
warte ich noch mit der Umsetzung dieses Bausteins - aber in diesem Fall bitte auch um Nachricht.
mfG
dobra

dobra

#1
Hallo,

um meine Gutschein-Projekt gleichzeitig mit dem Bonuskarten-Projekt einsetzten zu können, würde ich unbedingt eine Möglichkeit brauchen, bestimmte Gutscheinnummern für die Direkteingabe zu sperren.
(leider ist das vermutlich nur für mich wichtig)

In meinem E-Card-Gutschein-Skript (externes CGI Skript) habe ich eine DB Abfrage:
wenn GS-Nr. auf Seite xx steht - OK
wenn nicht - Fehlermeldung

if (&sqlQuery("select count(*) from PY2_ITEM where PGID = '1200004230' and ITEMID = '".&addslashes($FORM{"seccode"})."';") >= 1) {
$FORM{"userdef2"}=$FORM{"seccode"};
my $price=&sqlQuery("select price from PY2_ITEM where PGID = '1200004230' and ITEMID = '".&addslashes($FORM{"seccode"})."';");
$price=~ s/^-//g;
if ($price eq "") {
$price="0.00";
}
$FORM{"userdef3"}=$price;
} else {
$ERRORS{"ErrCode"}=$CONFIG{"ErrCode"}; # Code leer oder falsch
$status++;
}


Der Autor des Skrips der das für mich eingebaut hat sagte es war 1/2 Stunde Arbeit  - 
wäre ganz, ganz supper nett, wenn jemand von SP-Team so etwas in der Art auch in die neue ShopPilot-Version einbauen könnte?
Abfrage bei Direkteingabe: wenn eingegebene GS-Nr. auf Seite PGID ='xx' steht (und Menge nicht 0 ist)  - in WK
                                      wenn nicht auf Seite PGID ='xx' oder Menge = 0  - Fehlermeldung
Oder gibt es irgendeine Möglichkeit, das mit einer Subroutine zu machen?

mfG
dobra

P.S.: mir JavaScript habe ich eine Lösung gefunden - ist aber in diesem Fall zu unzuverlässig, wer JS nicht aktiviert hat, kann gesperrte GS Nr. trotzdem einlösen
mfG
dobra

cru

Hallo dobra,

das Problem der mehrfachen Gutscheineinlösung konnten wir nachvollziehen und arbeiten daran.

mfg
cru

admin

Hallo,

der Bug ist gefunden und wird mit der 2.8 korrigiert.
Wir haben übrigens mit der 2.8 eine neue (optionale) Technik der Fehlermeldungen beim Abschicken
von Formularen eingeführt.

Im Fall von einem Gutschein Eingabeformular kann man z.B. folgendes definieren.


<form method="post" name="direkteingabe" Action="__xxpath__?placecart0,__xxsession__#gutscheinfehler">
  <input type="hidden" name="directItem_required" value="Gutscheinnummer ist falsch oder Gutschein abgelaufen">
   Gutscheinnummer: <input type="text" name="directItem" size="20">
  <a name="gutscheinfehler"></a><div class="errortext">__errordirectItem__</div>
  <input type="submit" value="Hinzufügen">
</form>


Dann erscheint bei Fehleingabe direkt unter der Box der Text der bei directItem_required
angegeben wird. Dies wird mit dem Identifier __errordirectItem__ bewirkt.
Das <div> kann dann eine rote Schriftfarbe erzeugen, ist aber nicht notwendig
für die Funktion.

Das Anhängen von #gutscheinfehler (statt "gutscheinfehler" könnte auch ein
anderer "name"  genommen werden)  ist auch optional, es bewirkt aber, dass der Browser
bei einem Fehler genau den sichtbaren Auschnitt der Seite genau an die Position
des Fehlers bringt.

Dieses Prinzip ist auch für fast alle anderen Formularfelder, z.B. im Bestellformular oder
bei der Kundenregistrierung etc. analog anwendbar und bringt glaube ich für die Anwender
eine etwas einfachere Bedienung.

Gruss hop

dobra

#4
 ;D SUPER - SPITZE - DANKE

Genau so eine Lösung habe ich mir gewünscht - flexibel einsetzbar und nicht nur auf GS beschränkt.

ich frage nicht, WANN die 2.8 Betaversion kommen wird  ;) ........
(inzwischen weiß ich aus Erfahrung, daß da immer etwas unvorhergesehenes dazwischen kommen kann und es unmöglich ist, da einen genauen Termin festzulegen)
.......aber vorgestern haben will.......




mfG
dobra