Shopsystem ShopPilot

ShopPilot => ShopPilot Enterprise => Thema gestartet von: dobra am Oktober 25, 2008, 07:28:52

Titel: LBS "0" bei Varianten
Beitrag von: dobra am Oktober 25, 2008, 07:28:52
Hallo,

Habe mal wieder ein (für mich) unlogisches) Problem:

Wenn im Feld LBS bei Varianten "0" steht, wird das mit
my $index = shift;
my $anzahl = shift;
if ($index <= $anzahl) {
my $lmenge = ssp::get_var_cart("LBS", $index);
my $bmenge = ssp::get_var_cart("anzahl", $index);
if (length($lmenge)) {
if ($lmenge < $bmenge && $lmenge ne "0") {main::mprint "z.Z. leider nur $lmenge St lagernd - Lieferzeit für $bmenge St ca 14 Tage";}
elsif ($lmenge eq "0") {main::mprint "dieser Artikel ist z.Z. nicht lagernd - Lieferzeit ca 14 Tage";}
}
return "noinc";
}
als "nichts" interpretiert und weder berechnet noch angezeigt.
(bei Artikeln wird LBS "0" korrekt angezeigt und berechnet)

wie üblich bei solchen Problemen, habe ich das auch in einem Demoshop versucht und im WK zur Kontrolle so ausgegeben.
<!--spmacro:module(show)
sub menge {
my $index = shift;
my $anzahl = shift;
if ($index <= $anzahl) {
my $lmenge = ssp::get_var_cart("LBS", $index);
main::mprint $lmenge;}
return "noinc";
}
-->
__hprodukt__ __zusatz1__ __produkt__ / __LBS__ / __show::menge__

Im Beispiel ist LBS "0", "1", "2"
(http://www.woll-insel.at/Bilder/SP-Forum/LBS.png)

Hat jemand eine Idee, wo/wie ich diesen Fehler suchen/korrigieren kann?

P.S.:
if (!length($lmenge))  kann ich nicht verwenden, da es auch Artikel/Varianten gibt, für die kein Lagerstand importiert werden kann
also hier das Feld LBS leer ist -> ich brauche die Unterscheidung zwischen LBS = "0" und LBS = " "

PP.S.:
das ist - *nur* bei Varianten -  nicht nur bei LBS sondern bei allen ben.def. Feldern so, daß "0" gleich " " ist.
eine "Notlösung" habe ich entdeckt:  wenn in LBS nicht "0" sondern " 0" (mit Leerzeichen voran) steht, wird es richtig ausgegeben
- ist aber keine schöne Lösung da es bei jedem Lagerstandimport wieder überschrieben wird.....
Titel: Re: LBS "0" bei Varianten
Beitrag von: admin am Oktober 28, 2008, 10:23:30
Hallo Dobra,

zunächstmal die Beobachtung ist so richtig und trifft für alle benutzerdefinierten Felder bei Varianten zu.
Wenn ein benutzerdefiniertes Feld einer Variante den Wert "0" oder "" (Leerstring)  hat, wird der Wert
aus dem gleichnamigen Feld des Hauptartikels entnommen.
Die Lösung für das beschriebene Problem wäre also beim Hauptartikel die "0" einzutragen.


Gruss hop

Titel: Re: LBS "0" bei Varianten
Beitrag von: dobra am Oktober 28, 2008, 10:31:28
Hallo hop,

DANKE  -  funktioniert   ;D
(auf diese Lösung bin ich nicht gekommen  :-[)