Autor Thema: echtes GUTHABENKONTO bauen  (Gelesen 4358 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
echtes GUTHABENKONTO bauen
« am: November 15, 2008, 08:22:17 »
Hallo,

hab ich schon mal erwähnt, daß mit ShopPilot ALLES realisierbar ist?    ;)

Aufgabe:
Ein GUTHABENKONTO für Kunden einrichten
das funktioniert so, daß man einem registrieten Kunden ein Guthaben zuschreiben kann
(z.B. den Betrag für Rücksendungen, "Provisionen", oder was auch immer)
Dieses Guthaben wird dann von der aktuellen Bestellung abgezogen.
Macht die Bestellung weniger aus als das Guthaben, wird das Guthabenbudget natürlich automatisch aktualisiert bzw gelöscht wenn es verbraucht ist.

Lösung:
zwei benutzerdefinierte Kundenfelder anlegen
GUTSCHTEXT -> hier kommt der Text rein
GUTSCHBETR -> hier kommt der Betrag rein

Code in stdall.ipl:
<!--spmacro:module(show)
sub gutschrift {
my $out;
my $out2;
   my $kdnr = ssp::get_var_user("kundennr");
my $gstext =  ssp::get_var_user('GUTSCHTEXT');
my $pre = ssp::db_get_prefix();
my $USR = $pre . "USR";
ssp::readSQLData(qq|SELECT GUTSCHBETR FROM $USR WHERE KUNDENNR = '$kdnr'|, "GUTSCHBETR");
my $wert =  ssp::get_var_db('GUTSCHBETR',0);
$wert = 0 if ($wert eq $ssp::undefined);
$wertanz = main::fp($wert);
my $rbetr = ssp::get_wktotalsum ();
my $rest = $wert - $rbetr;
if ($rest < 0) {$rest = 0}
my $showrest = main::fp($rest);
if ($rest > 0) {$out2 = qq|
<tr>
<td colspan="6" class="mindertext" style="border:none;">Restguthaben</td>
<td colspan="2" class="mindertext" style="padding-right:15px;" nowrap bgcolor="#FEF7FE"> $showrest</td>
</tr>
|;
}

my $showrbetrneu = $rbetr-$wert;
if ($showrbetrneu < 0) {$showrbetrneu = 0;}
$showrbetrneu = main::fp($showrbetrneu);
 if ($wert > 0) { $out = qq|
<input type="hidden" name="gseingeloest" value="$rest">
<tr>
<td colspan="6" class="mindertext" style="border:none;">$gstext</td>
<td colspan="2" class="mindertext" style="padding-right:15px;" nowrap bgcolor="#FEF7FE"> $wertanz</td>
</tr>
<tr>
<td colspan="6" class="mindertext" style="border:none;">Rechnungsbetrag NEU</td>
<td colspan="2" class="mindertext" style="padding-right:15px;" nowrap bgcolor="#FEF7FE"> $showrbetrneu</td>
</tr>
$out2
|;
main::mprint $out;
}
}
-->

der HTML-Teil muß natürlich angepasst werden

Im WK, auf den Bestelldatenvorlagen und im Mail an Händler mit  __show::gutschrift__  ausgeben.
(wird nur angezeigt, wenn es auch ein Guthaben für diesen Kunden gibt)

Damit dieses Gutschriftfeld bei Bestellungen auch in der DB aktualisiert wird auf der Meldungsseite "Bestellung OK" diesen Code im Headbereich eintragen
<!--spmacro:module(gutschrift)
sub aktualisieren {
my $pre = ssp::db_get_prefix();
my $USR = $pre . "USR";
my $kdnr = ssp::get_var_user("kundennr");
my $sgrest = ssp::qform(ssp::get_var_form('gseingeloest')) ;
if ($sgrest ne 'undefined') {
my $sql = qq|UPDATE  $USR SET GUTSCHBETR = "$sgrest" WHERE KUNDENNR = $kdnr|;
ssp::exec_sql($sql, 1);
ssp::db_update_usr($kdnr,"GUTSCHBETR",$sgrest)
}
}
-->
__gutschrift::aktualisieren__

und das war's schon  :D
Mit "Daten einlesen" ist der aktuelle Stand des Kundenguthabens auch im WC

Jetzt möchte ich noch eine Funktion bauen, mit der der Kunde selber Gutscheinbeträge auf sein Guthabenkonto buchen kann
(so wie man das bei Amazon machen kann)
hier beschrieben: http://www.shoppilot.net/pf/shopbetrieb/gutschein_auf_guthabenkonto_buchen-t1340.0.html;msg4790#msg4790

Achtung: bei Verwendung von Zahlartschnittstellen wie z.B. Sofortüberweisung wird das Guthaben nicht berücksichtigt!
(dafür wäre ein anderes Script nötig)

Linkback: https://www.shoppilot.net/pf/index.php?topic=1159.0
« Letzte Änderung: Dezember 13, 2009, 10:31:16 von dobra »
mfG
dobra


xx
Gutschein auf Guthabenkonto buchen

Begonnen von dobra

0 Antworten
4024 Aufrufe
Letzter Beitrag Dezember 13, 2009, 08:33:11
von dobra
xx
cronjob (z.B. für StaticBuilder) selber bauen

Begonnen von dobra

0 Antworten
5104 Aufrufe
Letzter Beitrag August 24, 2010, 13:33:58
von dobra