Wert mit C/AL Code setzen

Bild Microsoft Dynamics NAV 4.xx
(ehem. Microsoft Business Solutions-Navision)

Wert mit C/AL Code setzen

Beitragvon SEA991 » 4. Februar 2013 17:03

Hallo,
Also ich habe ein neues Feld in einer Tabelle definiert und jetzt möchte ich, dass der Wert automatisiert gesetzt wird. Da mir die "Calc Formula" Möglichkeiten nicht ausreichen, möchte ich das mit C/AL realisieren.

GruĂź, SEA991
SEA991
 
Beiträge: 5
Registriert: 4. Februar 2013 16:54
Bezug zu Microsoft Dynamics: SchĂĽler / Student
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: V4.0

Re: Wert mit C/AL Code setzen

Beitragvon JanGD » 28. Februar 2013 13:25

Was ist das für ein Feld und was für einen Wert möchtest Du es vorblegen?
JanGD
 
Beiträge: 1765
Registriert: 19. März 2008 12:33
Arbeitsort: NRW
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2013R2

Re: Wert mit C/AL Code setzen

Beitragvon Sebastian Pfliegel » 28. Februar 2013 14:47

Und an welcher Stelle bzw. an welchem Zeitpunkt möchtest du das tun? Wenn ein neuer Datensatz angelegt wird, etc.?
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: Wert mit C/AL Code setzen

Beitragvon SEA991 » 1. März 2013 18:41

Das Feld enthält einen ganz normalen Integer. Ich möchte, das es wie bei CalcFormula berechnet wird, also immer wenn die Tabelle aufgerufen wird.
SEA991
 
Beiträge: 5
Registriert: 4. Februar 2013 16:54
Bezug zu Microsoft Dynamics: SchĂĽler / Student
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: V4.0

Re: Wert mit C/AL Code setzen

Beitragvon Timo Lässer » 1. März 2013 21:53

SEA991 hat geschrieben:Das Feld enthält einen ganz normalen Integer. Ich möchte, das es wie bei CalcFormula berechnet wird, also immer wenn die Tabelle aufgerufen wird.

Sebastian Pfliegel hat geschrieben:Und an welcher Stelle bzw. an welchem Zeitpunkt möchtest du das tun? Wenn ein neuer Datensatz angelegt wird, etc.?
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5274
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: Wert mit C/AL Code setzen

Beitragvon JanGD » 4. März 2013 09:15

Frage ist auch: Was reicht dir an calc formula nicht? Ließe es sich über ein FlowFilter lösen?
JanGD
 
Beiträge: 1765
Registriert: 19. März 2008 12:33
Arbeitsort: NRW
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2013R2

Re: Wert mit C/AL Code setzen

Beitragvon Sebastian Pfliegel » 5. März 2013 11:23

Ja, dann sag uns doch mal in welcher Tabelle das Feld soll und was genau berechnet werden soll.
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: Wert mit C/AL Code setzen

Beitragvon SEA991 » 19. März 2013 19:01

Ganz allgemein, weil das Problem hab ich öfters:
In dem einen Feld soll z.B. der Wert eines anderen Feldes mit 10 addiert stehen (nur mal so als Beispiel!!). Ich stell mir das so vor wie bei Excel.
Im Feld A1 steht 10 drin und in B1 steht die Formel "=A1 + 10". Sobald sich der Wert in A1 ändert, ändert sich auch der Wert in B1.

Hoffe, ihr könnt mir witerhelfen.
SEA991
 
Beiträge: 5
Registriert: 4. Februar 2013 16:54
Bezug zu Microsoft Dynamics: SchĂĽler / Student
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: V4.0

Re: Wert mit C/AL Code setzen

Beitragvon Sebastian Pfliegel » 20. März 2013 10:39

Einen Wert in ein Feld setzen ist ein einfaches MEINFELD := WERT. Du musst halt nur wissen an welcher Stelle das passieren soll. Du könntest im OnValidate-Trigger deines Feldes auf dem der andere Wert beruht diesen Code schreiben:

OnValidate - MeinFeld
Code: Alles auswählen
NeuesFeld := MeinFeld + 10;
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: Wert mit C/AL Code setzen

Beitragvon Timo Lässer » 20. März 2013 12:00

Sebastian Pfliegel hat geschrieben:Du könntest im OnValidate-Trigger deines Feldes auf dem der andere Wert beruht diesen Code schreiben:

Problematisch wird es jedoch dann, wenn dein "Ausgangfeld" unter anderem durch Programmcode gefüllt wird, welcher nicht den OnValidate-Trigger des Feldes anstößt.
Dann wird nämlich ein Wert in das Feld geschrieben, ohne dass dein (darauf basierendes) Feld aktualisiert wird.

Solche Programmstellen gibt es unzählige Male in der gesamten Anwendung.
Diese zu finden ist fast unmöglich, wenn man kein "Navision Developer's Toolkit", "Object Manager" oder sonstiges "Where-used"-Tool hat.
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5274
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: Wert mit C/AL Code setzen

Beitragvon SEA991 » 20. März 2013 13:01

Also erstmal vielen vielen Dank fĂĽr eure Hilfe das hier ist ein super Forum. :-D
Das mit dem onvalid Trigger hab ich schon ausprobiert, funktioniert auch eigentlich ganz gut, ABER dazu muss ich diesen erstmal für jeden Datensatz auslösen und das dauert ziemlich lang. Wäre möglich, aber es gibt bestimmt eine bessere lösung für sowas.
SEA991
 
Beiträge: 5
Registriert: 4. Februar 2013 16:54
Bezug zu Microsoft Dynamics: SchĂĽler / Student
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: V4.0

Re: Wert mit C/AL Code setzen

Beitragvon Timo Lässer » 20. März 2013 13:33

SEA991 hat geschrieben:ABER dazu muss ich diesen erstmal für jeden Datensatz auslösen und das dauert ziemlich lang. Wäre möglich, aber es gibt bestimmt eine bessere lösung für sowas.

Das ist immer das Problem, wenn man neue Felder in einer Tabelle hinzufĂĽgt, welche auf Basis von anderen Feldern "nachversorgt" werden mĂĽssen.
Genau fĂĽr solche Szenarien habe ich mir mal einen Report geschrieben, welchen ich hier auch zum Download anbiete.
Gruß, Timo Lässer

Frage beantwortet? Schreibe bitte "[Gelöst]" vor den Titel deines ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, E-Mail, Instant Messanger, Soziale Netzwerke, Telefon oder Fax! DafĂĽr ist dieses Forum da.
Hier kannst du fĂĽr MSDynamics.de spenden.
Benutzeravatar
Timo Lässer
Administrator
Administrator
 
Beiträge: 5274
Registriert: 14. November 2004 22:18
Wohnort: DE 49716 Meppen
Arbeitsort: DE 49733 Haren (Ems)
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 1.10a - 2018, BC14, BC21

Re: Wert mit C/AL Code setzen

Beitragvon Sebastian Pfliegel » 20. März 2013 14:04

Wie Timo schon geschrieben hat, ist es natĂĽrlich dann notwendig wenn ein neues Feld hinzugefĂĽgt wird, dass dieses dann auch initial gefĂĽllt wird. Zum Beispiel mit dem genannten Report ;)
Sebastian Pfliegel
 
Beiträge: 792
Registriert: 25. Februar 2008 12:59
Realer Name: Sebastian
Arbeitsort: Schwabach
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 4.0

Re: Wert mit C/AL Code setzen

Beitragvon SEA991 » 25. März 2013 11:17

@Timo Lässer: danke für den Report werd den gleich mal ausprobieren.
SEA991
 
Beiträge: 5
Registriert: 4. Februar 2013 16:54
Bezug zu Microsoft Dynamics: SchĂĽler / Student
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: V4.0


ZurĂĽck zu NAV 4.xx

Wer ist online?

Mitglieder in diesem Forum: Unbekannter Robot, Unbekannter Spider, Yandex [Bot] und 1 Gast

cron