0

Select liefert falsches Ergebnis

Folgendes Skript funktioniert nicht mehr korrekt. Zeitpunkt und Ursache sind leider nicht bekannt. Vielleicht sieht es ja jemand von euch. Tausend Dank vorab.

cnt(select Preise
        where aktiv = true and 'gültig für' = 4 and Kategorie = 2 and
        if my_settings.'Tandempreise nach Werktag und Wochenende unterscheiden' = true then
                if weekday(my_load) = 5 or weekday(my_load) = 6 or
                        cnt(first(select 'Terminslots erstellen').Feiertage[Datum = my_load]) > 0 or
                    my_settings.'Keine Werktagspreise bei Gutscheineinlösungen' = true and
                            my_voucher != null and
                        record(Preise,number(record(Gutscheinbestellungen,number(my_voucher)).Nr)).'einlösbar' = 2 then
                    'einlösbar' = 2
                else
                    'einlösbar' = 1
                end
            else
                true
            end)

Das Skript selektiert Preise aus einer Preisliste. Wird nach Werktagen und Wochenenden unterschieden, werden nur Preise angezeigt, die zu einem Datum im Record "my_load" passen. Wird. nicht unterschieden, spielt es gar keine Rolle.

Das Skript liefert plötzlich aber 0 als Wert.

Das Ergebnis von  

my_settings.'Tandempreise nach Werktag und Wochenende unterscheiden' = true

ist aber false.

Das Ergebnis, wenn man das Skript verschlankt, von 

cnt(select Preise
        where aktiv = true and 'gültig für' = 4 and Kategorie = 2 and true)

ist 5.

Das sollte auch herauskommen, wenn das komplette Skript läuft. Tut es aber nicht.

Bin am Ende mit meinem Latein.

Antwort

null