LBS "0" bei Varianten

Begonnen von dobra, Oktober 25, 2008, 07:28:52

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

dobra

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"


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.....
mfG
dobra

admin

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


dobra

Hallo hop,

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


mfG
dobra