Style-Sheet-Tool

12. Februar 2009 23:57

Nach dem ich schon vieles zum Thema Stylesheet-Tool gelesen habe und ich schon einigen Mitgliedern meine Erweiterungen zur Verfügung gestellt habe, stelle ich diese nun der Allgemeinheit zur Verfügung.

Ich schicke voraus, daß ich hier mit Sicherheit nicht den Stein der Weisen gefunden habe, jedoch machen diese Änderungen deutlich, das hier mehr (Stylesheet-Tool) herauszuholen ist, als es zunächst den Anschein hat.

Im Zip-File ist eine Dokumentation und eine FOB-Datei. Zum Herumprobieren empfehle ich, die FOB auf einer ADD-ON 5.00 SP1 Datenbank einzuspielen.

Hier kurz die neuen Möglichkeiten

- Lokalisierung
- Standardbenutzer-Info
- Formatierte Addressen
- Speicherart als LINK
- Mehrere Formulare für eine Maske
- Mehrere Subtabellen zu einer Basistabelle
- Mehrfachdefinition von Tabellen
- Leer wenn Null


Für Feedback bin ich natürlich dankbar!
Ergänzung 04.03.2009
- Der XML-Port wurde um die neuen Felder erweitert.

Ergänzung 10.03.2009/11.03.2009
- Überflüssiger Code in Codeunit 403 wurde gelöscht
- Dokument in Word wird nun in Drucklayout angezeigt (Bei Speicherart Datenlink)
- Fehlerbehebung in Codeunit 680. Mergefelder MULTILINE_END wurde eventuel nicht gelöscht.
- Konstanteninterpretation innerhalb von Tabellenrelationen korrigiert (CU 682).



Viel Spass damit :lol:

Viele Grüße
Micha
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Fido am 11. März 2009 22:23, insgesamt 5-mal geändert.

Re: Style-Sheet-Tool "Constant Value"

9. März 2009 15:50

Innerhalb von Microsoft-Dynamics NAV können (ab Release 5.0) die Inhalte von Formularen durch Anklicken der Schaltflächen für Word oder Excel in die entsprechen Anwendung übergeben werden. Grundlage ist das Style Sheet Tool http://www.mibuso.com/dlinfo.asp?FileID=897, eine Entwicklung von Microsoft Business Solutions.
(Da dieses Tool in der Fassung von Microsoft mit vielen von Einschränkungen behaftet ist, wurde in diesem Forum von Micha freundlicherweise eine überarbeitete Version http://www.msdynamics.de/viewtopic.php?f=20&t=6893&p=32230&hilit=xml#p32230 zur Verfügung gestellt, die wichtige Erweiterungen bietet.)
Eine wesentliche Funktionalität besteht darin, Daten aus mehreren Tabellen nach XML zu exportieren. Dazu ist es in der Regel erforderlich, die gewünschten Daten in den weiteren Tabellen über Tabellenverknüpfungen mit der sog. Basistabelle oder mit einem festen Wert zu verknüpfen.
Die Verknüpfung mit der Basistabelle macht keine Probleme aber das Filtern mit einem "Konstanten Wert" scheint nicht zu funktionieren - oder ich habe etwas grundlegend übersehen.
Für die Verarbeitung von Filtern mit konstanten Werten ist die CodeUnit 682 zuständig und dort die Funktion SetRelationshipsFilter
Diese prüft zunächst, ob ein konstanter Wert vorgegeben wurde
Code:
IF StyleSheetTableRelations."Constant Value" <> '' THEN

Falls dies zutrifft, wird in weiteren Codeblöcken in Abhängigkeit des Datentyps der jeweilige Filter gesetzt z.B. für Integer
Code:
EVALUATE(TempInt,FORMAT(FieldRef.VALUE));
FieldRef.SETRANGE(TempInt);

Leider fehlt meines Erachtens eine Werteübergabe von StyleSheetTableRelations."Constant Value" an den Filter, denn die Referenz FieldRef.VALUE bezieht sich auf das Feld, für das der Filter gesetzt werden soll, und ist leer, d.h. bei Integer wird immer nur Null als Filterbedingung übergeben.
Meines Erachtens müsste folgender Code verwendet werden:
Code:
EVALUATE(TempInt,FORMAT(StyleSheetTableRelations."Constant Value"));
FieldRef.SETRANGE(TempInt);

Da ich leider keinen Zugang zu einer Aplicationbuilder Lizenz habe und daher selbst keinen Code verändern kann, wäre ich dankbar, wenn die entsprechenden Korrekturen in eine Folgeversion Version des Style Sheet Tools von Micha einfließen könnten.

Re: Style-Sheet-Tool

11. März 2009 09:26

Hallo Johannes,
du hast recht, die Abhandlung von Constanten ist etwas unglücklich und führt unter gewissen Konstelleationen auch zu Fehlern.
Ich habe in der CU 682 bereits Anpassungen gemacht, die es ermöglichen einen Wert in allen Situationen abzufragen - dachte ich wenigsten.
Die Abfragen im Code sind so in Ordnung, Allerdings muss natürlich der Wert aus StyleSheetTableRelations."Constant Value" evaluiert werden. D. h. ich ändere das und stell es zur Verfügung.
Der Verweis auf das Feld dient bei Eingabe einer Konstante lediglich dazu, den Feldtyp festzulegen - ich glaube diese Erkenntnis ist wichtig!.

Mfg
Micha

Re: Style-Sheet-Tool

28. April 2009 13:08

Hallo Michael,
kann es uU. mit einem deutschen Client und deutschem Office 2007 dazu kommen,
dass die Stylesheets nicht mehr korrekt funktionieren, wenn man die Wordvorlagen
verändert/importiert und konvertiert (also eine neue Version erstellt) hat ?
Die erste Version funktioniert mit den Tabellen in Word einwandfrei.
Nach einer Änderung der Wordvorlage ist das Ergebnis am Ende einer Tabelle folgendes:
«MULTILINE_END1_xxxxxxxxxx_y0000»
In der Word-Tabelle werden Daten angezeigt, nur das Ende der Multilineübergabe scheint ein Problem zu verursachen.
Gibt es dazu ggf. einen Tipp ?

Danke und viele Grüße
Olli

Re: Style-Sheet-Tool

28. April 2009 13:15

Hallo Olli,
ein Frage- hast Du schon die aktuelleste Version heruntergeladen?
Wenn ja, müsste ich zum Denken anfangen.
Viele Grüße

Re: Style-Sheet-Tool

28. April 2009 15:51

Hallo Michael,

Ich habe deine letzte Version des Stylesheettools heruntergeladen und bin fleissig dabei Formatvorlagen zu erstellen. Leider habe ich das Problem, dass das Feld "Reihenfolge mehrere Zeilen" in der Tabelle "Style-Sheet Tabellen" beim Import der Definition nicht mit importiert wird. (Ich habe zwar nicht geprüft, ob das Feld überhaupt exportiert wird.) Ich bin dir sehr dankbar für die Lösung.

Fido hat geschrieben:(...)
Ergänzung 04.03.2009
- Der XML-Port wurde um die neuen Felder erweitert.
(...)


Viele Grüsse aus Luxembourg
Jeannot Keiser

Re: Style-Sheet-Tool

29. April 2009 13:10

Hallo Michael,
ich habe die Version 5.13 genutzt.
Gleichzeitig teste ich auch nochmal das Tool in einer englischen Umgebung.

Danke und Gruß
Olli

Re: Style-Sheet-Tool

16. Juli 2009 10:03

Hallo,

wie genau funktioniert es Bilder mit in das Worddokument zu geben?

Ich hatte bereits versucht in den Feldauswahlen der Tabelle "Company Information" das Bild über einen Haken im Feld "Bild" mitzunehmen.
Als ich dann ein Worddokument erzeugt habe z.B. eine Auftragsbestätigung stand dort anstatt ein Bild nur: «CompanyInf_30000_pict_Picture»

Gruß Kevin

Re: Style-Sheet-Tool

31. Juli 2009 09:24

Ich habe große Probleme, wenn ich so wie in der Anleitung mehrere Multilines anlegen möchte. Ich habe ganz ähnlich 3 Tabellen zu einer Basistabelle, Felder sind gewählt, "Mehrere Zeilen" ist bei allen drei Tabellen auf "Ja", die Reihenfolge ist eingetragen.
Nach dem Erstellen der Wordvorlage mit den drei Multiline-Bereichen klappt es in der Regel genau einmal, dass das Word-Dokument richtig angezeigt wird. Ändere ich danach jedoch noch irgendeine Kleinigkeit in der Vorlage, funktioniert nur noch der erste Multiline-Bereich.
Danach folgt sichtbar im Dokument:
Code:
«MULTILINE_END1_CommentLin_30000»

«MULTILINE_BEGIN2_SalesLine20000»
            
«MULTILINE_END2_SalesLine_20000»

«MULTILINE_BEGIN3_CommentLin40000»
«CommentLin_40000_Comment»
«MULTILINE_END3_CommentLin_40000»
und das bleibt dann auch so :cry: , egal ob man die Bereiche löscht und neu anlegt, oder nur einen entfernt und die Reihenfolge anpasst.

Xml4 und xml6 sind frisch installiert.

Re: Style-Sheet-Tool

5. August 2009 14:12

Hallo McClane,

genau das gleiche Problem habe ich auch. Bin auch fast, aber nur fast dran verzweifelt. Die Problematik sind die Absatzmarken. (Laut Micha alias FIDO)
Um das Problem zu lösen musst du mit den Absatzmarken (PI / Return) herumspielen und zwar innerhalb der ersten Multilinesection.
Versuch mal eine Absatzmarke zu entfernen oder hinzuzufügen.
Damit habe ich noch immer bei mir das Problem aus der Welt geschafft.

Viele Grüsse aus Luxemburg
Jeannot

Re: Style-Sheet-Tool

5. August 2009 14:53

Hi Jeke,

danke für den Tip :)

Geholfen hat´s aber leider nicht ... zumal meine erste Multiline-Section nicht viele Stellen für eine Absatzmarke enthält. Die schaut nämlich so aus:
Code:
«MULTILINE_BEGIN1_CommentLin30000»(Absatzmarke)
(Tabelle)«CommentLin_30000_Comment»(Tabelle Ende)
«MULTILINE_END1_CommentLin_30000»(Absatzmarke)

danach kommt dann Multiline-Section 2.
Die Absatzmarken hinter den MULTILINE-Zeilen kann ich schlecht weg nehmen. Noch eine zweite hilft nichts. Eine Absatzmarke in der Tabelle hat einmal geholfen, so dass danach auch Multiline2 lief. Das hat allerdings natürlich nach jeder «MULTILINE_END1_CommentLin_30000»-Zeile für eine Leerzeile gesorgt. Aber reproduzierbar war das auch nicht, beim zweiten Versuch ging es nicht mehr mit der zweiten Multiline-Section :cry:

Hast du noch irgendeinen Tip für mich?

Denn was das "fast verzweifeln" angeht, bin ich dir weit voraus :-?

Re: Style-Sheet-Tool

5. August 2009 15:04

Hallo McClane,

Leider bin ich jetzt auch am ende mit meinem Latein.
Frage mal bei FIDO nach, Ihm ist das Problem bekannt.
Es gibt ja auch eine neue Version von den Stylesheet Toll 2.0 von MS. Vieleicht ist FIDO ja schon dran seine Erweiterungen in diese Version einzubauen und kann diese Ecke vieleicht mit beheben.

Lass den Kopf nicht hängen, das Wetter ist ja super, jedenfals bei uns in Luxemburg.

Jeannot

Re: Style-Sheet-Tool

5. August 2009 15:20

JEKE hat geschrieben:Lass den Kopf nicht hängen, das Wetter ist ja super, jedenfals bei uns in Luxemburg.

Oh, das Wetter ist hier auch super, da kann man nicht meckern, und sorgt für angenehme 35 Grad im Büro :evil:

Ich versuche dann wohl mal, den armen Fido zu erreichen. Da hat er sich was mit eingebrockt, als er uns sein Tool zur Verfügung gestellt hat :wink:

Re: Style-Sheet-Tool

25. September 2009 12:01

Hallo Zusammen,
ich habe die bereits mehrfach beschriebenen Probleme mit mehreren Multilines auch regelmäßig ab der ersten Änderung des Stylesheets gehabt. Es scheint so zu sein, dass es nicht am Code liegt (manchmal funktioniert es ja), sondern "irgendwie" am Speichermanagement (sorry, bin kein Entwickler, der es genau beschreiben könnte).
Nach meheren Tagen der Suche kann ich nun einen Workarround anbieten, den ich mit Michael getestet habe (besten Dank für die Hilfe :-D ):
Sollten also mal wieder die Multilines nach einer Änderung der Style-Sheet-Vorlage nicht korrekt in Word ankommen,
- schließt den NAV-Client
- öffnet den NAV-Client
- auf der Style-Sheet Karte die Funktion Style Sheet/Wordvorlage zu Style-Sheet konvertieren aufrufen und die nachfolgenden Meldungen bestätigen.

Jetzt sollte das Style-Sheet inkl. der Änderungen einwandfrei funktionieren.
PS: Das Stylesheet-Tool 2.0 von MS bringt bzgl. multipler Multilines wohl keine Lösung

Re: Style-Sheet-Tool

25. September 2009 13:44

Olli hat geschrieben:Sollten also mal wieder die Multilines nach einer Änderung der Style-Sheet-Vorlage nicht korrekt in Word ankommen,
... also quasi nach jeder Änderung ... :wink:

aber sonst scheint das wirklich zu helfen :-)

Super, danke :)

Re: Style-Sheet-Tool

16. März 2010 11:13

Moin moin,

ich darf mich im Rahmen meine Ausbildung nun auch ein wenig mit den Stylesheets und dem Tool beschäftigen und habe auch gleich das erste Problem vor mir:
das Standard-Sheet "SalesQuoteToWord" reicht einem Kunden nicht und ich soll es so anpassen, dass statt des Cronus-Logos das Firmenlogo erscheint. Ist eigentlich kein Problem, den Header des Kunden habe ich vorliegen...aaber das ganze ist nicht nur ein Bild, sondern 3 + ein Textfeld, wo die Adressdaten drinstehen.

Ergo ist es mir nicht möglich, einfach nur den xml-Code des Bildes zu nehmen und auszutauschen. Ein Versuch, den Header als Grafik zu speichern und diese dann einzufügen scheiterte an der Auflösung des Textes im Textfeld, das war unleserlich. Ein anderer Versuch, bei dem ich den xml-Code für alle Grafiken einfügte, scheiterte an der Feldermeldung bei Ausführung des Stylesheets, dass kein gültiger xml-Code in der Datei sei.
Inzwischen habe ich das Standard-Sheet soweit nachgebaut, einzig (und hier ist dann auch das Problem) die Gesamtsumme bekomme ich nicht in mein Sheet.

Ich kann zwar aus dem Standard-Sheet den xml-Code nehmen und bei mir einfügen, jedoch bleiben dann alle anderen Felder meiner Bastelarbeit leer. Meine Frage ist, ob ich in Word (das nehme ich zum Bearbeiten des Mail Merge Dokuments) die einzelnen LineAmounts der SalesLines aufsummieren kann oder ob ich diesen Gesamtbetrag auf eine andere Art und Weise in mein Dokument bekomme.
Als Editor für den xml-Code nahm ich Wordpad.

Re: Style-Sheet-Tool

16. März 2010 11:24

Im Sales Header gibt es doch die Felder "Amount" und "Amount including VAT". Wenn das Angebot freigegeben ist, kannst du die beiden verwenden.

Re: Style-Sheet-Tool

16. März 2010 11:46

Und wenn das Angebot noch nicht freigegeben, sprich offen, ist?

Re: Style-Sheet-Tool

16. März 2010 11:58

ChrisFHH hat geschrieben:Und wenn das Angebot noch nicht freigegeben, sprich offen, ist?

Hallo Chris,

NAV berechnet die Felder "Amount" und "Amount incl. VAT" erst mit der Freigabe des Beleges.
Solange der Beleg noch offen ist, enthalten die Felder 0.
Ebenso werden die Felder beim Zurücksetzen des Status wieder auf 0 gesetzt.

Wenn du die Werte unbedingt schon vorher benötigst, müsstest du dir mal die Programmierung anschauen, welche in der Angebots-Statistik angewendet wird.

Re: Style-Sheet-Tool

16. März 2010 12:06

ChrisFHH hat geschrieben:Und wenn das Angebot noch nicht freigegeben, sprich offen, ist?

Dann nicht :wink: Für diesen Fall müsstest du dir ein oder zwei eigene Felder erweitern. Je nachdem, ob du überhaupt die Angabe inkl. MwSt. brauchst.

Ich finde aber nun nichts Schlimmes daran, dass das Angebot freigegeben sein muss. Das ist ja in Nav eh sozusagen Grundvoraussetzung zur Weiterverarbeitung.

Re: Style-Sheet-Tool

16. März 2010 12:37

McClane: Kundenwunsch ;-) So wie ich den verstanden habe, möchte er es auch bei offenen Angeboten nutzen können.
Ich testete es gerade mit einem freigegebenen Dokument und dem Feld "Amount" aus dem SalesHeader, das klappt.

Das Standard-Stylesheet macht an der Stelle folgendes: <xsl:value-of select="Object/SalesLines/TotalAmount"/> , was ebenfalls funktioniert, wenn das Angebot offen ist. Dieses so in meine .xslt-Datei einzubauen, klappte ja nicht.

Re: Style-Sheet-Tool

16. März 2010 12:44

Achso, du benutzt das StyleSheetTool überhaupt nicht?

Re: Style-Sheet-Tool

16. März 2010 12:50

Doch doch, Version 2.0 mit NAV 2009 SP1, damit hab ich mir mein neues Stylesheet gebastelt.

Re: Style-Sheet-Tool

16. März 2010 13:22

Wie Timo schon sagte, könnte man sich die Berechnung der Werte aus der Statistik des Belegs (F9) abschauen. So kämst du auch für einen nicht frei gegebenen Beleg da ran. Dann kann man den oder die Werte sicher auch als Seriendruckfeld bis in die Wordvorlage weiter geben (Fido macht in seinem Tool so etwas Ähnliches mit der Adresse).

Wenn du dich mit dem Kunden jedoch einigen könntest, dass der Beleg frei gegeben sein muss, wäre es bedeutend einfacher :roll: Bei der Freigabe werden ja - so weit ich weiß - auch noch Rabatte und so weiter berechnet.

Re: Style-Sheet-Tool

17. März 2010 09:55

Hmmkay, ich schaue mal, was ich da erreichen kann.
Soweit schonmal vielen Dank für die Tipps.