Shopsystem ShopPilot

ShopPilot => Shopbetrieb => Thema gestartet von: dobra am Januar 18, 2007, 09:01:42

Titel: Wert in benutzerdefiniertem Feld vorbelegen?
Beitrag von: dobra am Januar 18, 2007, 09:01:42
Hallo,

Ich habe mal wieder eine ausgefallene Frage:
ist es möglich, eine Berechnung der Werte in benutzerdefinierten Feldern (Kunde) fix einzurichten?

also die Ausgabe von FELD3 soll immer Feld1 minus FELD2 sein.
(die Feldwerte sind Vatiable die sich ändern
der berechnte Wert von FELD3 soll auch in Echtzeit in der DB stehen)

Geht das? und wenn "ja" wie?

sub bact {
 my $index = $_[0];
 my $kdnr = ssp::get_var_db("KUNDENNR", $index);
 my $gsum = ssp::get_var_user("FELD1",$index);
 my $esum = ssp::get_var_user("FELD2",$index);
 my $asum = ($gsum)-($esum);
        ssp::db_update_usr($kdnr,"FELD3",$asum);
}
funktioniert nicht

Danke im Voraus für jeden Tipp

Titel: Re: Wert in benutzerdefiniertem Feld vorbelegen?
Beitrag von: cru am Januar 18, 2007, 10:59:57
Also ich versuche mal,

sub bact {
 my $pre = ssp::ssp::db_get_prefix();
 my $TABLE = $pre . "Ihre tabelle";

 my $kdnr = ssp::get_var_user("kundennr");

 my $gsum = ssp::get_var_user("FELD1");
 my $esum = ssp::get_var_user("FELD2");
 my $asum = ($gsum)-($esum);

 my $sql = qq| UPDATE $TABLE SET FELD3=$asum WHERE USR=$kdnr |;
   
      if (-1 == ssp::exec_sql($sql, 1)) {
main::mprint ssp::get_last_sqlerr();
        }
}

Kann nicht garantieren das das so funktioniert, sollte aber.

mfg
cru
Titel: Re: Wert in benutzerdefiniertem Feld vorbelegen?
Beitrag von: dobra am Januar 18, 2007, 23:46:02
Danke für den Code, aber ich komme nicht zurecht damit.

"Tabellenname" und "Feldnamen" habe ich natülich angepasst, aber irgendetwas mache ich falsch.
Keine Fehlermeldung aber alles war unterhalb von __xx::xx__ steht, wird nicht mehr angezeigt und auch kein Eintrag in der DB.

Mit meinem Versuch (s.oben) wird Feld3 zwar berechnet und in die DB geschrieben aber erst nachdem ich den Browser neu gestartet habe
- "Seite neu laden"nutzt nichts und auch <meta http-equiv="expires" content="0"> und
<meta http-equiv="cache-control" content="no-cache"> im head hat nichts daran geändert.
?????????

Wenn ich dieses Problem noch irgendwie in den Griff bekomme, wäre meine Idee "virtuelle Bonuskarte" komplett realisiert.
Läuft vollkommen automatisiert von Bestellung bis volle Karte einlösen und neue anlegen- bis auf die manuelle Eingabe "bezahlt" im Rechnungsstatus.
(mit einem WAWI-Programm könnte man das sicher auch noch automatisieren.
Ich habe keines, konnte es daher nicht ausprobieren)
Auch nachträglicher Punkteabzug - z.B. bei Rücksendungen - ist möglich.
Titel: Re: Wert in benutzerdefiniertem Feld vorbelegen?
Beitrag von: ahe am Januar 19, 2007, 15:00:49
Hallo,

wann bzw. auf welches Ereignis hin soll denn diese Anpassung erfolgen?
Titel: Re: Wert in benutzerdefiniertem Feld vorbelegen?
Beitrag von: dobra am Januar 20, 2007, 16:21:50
Eintrag gelöscht

letztes Problem gelöst - mein Projekt ist voll  funktionsfähig

Danke nochmal an alle, die mir dabei geholfen haben