Word

Inhalt

  1. Formatvorlage
  2. Drucken in Fremdwährung
  3. Dokumentvariablen
    3.1 Beispiele

1. Formatvorlage

Was ist eine Formatvorlage?

In einer Formatvorlage werden Standardschrifttypen, wie "Standard", "Überschrift", "Text", etc., definiert. Dies geschieht zum Beispiel durch die Schriftart, Schriftgröße, Farbe oder Zeichenabstand. Beim Erstellen kann dann auf diese Typen zugegriffen werden, um den Text zu formatieren. Bei der Installation von Word wird auf jedem Rechner eine Standardvorlage (Normal.dot) installiert, welche je nach Geschmack angepasst werden kann. Bei JEDER Erstellung eines Worddokumentes wird diese Standardvorlage dem Dokument zugewiesen.

Warum setzt ClassiX® beim Anlegen eine Worddokumentes eine eigene Formatvorlage?

ClassiX® tut dies, um eine einheitliches Erscheinungsbild der Worddokumente zu erreichen. Nehmen wir an Benutzer A hat an seinem Rechner eine Voreinstellung der Schriftgröße auf 12 definiert und legt Artikelbeschreibungen an. Gleichzeitig werden aber Artikelbeschreibungen auch von Benutzer B angelegt, der lokal eine Voreinstellung von Schriftgröße 8 definiert hat. Werden beide Artikelbeschreibungen in eine Auftrag ausgedruckt, so wechselt die Schriftgröße permanent von 8 auf 12 und umgekehrt. Der Ausdruck sieht somit inkonsistent aus.

Beim Drucken entsteht aber eine weiteres Problem, da beim Kopieren von Worddokumenten bzw. dessen Inhalt nur der Text und die überdefinierten Formate übernommen werden, nicht aber die Formatvorlage. Somit können Texte beim Drucken ganz anders aussehen als im Original, wie folgendes Beispiel zeigt.

Beispiel:

Beim Kopieren eines Wordtextes wird nur der Inhalt und die Zusatzformate übernommen. Somit wird die Schriftgröße und der Zusatz „Fett“ mit in das Dokument2 übernommen, aber die Schriftart des kopierten Abschnittes ist nun „Times New Roman“

Solange aber beide Worddokumente die gleiche Formatvorlage haben tritt dieses Problem nicht auf.

Wie weise ich einem Dokument eine Formatvorlage zu?

oleObject  - CX_WORD_DOCUMENT
strDotPath - Pfad zur Formatvorlage
oleObject Call(GetApplication) -> applicationClip
"CX_WORD_DOT" SystemObject Call(GetEnvironment) -> strDotPath
Installieren der Formatvorlage strDotPath applicationClip Call(GetAddIns) Call(Add) Drop
applicationClip Call(Lock)
Es wird ein Flag gesetzt, damit sich das Worddokument mit der neuen Formatvorlage automatisch aktualisiert. "-1" Integer oleObject Call(PutUpdateStylesOnOpen)
Zuweisen der neuen Formatvorlage strDotPath oleObject Call(PutAttachedTemplate)
Das Gesetzte Flag wird wieder deaktiviert und der Pfad zur Formatvorlage gelöscht. (siehe Hinweise) "0" Integer oleObject Call(PutUpdateStylesOnOpen)
"" oleObject Call(PutAttachedTemplate)
Das Worddokument wird gespeichert, damit die geänderten Formatierungen nicht wieder verloren gehen. oleObject Call(CX_Save)

Hinweise für das Arbeiten der Formatvorlagen
Nachdem einem Worddokument die Formatvorlage zugewiesen wurde sollte der Pfad zur Vorlage gelöscht und die Option "Formatvorlagen automatisch aktualisieren" deaktiviert werden. Ursache ist, dass sonst bei jedem Öffnen eines Worddokumentes auf die Formatvorlage zugegriffen wird. Sollte die Formatvorlage unter dem angegeben Pfad nicht erreicht werden, so kann das Öffnen extrem langsam dauern. (Bis zu 15 Sekunden, wenn der Pfad auf ein Netzwerkverzeichnis verweist. "//servername/classix/projektname/system/classix.dot")


2. Drucken in Fremdwährung

Das Drucken in einer Fremdwährung verläuft wie folgt. Zuerst wird der zu druckende Beleg gewrappt und an sich selber eingefügt. gleiches geschieht mit allen seinen Unterpositionen. Vor dem Drucken wird nun die Kalkulation erneut gestartet, allerdings nicht mit dem "richtigen Objekt" sondern mit dem Wrapper. Somit werden alle Werte, welche jetzt neu in der Fremdwährung berechnet werden, in den Wrapper geschrieben. Da beim Drucken ebenfalls der Wrapper in den PlugSpace gestellt wird, wird auf die neuen Werte zugegriffen.

Für den Fall das in einer Währung gedruckt werden, für die keine Währungstabelle angemeldet ist, so wird die Tabelle transient erstellt und per AddOverwriteRate über das Systemobjekt angemeldet.


3. Dokumentvariablen

 

3.1 Beispiele

Angebots- / Auftragsdruck

(Kopf)

Information   Zugriffsausdruck Kommentar
Auftragsnummer   uniqueID  
Datum   date Erstelldatum
Sachbearbeiter Name:
Telefon:
Fax:
Email:
personInCharge.Speech(1,0,6)
personInCharge.Access('CX_DESK_PHONE').uniqueID
personInCharge.Fax().uniqueID
personInCharge.Access('CX_E_MAIL').uniqueID
Ausgabe als Vorname + Nachname


 
Anschrift Firmenname:
Ansprechpartner:
Straße:
Land:
PLZ:
Stadt:
call(Addressee).Name(6)
ordered.personInCharge.Speech(4,0,2)
address.Location()
address.call(CountryText)
address.zipCode
address.city
 
Betreff
Anschreiben
Fußtext
  header.mlComment oder header.mlWordDoc
main.mlComment oder main.mlWordDoc
footer.mlComment oder footer.mlWordDoc
Je nach Art
Liefertext   received.comment  
RG - Hinweis   invoiced.comment  
Lieferdatum   delivered.spanDate  
Faktura Datum   invoiced.spanDate  
Versanddatum   shipped.spanDate  
Nettosumme   net.value  
Summe   total.value  

(Position)

Information   Zugriffsausdruck Kommentar
Nummer   uniqueID
UniqueID()
Nummer der Position
Nummer der Position im Baum
Kurzbegriff (VK-Teil)   salesItem.mlShortName  
Beschreibung (VK-Teil)   salemItem.mlDescription  
Artikeltext auf der Pos.   salesItem.item.mlDescription oder salesItem.item.mlWordDoc Je nach Beschreibungsart. (Die Information ist im Wrapper überschrieben)
Menge   quantity  
Basispreis   sales.pricePointer  
Bruttopreis   total.pricePer  
Nettopreis   netPrice  
Nettowert   net.value  
Lieferdatum   delivered.spanDate  
Faktura Datum   invoiced.spanDate  
Versanddatum   shipped.spanDate  
Bereitstellungstermin   dispatched.spanDate