Shopsystem ShopPilot Shoploesung Diskussionen und Infos zum Shopsystem ShopPilot
Willkommen Gast. Bitte einloggen oder registrieren.
Mai 22, 2012, 07:07:53

Einloggen mit Benutzername, Passwort und Sitzungslänge
Suche:     Erweiterte Suche
5257 Beiträge in 1422 Themen von 333 Mitglieder
Neuestes Mitglied: pje
* Übersicht Hilfe Login Registrieren
+  Diskussionen und Infos zum Shopsystem ShopPilot
|-+  ShopPilot
| |-+  Shopbetrieb
| | |-+  Problem mit exclude_zahlart und Minusbetrag
0 Mitglieder und 1 Gast betrachten dieses Thema. « vorheriges nächstes »
Seiten: [1] Drucken
Autor Thema: Problem mit exclude_zahlart und Minusbetrag  (Gelesen 662 mal)
dobra
Global Moderator
Hero Member
*****

Lob: 18
Offline Offline

Beiträge: 1182


WWW
« am: September 12, 2010, 08:44:15 »

Hallo,

Ich habe meinen Kunden ein Guthabenkonto eingerichtet, auf das Provisionen (Affiliate-Provisionen) gebucht werden.
Bei Bestellungen wird dieses Guthaben von der Rechnungssumme abgezogen.

Code:
<!--spmacro:module(Callback)
sub invoice_addpos_final {
my $ref_gesamt = $_[0];
   my $kdnr = ssp::get_var_user("kundennr");
        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);
if ($wert ne "undefined") {
$$ref_gesamt -= $wert;
}
return 0;
}
-->

Soweit funktioniert das auch.

Das Problem:
in diesem Fall kann der Rechnungsbetrag auch ein Minusbetrag sein.
also wenn ssp::get_wktotalsum(); <= 0 soll als Zahloption nur "nix zu zahlen" angezeigt werden.
Ist der Wert >0 die normalen Zahlarten.

Scheinbar kann das Callback::exclude_zahlart  aber nicht mit Minuszahlen umgehen?

Code:
<!--spmacro:module(Callback)
sub exclude_zahlart {
my $sum = ssp::get_wktotalsum();
if ($sum >= 0) {
return 6; # ID für "nichts zu bezahlen"
} else {
return "1,2,4,5";
}
}
-->

funktioniert nicht  Huh
wie kann ich das lösen?

Nachtrag
ich glaube, jetzt habe ich die Lösung gefunden...
Scheinbar wird das Callback::exclude_zahlart VOR dem Callback::invoice_addpos_final ausgeführt?

wenn ich das SO schreibe, funktioniert es (auch bei Minuswerten)
Code:
<!--spmacro:module(Callback)
sub exclude_zahlart {
   my $kdnr = ssp::get_var_user("kundennr");
        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);
        
    my $sum = ssp::get_wktotalsum();
    if (($sum - $wert) >=0) {
        return 6; # ID für "nichts zu bezahlen"
    } else {
        return "1,2,4,5";
    }
}
-->
« Letzte Änderung: September 12, 2010, 10:57:44 von dobra » Gespeichert

Seiten: [1] Drucken 
« vorheriges nächstes »
Gehe zu:  

mysitelist Impressum Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS