[gelöst] eingeschränkte Filterung

7. Dezember 2011 10:17

Hallo zusammen, ich möchte gerne in einem Bericht zum Teil komplette Artikelkategorien als auch nur bestimmte Produktgrupppen aus bestimmten Artikelkategorien haben.

Mein Ansatz war:
Code:
Im OnPreDataItem
Tabelle.SETFILTER("Item Category Code",'X|Y|Z');
IF  "Item Category Code" = 'X|Y' THEN
Tabelle.SETFILTER("Product Group Code",'a..b|c');


Leider greift die Einschränkung auf den Produktgruppencode nicht. Was stimmt hier nicht?
Zuletzt geändert von misterelektro1981 am 7. Dezember 2011 13:13, insgesamt 1-mal geändert.

Re: eingeschränkte Filterung

7. Dezember 2011 10:27

Im OnPreDataItem-Trigger so etwas zu schreiben
Code:
IF  "Item Category Code" = 'X|Y' THEN

ist ohne Wirkung.

Re: eingeschränkte Filterung

7. Dezember 2011 11:21

Hallo,

ich hatte dann auch versucht den Code
Code:
IF  "Item Category Code" = 'X|Y' THEN
Tabelle.SETFILTER("Product Group Code",'a..b|c');

Im OnAfterGeTRecord und auch im OnPost Trigger zu plazieren, blieb aber ohne Wirkung. Ist es denn von der codetechnsichen Seite richtig geschrieben oder muss man das anders schreiben?
Zuletzt geändert von misterelektro1981 am 7. Dezember 2011 11:38, insgesamt 2-mal geändert.

Re: eingeschränkte Filterung

7. Dezember 2011 11:36

misterelektro1981 hat geschrieben:ich hatte dann auch versucht den CodeIm OnAfterGeTRecord und auch im OnPost Trigger zu plazieren

Bitte verstehe erst die Funktionsweise von Triggern, anstatt sie wahllos auszuprobieren: viewtopic.php?f=19&t=10806#Trigger

Re: eingeschränkte Filterung

7. Dezember 2011 11:40

Danke Natalie für den Hinweis. Das macht mir nun etwas klarer die Arbeitsweise von Triggern.

Dann sollte es doch so gehen, oder hab ich da wieder einen Denkfehler?

Code:
IF "Item Category Code" = 'NT' THEN
Item.SETFILTER("Product Group Code",'NT04|NT06');
IF "Item Category Code" = 'MH' THEN
Item.SETFILTER("Product Group Code",'MH03..MH06');
IF "Item Category Code" = 'KL' THEN
Item.SETFILTER("Product Group Code",'KL01|KL04');


Dieser Code steht im OnAfterGetRecord am Ende. Das Problem dabei ist, dass immer nur das erste abgearbeitet wird, d.h. MH und KL tauchen komplett garnicht mehr auf. Wie stelle ich das richtig an?