[Gelöst]Auf BLOB Feld Filter setzen in CUE-Table (Ver. R2)

12. April 2017 11:54

Hallo zusammen,
das hier ist mein erster Eintrag und auch direkt meine erste Frage.

Ich habe folgendes Problem:
Ich möchte in einem Rollencenter einen neuen Stapel (CUE) anlegen der Artikel auf ein BLOB Feld filtern soll, mit unterschiedlichen Kriterien.
In der CUE-Tabelle habe ich ein FlowField vom Typ Integer angelegt um die Werte zählen zu können. Im CalcFormula-Property habe ich auch einen Filter eingestellt, der prüft ob das BLOB Field leer (' ', einfache Hochkommata) ist und diese Artikel zählt mit der COUNT Möglichkeit. Das funktioinert soweit. Meine Anforderung ist aber den Filter auf einen bestimmten Nummernkreis von Artikel weiter zu spezialisieren und noch einen weiteren Filter.
Ich bekomme folgende Meldung von NAV:
Fehler beim Koventieren des nvarchar-Werts 'Artnr.' in den int-Datentyp.

Das Rollencenter schließt sich darauf hin wieder.
Ich kenne auch die Variante über den C/AL-Code mit HASVALUE für BLOB Felder. Wenn ich die Varainte nun versuche zu debuggen hält der Debugger nicht an, sodass ich mit der Variante auch nicht weiter kommen.

Hatte jemand einen ähnlichen Fall schon mal und hat vielleicht eine Idee oder weiß was ich falsch mache?
Ich hoffe ich konnte mein Problem deutlich rüber bringen.
Zuletzt geändert von Feelizytas am 25. April 2017 10:28, insgesamt 1-mal geändert.

Re: Auf BLOB Feld Filter setzen in CUE-Table (Version R2)

18. April 2017 20:55

Ich hab keine Ahnung wie man mit BLOB Feldern arbeitet, aber die von dir genannte Fehlermeldung ("Fehler beim Koventieren des nvarchar-Werts 'Artnr.' in den int-Datentyp.") kommt ganz sicher nicht aus NAV denn solche Feldtypen gibt es in NAV nicht. Wenn überhaupt kommt das vom SQL Server. Ob das hilft, keine Ahnung...

Ich vermute aber du hast in der Feld Definition deines FlowFields einen Fehler gemacht. Du darfst dort kein Feld angeben sondern nur:
Method: Count
Table: Item
Field: (leer lassen)
Table Filter: (Deine Filter setzen)

Re: Auf BLOB Feld Filter setzen in CUE-Table (Version R2)

24. April 2017 14:46

Entschuldige das ich mich so spät erst melde. Danke für deine Rückmeldung aber genau das mache ich.
Mein Filter sieht so aus:
Method = Count
Table = Item
Field = (leer)
Table Filter = Picture (BLOB Feld) = Filter(' ')

Führe ich jetzt das Rollencenter aus, bekomme ich diese Fehlermeldung wie oben beschrieben.

Ich habe es auch schon über den Code versucht und folgendes gebaut:

Code:
IF varItem.FINDFIRST THEN BEGIN
  REPEAT
    IF varItem.Picture.HASVALUE = FALSE THEN BEGIN
      varCounter := varCounter +1;
      MESSAGE('Kein Bild');
    END;

  UNTIL varItem.NEXT = 0;
  "Item Without Picture" := varCounter;
  MODIFY;
END;


Aber dieser Code wird nicht ausgeführt. Es bleibt immer bei 0. Das kann nicht sein, da ich einige Artikel ohne dieses Bild habe.

Hat vielleicht noch jemand eine Idee woran das liegen könnte oder wie man das evtl. noch realisieren kann?

Re: Auf BLOB Feld Filter setzen in CUE-Table (Version R2)

24. April 2017 15:46

Hallo,

auf jeden Fall würde ich das FINDFIRST durch FINDSET ersetzen.

Keine Ahnung, ob's dann besser funktioniert. Es ist aber ein Fehler weniger.

Andi

Re: Auf BLOB Feld Filter setzen in CUE-Table (Version R2)

24. April 2017 15:52

BLOB-Felder müssen vor Verwendung (HASVALUE) erst mit CALCFIELDS berechnet werden.

Re: Auf BLOB Feld Filter setzen in CUE-Table (Version R2)

24. April 2017 16:04

Natalie hat geschrieben:BLOB-Felder müssen vor Verwendung (HASVALUE) erst mit CALCFIELDS berechnet werden.


Ich bin der Meinung das wurde Irgendwann entfernt. In 2015 musste ich dies schon nicht mehr machen.

Gerade gefunden... mit 2009 entfernt:
http://forum.mibuso.com/discussion/60221/hasvalue-and-calcfields-order

Re: Auf BLOB Feld Filter setzen in CUE-Table (Version R2)

24. April 2017 17:04

Hallo,

den CALCFIELDS DARF man NICHT machen, wenn man z.B. mit TempBLOB arbeitet, das BLOB- Feld nur zugewiesen hat, und jetzt prüfen möchte ob Daten drin sind.

Gruß Fiddi

Re: Auf BLOB Feld Filter setzen in CUE-Table (Version R2)

25. April 2017 10:26

Hallo zusammen,

danke für die Antworten. Ich bin jetzt nach mehrfachem Testen und nochmal probieren zu dem Entschluss gekommen das so etwas wie ich brauche leider nicht realisierbar ist.