CALCSUMS(Gelöst!)

Bild Microsoft Dynamics NAV 3.xx
(ehem. Navision Attain)

CALCSUMS(Gelöst!)

Beitragvon NAVGATOR » 15. Januar 2009 22:40

..ist eigentlich ein wirklich toller Befehl( berechnet Spaltensumme eines vorher abgrenzten Feldes)
aber NAV meckert weil angeblich SchlĂĽssel falsch gesetzt sind, Beispiel.


Projektposten.SETCURRENTKEY("Entry No.", "Job No.", "Posting Date","Type");
Projektposten.SETRANGE(Projektposten."Job No.", "Job No."= Nummer) // Nummer ist eine Variable deren Wert ich in einen Textfeld eingebe vom Typ Text
Projektposten.CALCSUMS("Total Cost"); // Total Cost habe ich bei dem Key, den ich oben verwende als SumIndex Field angegeben ( im Table Projektposten). Muss ich den auch angeben?

Es kommt hierbei zu einer Fehlermeldung : Die Variable nach der sie abgrenzen ist nicht im definierten SchlĂĽssel.
Mach schon drei Tage an dieser Programmierung rum, Chef will Ergebnis, Supportfirma teuer, im Informatikstudium lernt man das sowie so nicht ,
Wer helfen kann ist ein Schatz!

Wie komme ich dann an den Wert der Summe( möchte den Wert als Decimal in einer Variable). Kann man eine Spaltesumme auch anders implemtieren (rekursiv????)?
Zuletzt geändert von NAVGATOR am 16. Januar 2009 18:10, insgesamt 1-mal geändert.
NAVGATOR
 
Beiträge: 189
Registriert: 15. Januar 2009 22:26
Realer Name: Alex
Arbeitsort: Neuried
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: BC18

Re: CALCSUMS

Beitragvon Kowa » 16. Januar 2009 00:44

Um "Job No." auf die Nummernvariable zu filtern :
Code: Alles auswählen
Projektposten.SETRANGE("Job No.", Nummer)


Aus ("Job No."= Nummer) wird ein boolscher RĂĽckgabewert, TRUE wenn beide Werte ĂĽbereinstimmen, FALSE wenn nicht. Solche AusdrĂĽcke werden viel als Abbruchbedingungen in Schleifen verwendet, zum Filtern eher selten, und wenn , dann eben nur auf Boolean-Felder.
GruĂź, Kai

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, Messenger oder Telefon! DafĂĽr ist dieses Forum da.

Download: Dynamics NAV Object Text Explorer (Alternativlink). MVP Alumni
Benutzeravatar
Kowa
Moderator
Moderator
 
Beiträge: 7835
Registriert: 17. Juni 2005 17:32
Wohnort: Bremen
Realer Name: Kai Kowalewski
Arbeitsort: Osterholz-Scharmbeck
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: BC, NAV 2018 bis Navision 2.01

Re: CALCSUMS

Beitragvon MatthiasKönig » 16. Januar 2009 07:44

nur als Nebeninfo:

ich glaube was du versucht hast war
Code: Alles auswählen
Projektposten.SETFILTER(Projektposten."Job No.", '=%1',  Nummer)

das wuerde dem was du geschrieben hast am ehsten nah kommen wobei das genau das selbe ist, wie das was Kowa gesagt hat!

so koennte man z.B. auch
Code: Alles auswählen
Projektposten.SETFILTER(Projektposten."Job No.", '<>%1',  Nummer)

machen, wenn man wollte :)


GruĂź Matthias
Benutzeravatar
MatthiasKönig
Microsoft Partner
Microsoft Partner
 
Beiträge: 421
Registriert: 5. März 2008 08:15
Realer Name: Matthias König
Arbeitsort: MĂĽnster
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics 365

Re: CALCSUMS

Beitragvon McClane » 16. Januar 2009 09:22

NAVGATOR hat geschrieben:Wie komme ich dann an den Wert der Summe( möchte den Wert als Decimal in einer Variable). Kann man eine Spaltesumme auch anders implemtieren (rekursiv????)?


An die Summe kommst du nach dem Calcsums ganz einfach: Summe:=Projektposten("Total Cost").

Eine Reihe von Werten aufzusummieren ist nicht wirklich für eine rekursive Berechnung prädestieniert, denke ich.

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
McClane
Moderator
Moderator
 
Beiträge: 3864
Registriert: 2. April 2008 10:00
Realer Name: Stefan
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2009, 2016

Re: CALCSUMS

Beitragvon NAVGATOR » 16. Januar 2009 10:45

Code: Alles auswählen
 IF Nummer <>'' THEN BEGIN
SETCURRENTKEY("Job No.");
 SETRANGE("Job No.", Nummer);
    ProPosten.CALCSUMS("Total Cost");
      Ges:=ProPosten."Total Cost";
          END;




Danke fĂĽr die Tipps!
So habe ich es momentan geschrieben
es funkioniert schon fast. Leider werden aber nicht die Summe der Projekte mit "Nummer" berechnet
( habe an einen Beispiel die Summe in Excel berechnet.)
Es kommt zu einen viel zu hohen Wert fĂĽr Ges

An die Summe kommst du nach dem Calcsums ganz einfach: Summe:=Projektposten("Total Cost").







funktioniert so nicht. Projektposten ( oder ProPosten sind Recordvariablen, keine Funktionen!)
NAVGATOR
 
Beiträge: 189
Registriert: 15. Januar 2009 22:26
Realer Name: Alex
Arbeitsort: Neuried
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: BC18

Re: CALCSUMS

Beitragvon McClane » 16. Januar 2009 12:19

McClane hat geschrieben:funktioniert so nicht. Projektposten ( oder ProPosten sind Recordvariablen, keine Funktionen!)

Schande ĂĽber mich. Ohne Klammern war gemeint.

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
McClane
Moderator
Moderator
 
Beiträge: 3864
Registriert: 2. April 2008 10:00
Realer Name: Stefan
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2009, 2016

Re: CALCSUMS

Beitragvon NAVGATOR » 16. Januar 2009 14:23

Es kommt weiterhin zu Fehlermeldungen. Was könnte falsch sein?
Dateianhänge
PPosten Alg.txt
(811 Bytes) 12-mal heruntergeladen
SchlĂĽssel.JPG
NAVGATOR
 
Beiträge: 189
Registriert: 15. Januar 2009 22:26
Realer Name: Alex
Arbeitsort: Neuried
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: BC18

Re: CALCSUMS

Beitragvon NAVGATOR » 16. Januar 2009 15:14

jetzt gehts !

Code: Alles auswählen
 
IF Nummer <>'' THEN BEGIN
 SETCURRENTKEY("Job No.");
    SETRANGE("Job No.", Nummer);
    CALCSUMS("Total Cost");
           Ges:= "Total Cost";
     
       END;


so werden die richtigen Summen gebildet. Vielen dank allerseits fĂĽr die Tipps!
NAVGATOR
 
Beiträge: 189
Registriert: 15. Januar 2009 22:26
Realer Name: Alex
Arbeitsort: Neuried
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: BC18


ZurĂĽck zu NAV 3.xx

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron