Autor Thema: Problem mit exclude_zahlart und Minusbetrag  (Gelesen 3679 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1353
  • Lob: 18
Problem mit exclude_zahlart und Minusbetrag
« 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.

<!--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?

<!--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  ???
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)
<!--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";
    }
}
-->


Linkback: https://www.shoppilot.net/pf/index.php?topic=1470.0
« Letzte Änderung: September 12, 2010, 10:57:44 von dobra »
mfG
dobra


xx
mehrere Bedingungen in exclude_zahlart

Begonnen von dobra

0 Antworten
6035 Aufrufe
Letzter Beitrag August 23, 2012, 13:21:32
von dobra
xx
DB-Problem

Begonnen von Andi

17 Antworten
15176 Aufrufe
Letzter Beitrag April 29, 2003, 15:04:45
von emil
xx
Problem PayPal

Begonnen von Andi

3 Antworten
5151 Aufrufe
Letzter Beitrag November 09, 2007, 08:35:07
von Andi
xx
Problem mit DB-Struktur

Begonnen von jg

2 Antworten
4309 Aufrufe
Letzter Beitrag Juli 03, 2012, 15:58:29
von jg