[gelöst] Word Aktivitäten unveränderbar speichern!

23. Januar 2008 18:29

hallo ihr lieben.

ich habe da ein problem.

ist- zustand:
wenn aus navision (egal welche version) eine aktivität auf basis einer wordvorlage erzeugt wird, kommen in dieses dokument die seriendruckfelder rein. ist die aktivität abgeschlossen und es hat eine änderung die "stammdaten" gegeben z.b. namen des kontakts, werde diese geänderten inhalte in dem bereits erstellten dokument in den serienfelder aktualisiert (das dokument hat eben noch die datenquellen inne) egal ob die aktvität mit einem schreibschutz geöffnet wird oder nicht.

soll-zustand:
eine aktivität soll sehr wohl auf basis einer wordvorlage erstellt werden. beim beenden von word, soll navision dieses dokument auch in die datenbank holen und dort ablegen. bei erneuten öffnen des dokuments , soll er aber nicht die seriendruckfelder erneut mit den evtl. neuern daten aus der datenbank füllen.

das dokument soll mit seinem inhalt zum zeitpunkt der erstellung gespeichert werden (ohne seriendruckfelder). leider habe ich noch keinen weg gefunden dies in irgendeiner art zu realisieren.


meine frage:

hat jemand dazu eine idee, bzw. hat genau diese anforderung bereits gelöst?

ich bin für jede idee offen...

vielen dank
Zuletzt geändert von ddgoins am 24. Januar 2008 10:00, insgesamt 1-mal geändert.

23. Januar 2008 18:56

Hallo,
ich habe vor einiger Zeit auch nach dieser Möglichkeit gesucht.
auf Mibuso.com mal nach "BreakLinks" suchen.
Habs bisher noch nicht probieren können.

24. Januar 2008 08:08

Guten Morgen!

Ich hatte dieses Problem ebenfalls (außerdem kam es beim Drucken vor, dass der Inhalt wieder weg war und der Feldname angedruckt wurde - bei Textfeldern zum Beispiel).

Ich habe dann in der Codeunit 5054 WordManagement in der Funktion "ShowMergedDocument" (fast) am Ende den markierten Code eingefügt:

Code:
  ParamFalse := FALSE;
  wrdDoc := wrdApp.Documents.Open2000(MainFileName,ParamFalse,Attachment."Read Only");
  wrdDoc.MailMerge.MainDocumentType := 0;
  ParamInt := 7; // 7 = HTML
  wrdDoc.MailMerge.OpenDataSource2000(MergeFileName,ParamInt);
  ParamInt := 9999998; // 9999998 = wdToggle
  wrdDoc.MailMerge.ViewMailMergeFieldCodes(ParamInt);
  //-->Anfang für Umwandlung in Text
  IF NOT Attachment."Read Only" THEN BEGIN
    wrdApp.Selection.WholeStory;
    wrdApp.Selection.Fields.Unlink;
    wrdApp.ActiveDocument.Shapes.SelectAll; // = alle Textfelder
    wrdApp.Selection.WholeStory;
    wrdApp.Selection.Fields.Unlink;
    ParamInt := 6; //6 = wdStory = Dokumentanfang
    wrdApp.Selection.HomeKey(ParamInt);
  END;
  //<--Ende für Umwandlung in Text
END;

wrdDoc.ActiveWindow.Caption := WordCaption;
wrdDoc.Saved := TRUE;
wrdApp.Visible := TRUE;
WordHandler(wrdDoc,Attachment,WordCaption,IsTemporary,MainFileName,IsInherited);

CLEAR(wrdMergefile);
CLEAR(wrdDoc);
CLEAR(wrdApp);

DeleteFile(MergeFileName);


Hoffe, es funzt auch bei Dir.

Grüße und einen erfolgreichen Tag.
Udo

24. Januar 2008 10:00

@Probono

viiiielen viiielen dank... das war es... :) sowas in der art war auch mein ansatz. nur leider kenne ich die ganzen wordfunktionen nicht :(

aber das klappt super..

nochmals danke

Re: [gelöst] Word Aktivitäten unveränderbar speichern!

21. November 2008 16:28

Falls das hier noch jemand liest:

Der Code funktioniert wunderbar, allerdings habe ich unsere Vorlagen so angelegt, dass eine Unterschrift des Verkäufers über den Verkäufercode eingefügt wird.
Vorteil: Man braucht nur 1 Vorlage (allgemeine Briefvorlage bspw.) für alle Mitarbeiter, wenn man die Unterschrift mit drin haben will.

Dazu habe ich in Word eine Funktion eingabaut, die wie folgt funktioniert (Beispiel):

{ INCLUDEPICTURE "C://Unterschriften//Unterschrift_{ MERGEFIELD VerkäuferEinkäufer_Code }.jpg" MERGEFORMAT \d }

Funktioniert soweit ganz gut, Nachteil ist, dass man immer die erscheinende, leere Grafik anklicken muss und F9 drücken um das Feld zu aktualisieren, dann wird die Grafik korrekt eingefügt.

Nur mit dieser Lösung, dass alle Inhalte der Seriendruckfelder direkt ins Dokument geschrieben werden, funktioniert das Ganze natürlich gar nicht mehr, ich bekomme nur noch eine kleine leere Grafik.

Jetzt meine Frage:
Kann man einzelne Felder oder Funktionen etc. von dieser Umwandlung ausschließen?
Oder kennt jemand einen Weg, wie man auf andere Art und Weise die Unterschrift ins Dokument bekommt?
Kann man irgendwie ein BLOB-Field generieren am Verkäufer, das man in Word übernehmen kann (nur ein Gedanke eines Unwissenden :) )?

Grüße, Jörg

Re: [gelöst] Word Aktivitäten unveränderbar speichern!

1. September 2009 14:44

Ich muss nochmal nachhaken,
vorab: das ganze funktioniert prima.

ich habe nur das Problem wenn ein Serienbrieffeld in der Kopf oder Fusszeile von Word steht, dann klappt das ganze unlink nicht.
hat hier vielleicht jemand eine Lösung?