[Gelöst] FLOW Field will nicht so wie ich will...

2. April 2008 16:17

Hallo,

ich habe eine Tabelle aus einem externen System (Buchungstabelle).

Ich möchte nun die Spalte EINGANG pro Artikel summieren.

Spalte EINGANG ist decimal, und ARTIKELNR ist Text30. Den Datentyp bei ARTIKELNR kann ich nicht ändern.

Wie muss ich das in der CalcFormula machen, das er mir also alle Zeilen mit identischer ARTIKELNR filtert und je Artikel die Summe bildet?

Viele Grüße
Tesa.
Zuletzt geändert von tesarolle am 3. April 2008 14:16, insgesamt 1-mal geändert.

2. April 2008 16:23

Du möchtest also in der Artikel-Tabelle ein FlowField anlegen, das dir die Summe aus der Buchungstabelle für den jeweiligen Artikel bildet?

Als erstes brauchst du einen neuen Schlüssel auf der Tabelle Buchungstabelle, sofern noch nicht vorhanden: ARTIKELNR.
Dieser Schlüssel braucht als SumIndexField das Feld EINGANG.

Nun zurück zur CalcFormula im Artikelfeld:
Klick auf den AssistButton.
Method = Sum
Table = Buchungstabelle
Field = EINGANG
TableFilter -> Assist-Button.
Gib dort ein:
Field = ARTIKELNR
Type = FIELD
Value = No.

Nun noch alles mit OK bestätigen.
Eigentlich ganz einfach :-)
Zuletzt geändert von Natalie am 2. April 2008 16:38, insgesamt 1-mal geändert.

2. April 2008 16:36

Hallo Natalie,

da bekomme ich die Meldung:

Feld: ARTIKELNR <-- NR
Tabelle: STAT0000 <-- STAT0000
Typ: Text30 <-- Integer

Das Problem ist halt das die Artikelnr vom Typ her TEXT ist und ich den Datentyp wie gesagt nicht ändern kann (ist eine externe Datenbank mit anderem System).

Dann geht das wohl gar nicht mit dem Flow Field...

Gibts noch ne andere Möglichkeit das zu berechnen?

2. April 2008 19:17

Hast du versucht, das FlowField auf der Tabelle Buchungstabelle anzulegen?
Das geht wie gesagt nur beim Artikel, Tabelle 27! Ich frage deswegen, weil mich Typ:Text30 <- I N T E G E R stutzig macht.

3. April 2008 10:16

Guten Morgen Natalie,

es ist keine Standardnavision Tabelle.

Es ist eine Sicht welche die Daten aus einer anderen Datenbank zieht. Und diese Sicht ist als Tabelle in Navision drin. Und in dieser Sicht will ich das mit dem Flow Field machen.

Es würde auch reichen wenn ich das Flow Field in einer anderen Tabelle anlege hauptsache ich bekomme das berechnet!

Ach so, in dieser externen dummen DB ist die ARTIKELNR Text 30! Das ist ja das schlimme!

3. April 2008 10:24

Leider habe ich keine Ahnung, wie es sich mit Tabellen verhält, die eigentlich nur Sichten sind.
Ich halte das Format von ARTIKELNR nicht so sehr für das Problem ... Kannst du in der NAV-Tabelle den Wert eigentlich auf Code 20 umstellen? Denn eine Konvertierung von Text zu Code sollte kein Problem darstellen.

3. April 2008 10:33

salut tesarolle. versuch es mal hiermit:

Method = Sum
Table = Buchungstabelle
Field = EINGANG
TableFilter -> Assist-Button.
Gib dort ein:
Field = ARTIKELNR
Type = FIELD
Value = ARTIKELNR

gruss
boris

3. April 2008 11:20

Hallo Natalie,

die Felder können ganz normal behandelt werden wie in einer Navision Tabelle auch, der Unterschied ist das ich den Datentyp nicht einfach ändern kann.

Das mit dem Code Datentyp geht aber! Ich habe mal einen Screenshot wie das momentan aussieht, leider kommt immer noch die Fehlermeldung.

Hallo Neo, das bringt leider nicht das gewünschte Ergebnis, die Calc Formula von Natalie ist schon richtig...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

3. April 2008 11:28

Nochmal:
Das FlowField gehört nicht in die Buchungstabelle, sondern muss in der Tabelle 27 Item angelegt werden! Beispiel: das FlowField Lagerbestand findest du schließlich auch nicht in der Tabelle Artikelposten, sondern Artikel.

Da du aber scheinbar das Feld unbedingt in der Buchungstabelle haben möchtest, kann nur der Vorschlag von neoroot die einzige Change sein.
Habe allerdings noch niemals versucht, ein FlowField anzulegen, das die gleiche Tabelle ausliest, in der es angelegt ist.

3. April 2008 11:29

Hm... sorry, aber unter Filter steht ja: "artikelnr = field(nr)" - das kann nicht funktionieren, artikelnr ist vom Typ Code und Nr. vom Typ integer. - Daher auch die Fehlermeldung, die genau dies besagt ;)

Gruss
Boris

P.S. Ich Nehme mal an "Nr." ist eine fortlaufende Nummer und sollte auch der Primary Key sein. - Dies ist aber bei dem Screenshot nicht der Fall. Meines Wissens ist immer der erste Schlüssel in der Tabelle der Primary-Key; solltest das also eventuell noch ändern.

3. April 2008 11:31

Stimmt, die Reihenfolge der Schlüssel passt nicht :-)

3. April 2008 11:35

Hallo Natalie

Habe allerdings noch niemals versucht, ein FlowField anzulegen, das die gleiche Tabelle ausliest, in der es angelegt ist.


Ich schon, und es funktioniert. Habe aber keine Ahnung, ob das auch performant ist.

3. April 2008 14:18

Ihr habt beide Recht, allerdings lässt isch das Problem nicht lösen.

Wenn ich die NR als Primärschlüssel nehme, das funktioniert.

Nehme ich dann meine ARTIKELNR mit SUmindex EINGANG bekomme ich eine SQL Server Fehlermeldung, vermutlich kann man in einer TAbelle die auf einer Sicht beruht keine SumindexFields anlegen welche nicht Primärschlüssel sind.

Um mein Problem zu lösen werde ich es also ohne Flow Field machen, ich brauche den aktuellen Summenwert eigentlich nur zu einem Zeitpunkt in dem das der Anwender abfragt pro Datensatz.

Habe aber ein neues Thema aufgemacht sonst wird das hier zu verwirrend.

http://www.msdynamics.de/viewtopic.php?p=22470#22470

Vielen DAnk Euch beiden!!!