[Gelöst]Daten von Navision ins Word

29. Oktober 2008 12:06

Hallo Leute!

Ich habe die aufgabe bekommen aus einen Form daten zu holen durch einen report filtrieren und ins word schreiben!
Ich habe ein paar infos in diese Foren gelesen die ich später bestimmt brauchen werde, aber ich bin ein anfänger und deswegen wollte ich euch fragen:
mir ist klar dass ich ein Report erstellen muss und da die Parameter festlegen fur den Filter!
Was mir nicht klar ist ob ich eine ganze Codeunit selbst schreiben muss oder einfach Die Codeunit 5054 Wordmanagement nutzen um den ganzen zeug zu machen.
Wenn ich den Codeunit 5054 benutzen soll Soll ich da anpassungen machen oder im report?

Für irdgendwelche Tips werde ich sehr Dankbar sein
(Microsoft Navision Version DE 4.00 SP3)
Lg

Alva
Zuletzt geändert von alva am 4. November 2008 13:44, insgesamt 1-mal geändert.

Re: Daten von Navision ins Word

30. Oktober 2008 18:12

Also ich habe es hinbekommen.

Ich stelle jetzt ein paar tips für die Leute wie ich die gerade angefangen habe mit dieser Integration:

1.Erstmal in Word ein template bzw. vorlage erstellen und speicher (z.B.Dokument.dot)

2.Da Felder definieren:
Ansicht > Symbolleisten > Formular
Auf AB drücken und Feld wird in der Vorlage hinterlegt diesen Feld markieren und auf eigenschaften gehen,
und beim feld TEXTMARKE den Name von dem variable (ich habe den Beispiel im thread:
[url ]http://www.msdynamics.de/viewtopic.php?f=33&t=2360[/url] genommen da haben wir die variablen
Item (1) und Item(2).im Word aber die TEXTMARKE ohne klammern z.B.Item1).
So Viele Felder definieren wie gewunscht. Vorlage nochmal speicher.
3.Neue Codeunit erzeugen und Code implementieren(habe den Code von den oben gennante thread ausprobiert)

Das alles im Word 2000, wenn man mit Word 2003 und Höher arbeiten will gibt es ein anderen weg die Aufgelistet ist im "Application Designer's GUide" von Nav 5.00 kapitel 19 Extending C\AL

Lg

Alva

Re: Daten von Navision ins Word

3. November 2008 13:48

Habe Mein Codeunit fast fertig, dass einzigste Problem ist Wenn ich die daten ins word übertrage und word schliesse und nochmal auf den Button drücke die Mein Codeunit aufruft, gibt eine fehlermeldung:

Das Ole Control gab zurück eine unbekannte Meldung.

Habe den Zeug debugged and beim zweiten mal spring ein Fehler beim

WordDoc := WordApp.Documents.Add(TemplateName);

weisst jemand wie ich diesen Fehler beheben kann??

Lg


Alva

Re: Daten von Navision ins Word

3. November 2008 15:25

klingt fast so, als ob die automationvariablen vor dem 2. Aufruf noch in Verwendung sind, am besten du clearst sie vor dem Aufruf, oder besser noch, du verwendest lokale variablen.
(ist aber nur geraten)

Re: Daten von Navision ins Word

3. November 2008 17:38

tba hat geschrieben:klingt fast so, als ob die automationvariablen vor dem 2. Aufruf noch in Verwendung sind, am besten du clearst sie vor dem Aufruf, oder besser noch, du verwendest lokale variablen.
(ist aber nur geraten)

@tba, es hat super geklappt vielen Dank

Alva

Re: [Gelöst]Daten von Navision ins Word

13. Juni 2009 13:45

auch wenn der thread älter ist , meine frage passt an dieser stelle:' (im Notfall löschen...)

wie ist es mit globalen variablen ? wenn zb die form die sie trägt geschlossen wird sind diese doch automatisch gecleared , dasselbe gilt auch für reports oder?

hab da schon echt unheimliche Sachen erlebt als ich vergessen habe globale Variablen zu clearen :roll:

Re: [Gelöst]Daten von Navision ins Word

14. Juni 2009 09:21

dayscott hat geschrieben:auch wenn der thread älter ist , meine frage passt an dieser stelle:
Aus dem Grund schließen wir keine alten/gelösten Themen.

dayscott hat geschrieben:wie ist es mit globalen variablen ? wenn zb die form die sie trägt geschlossen wird sind diese doch automatisch gecleared , dasselbe gilt auch für reports oder?
Prinzipiell stimmt das schon, was du schreibst, jedoch keine Regel ohne Ausnahme:
Rufst du z. B. deine Form über eine Form-Variable aus dem C/AL-Code auf, so sind die Variablen in der aufgerufenen Form auch nach dem Schließen noch gesetzt, so dass du sie z. B. über eine Funktion in der (gerade geschlossenen) Form abfragen könntest.
Ein erneuter Aufruf derselben Form über dieselbe Form-Variable (z. B. in einer Schleife) ist jedoch nur möglich, wenn die Variable vorher mit CLEAR(DeineForm) zurückgesetzt wurde.
Bei Reports verhält es sich ähnlich, jedoch bin ich mir gerade nicht sicher, ob der wiederholte Aufruf ebenfalls ein CLEAR voraussetzt.

Interessanter wird es bei Codeunits: Hier ist ein wiederholter Aufruf möglich und die Variablen haben somit den Wert aus dem letzten Aufruf.
Dies kann man natürlich zu seinem eigenen Vorteil nutzen, muss sich dieser Tatsache aber bewusst sein und ggfls. mit CLEAR(DeineCodeunit) dafür sorgen, dass alles zurückgesetzt wird.