Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Autodesk Productstream Professional
  Jobserver soll bei Freigabe pdf Erzeugen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PDM System exakt anpassen an Anwenderforderungen (GAIN Collaboration,PDM,PDM System,PLM,PLM System)
Autor Thema:  Jobserver soll bei Freigabe pdf Erzeugen (779 mal gelesen)
dr.emmet
Mitglied



Sehen Sie sich das Profil von dr.emmet an!   Senden Sie eine Private Message an dr.emmet  Schreiben Sie einen Gästebucheintrag für dr.emmet

Beiträge: 27
Registriert: 11.01.2005

Server: Win2k3, SQL, Exchange
Client: WinXP, Compass Productstream 2008

erstellt am: 13. Jul. 2006 17:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
habe da ein Problem, das wie mir scheint, eher bei Windows liegt.
Wir haben bei unserem Jobserver einen Job, der bei Freigabe einer Datei automatisch einen Job "PDF-Erzeugen" ausführt. Dieser Job Läuft folgendermaßen durch:

vorher:
JBSPropUpdate;
___Shell(rm(#DOCNAME1));___Return_0;

Befehle:
shellexecute(print "$TargetFile");___Return_0;
JBSLastCreatedProcessWait(30000);

Das ist soweit in Ordnung.
Das Problem hierbei ist, dass der Vorgang
"shellexecute(print "$TargetFile");___Return_0;"
so schnell geht, dass die Felder im Word-Dokument nicht aktualisiert werden.
So habe ich nach Freigabe des Dokumentes ein Word-Dokument mit einem gefüllten Feld "Freigabedatum". Im PDF ist dieses Feld jedoch nicht gefüllt.

Jetzt habe ich anhand der dürftigen Doku von Compass ein wenig gestöbert und versucht einen Alternativjob zu schreiben, der die betroffene Datei vor dem PDF-Erzeugen öffnet, einige Sekunden wartet, bis die Felder aktualisiert sind, und die Datei dann wieder speichert.
Das funktioniert mit folgenden Befehlen:
"C:\progra~1\micros~2\office11\winword.exe" "$TargetFile" /nologo /p
sleep(5000)
save "$TargetFile"
sleep(2000)
System(taskkill /f /im winword.exe)
sleep(5000)
shellexecute(print "$TargetFile");___Return_0;
JBSLastCreatedProcessWait(30000);

Die Datei (vorher unbemerkt vom System ins jobservertemp-Verzeichnis kopiert) wird mit Word geöffnet, das System wartet und speichert dann die Datei. Mit dem taskkill schieße ich Word ab, weil ich keinen Befehl zum Beenden von Word mit Nachfrage "Speichern Ja/Nein" gefunden habe. Dies wäre hilfreich, da dann die temporären "~.....doc" Dateien ausbleiben würden.
Nun ja, danach läuft der shellexecute und öffnet wie früher um zu drucken. Hierbei schließt sich dann auch Word wieder alleine (Windows-systembedingt)
Das funktioniert alles bis auf einige Kleinigkeiten:
Die Dateien im Jobservertemp bleiben stehen
Der Job funktioniert nur manuell, nicht aber bei automatischer Freigabe einer Datei. Er wird zwar gestartet, bricht aber beim schon beim Speichern mit
07/13/06, 17:45:18: Kommando save "T:\Jobservertemp\1152805483TEST2.doc" beendet mit Rückgabewert -2147024891
ab.

Nun bitte ich euch um Hilfe.
Meines Erachtens gibt es zwei Lösungsansätze

1. Den Vorgang "shellexecute(print "$TargetFile") nach dem öffnen der Word-Datei pausieren lassen, bis sich die Felder aktualisiert haben (scheint mir nicht so einfach möglich)
2. Das Skript so erweitern oder anpassen, dass der Jobserver nicht auf die in das jobservertemp-Verzeichnis kopierte Datei ($TargetFile) zugreift, sonder direkt auf die in den Caddaten hinterlegte ("#(DOCNAME0)").

Ich hoffe, dass dieses Problem nicht schon 100x gepostet wurde und dass irgendjemand mit dem Jobserver so fit ist und hier eine Lösung weiß.

Vielen Dank vorab.....

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz