(GELÖST) Flow Fields, Wie war das doch gleich?

8. Februar 2007 00:20

Hallo Leute,

nochmal eine Newbie Frage:

Ich habe 3 Spalten vom Typ Integer z.B.

Eingang (1000 €)
Ausgang (300 €)
Differenz (700 €)

Ich habe jetzt jeweils im Onvalidate Trigger bei jedem Feld die Berechnung drin:

Differenz = Eingang - Ausgang;

Dann berechnet er mir halt jeweils den Wert in der Spalte Differenz wenn ich was bei Eingang oder Ausgang Eintrage.

Jetzt meine Frage, kann man das auch mit Flowfields machen? Bei der Calc Formula kann man ja nur jeweils angeben welche Spalte man zählen möchte aber eine Berechnungsformel in dem Sinne +/- usw. kann man ja nicht hinterlegen???? Was ist das eigentlich bei den Keys, "SumIndexField"!?

Was ist denn der Sinn der Flow Fields im Gegensatz zu der o.G. Möglichkeit Berechnungen auszuführen?
Zuletzt geändert von tesarolle am 12. Februar 2007 17:35, insgesamt 1-mal geändert.

8. Februar 2007 09:32

Es stimmt, du kannst mit FlowFields eine derartige Berechnung nicht durchführen, auch wenn die dazu gehörige Field-Property "CalcFormula" heißt *grummel*

SumIndexFields brauchst du, wenn du tatsächlich Summen von einem Feld automatisch berechnen lassen möchtest (also z.B. in einem FlowField in der CalcFormula die Art "Sum" hast).
Zuletzt geändert von Natalie am 8. Februar 2007 10:28, insgesamt 1-mal geändert.

8. Februar 2007 09:38

Mahlzeit,

dein Ansatz ist für den Fall ok. Sofern du in dem Feld nicht filtern möchtest kannst du es auch direkt in einer Form Berechnen. Also ein Feld definieren mit der "SourceExpr=Eingang-Ausgang". Vorteil dabei ist, dass du keine redundanten Daten mitschleppst. Nachteil allerdings, dass man auf dieses Feld dann nicht filtern kann.

FlowFields beziehen sich (normalerweise) auf andere Tabellen. Also z.B. das aufsummieren von Werten einer anderen Tabelle aufgrund von Filtereinschränkungen die man in der CalcFormula angibt.

Beispiel (Feld Inventory, Tabelle Item) vereinfacht:
Code:
Sum("Item Ledger Entry".Quantity WHERE (Item No.=FIELD(No.),Location Code=FIELD(Location Filter),Variant Code=FIELD(Variant Filter),Posting Date=FIELD(Date Filter)))


Hier werden alle Mengen Felder der Artikelposten summiert, die

1. Die Artikelnummer haben
2. In den Lagerortfilter fallen
3. Der gefilterten Variante entsprechen
4. usw.

Die Summe dieser Berechnung siehst du auf der Artikelkarte.
In der Tabelle Artikelposten ist u.a. das Feld Quantity als SumIndexField in einigen Keys definiert. Sum() FlowFields können nur auf solche Felder verweisen.

Bin noch nicht ganz wach, hoffe es ist verständlich.

8. Februar 2007 10:11

Guten Morgen,

so ganz klar ist es mir noch nicht.

Wie wäre das z.B. in meinem folgenden Beispiel zu lösen.

Ich habe 3 Datensätze in der Tabelle Wareneingang:

Vorgangs- lfd. Nr. Eingang Berechnung
nummer:

147 1 100
147 2 300
148 3 500

Und nun möchte ich in einer fremddem TAbelle (Lager) das Feld Berechnung als Flow Field definieren. Ich möchte darin berechnen das die Vorgangsnummern zusammengefasst werden und als eine Summe dargestellt werden.

Dann müsste ich in der Tabelle wareneingang das Feld Berechnung als "Sumindex" angeben?

Und wie sieht die Calcformula dann aus in meiner Tabelle LAger?

Ich glauibe wenn ich ein Beispiel hätte würe ich es eher verstehen :-)