[Gelöst] Filtern eines Flowfields mit 1:n

10. März 2011 16:11

Hallo zusammen,

bin mal wieder an einem Punkt angelagt, an dem ich einfach mal nachfragen muss bevor ich etwas versuche das gar nicht geht.

Folgendes Szenario:

ich hab 2 Tabellen...

Die Artikeltabelle 27 mit Artikelnummer als key

Dann die "50007 Merkmale" mit Artikelnummer und Merkmalcode.
In dieser Tabelle sind jedoch 1:n Beziehung möglich und vorhanden.
Also

Artikelnummer; Merkmal
1000; MerkmalA
1000; MerkmalB
1000; MerkmalC

Ich habe nun ein Flowfield bei der Tabelle 27 gebaut, welches mir den Wert eines Merkmals zurückgibt.
Das ist auch toll soweit.

Die Anforderung ist jedoch jedoch in der Tabelle 27 einen Filter auf ein Merkmal anwenden zu können.
Als Ergebnis sollte die Tabelle 27 dann auf die Artikel gefiltert sein, bei denen in Tabelle 50007 das Merkmal gepflegt ist.

Später sollte das dann natürlich auch über die entsprechende Page gefiltert werden.

Ich hab versucht mich an der Methodik der Barcodes zu orientieren. Die Pflege ist nämlich da genauso. Es kann mehrer EANs pro Artikelnummer geben, die
in der Tabelle genauso abgebildet werden. Das blöde ist nur, dass man zwar in der Übersicht einen der Barcodes angezeigt bekommt, jedoch auf dieses Feld nicht filtern kann, weil es direkt in der Page abgefragt wird und in der Tabelle kein Feld gibt.

Ich hoffe ihr habt ein paar kreative Inspirationen :)

Viele Grüße
Dennis
Zuletzt geändert von x-designs am 10. März 2011 23:30, insgesamt 1-mal geändert.

Re: Filtern eines Flowfields mit 1:n

10. März 2011 16:30

x-designs hat geschrieben:Die Anforderung ist jedoch jedoch in der Tabelle 27 einen Filter auf ein Merkmal anwenden zu können.
Als Ergebnis sollte die Tabelle 27 dann auf die Artikel gefiltert sein, bei denen in Tabelle 50007 das Merkmal gepflegt ist.


Angenommen, dein Artikel hat drei Merkmale zugewiesen bekommen: A, B und C.
Der Benutzer möchte in einem FlowFilter Merkmal = A setzen, und danach sollen nur dann die Artikel angezeigt werden, welche (mind.) das Merkmal A zugewiesen haben?
Gibt es eigentlich eine übergeordnete Merkmalstabelle, die als Primärschlüssel nur ein Feld hat?

Dann benötigst du
a) ein neues FlowFilter-Feld: mit TableRelation auf die Merkmalstabelle (nicht Tabelle 50007). TableRelation kann auch weggelassen werden, nur dann kann der Benutzer keinen Lookup auf bestehende Merkmale machen und es findet auch keine Plausibilitätsprüfung mehr statt.
b) ein neues FlowField: z.B. Count auf Tabelle 50007, Filter auf Artikelnr. setzen und Merkmalscode = FlowFilter-Feld.

Wenn der Benutzer nun also den FlowFilter setzt, dann kann er die Artikel eingrenzen indem er auf das neue FlowField > 0 filtert.

Re: Filtern eines Flowfields mit 1:n

10. März 2011 17:11

Hallo Natalie,

zuerst mal Danke für die Hilfe.
Ich bin mir jetzt zwar nicht sicher ob wir uns richtig verstanden haben, aber ich versuchs mal zu deuten...

Angenommen, dein Artikel hat drei Merkmale zugewiesen bekommen: A, B und C.
Der Benutzer möchte in einem FlowFilter Merkmal = A setzen, und danach sollen nur dann die Artikel angezeigt werden, welche (mind.) das Merkmal A zugewiesen haben?

Ganu das ist der Fall... Also Beispiel: Ich möchte in der Kassenartikelübersicht wissen welche Artikel alle das Merkmal A haben.
Die Abfrage muss ja dann so aussehen... Schau in Tabelle 50007 und suche in Spalte Merkmale nach Merkmal A (Filter auf Merkmal A).
Dann nimm die Artikelnummer die in den Zeilen der Merkmale stehen und übergib diese an die Kassenartikelübersicht und zeige nur diese Artikel an.

Es gibt eine Tabelle in denen die Merkmale an sich gepflegt werden... In dieser werden auch Beschreibungen usw, gepflegt. Die Beziehung zwischen Artikelnummer und Merkmal findet jedoch in der 50007 statt...

Ich verusch mal derweil deinen Lösungsvorschlag umzusetzen...

Das mit dem > 0 ist mir nicht ganz klar... Es soll ja nicht gefiltert werden ob es ein Merkmal gibt, sondern nach éinem bestimmten Merkmal gefiltert werden.

Grüße
Dennis

Re: Filtern eines Flowfields mit 1:n

10. März 2011 17:30

x-designs hat geschrieben:Das mit dem > 0 ist mir nicht ganz klar... Es soll ja nicht gefiltert werden ob es ein Merkmal gibt, sondern nach éinem bestimmten Merkmal gefiltert werden.

Das bestimmte Merkmal wird doch mit Hilfe des FlowFilters gefiltert. Probiers einfach mal aus, vielleicht ist es dann klarer.
Wenn das FlowField fertig ist und du testest die Artikelkarte, ruf mal den Drilldown deines neuen FlowFields auf.

[Gelöst] Re: Filtern eines Flowfields mit 1:n

10. März 2011 23:30

Natalie du bist genial,

probier es einfach mal aus...


Ich hab jetzt ne weile probiert, bis ich die Lösung gefunden habe... Habe festgestellt, das klappt Abends bei ner Tasse Tee besser als mit trouble im Geschäft :)

Klappt nun einwandfrei... Der Clou lag nur am Flowfield... Da hatte ich mich irgendwie schwer getan.

Hier mal der Code vom CalcFormula: Count(Artikelmerkmale WHERE (Artikelnr.=FIELD(No.),Code=FIELD(Merkmale)))

Das wars ^^

Ich sag mal tausend Dank.

Nun hab ich das NAV wieder ein stückchen lieber :)

Grüße
Dennis