Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: ZaLudtske am 04.07.07 - 12:03:13

Titel: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: ZaLudtske am 04.07.07 - 12:03:13
Hallo,

ich muß Dateianhänge aus einem Dokumnet in ein Dokument in einer anderen Datenbank übertragen. Die Dateianhänge sollen aber möglichst nicht vom Quelldokument abgehängt und im Zieldokument angehängt werden. Ich habe das ganze mit NotesItem.CopyItemToDocument versucht. Die Anhänge werden zwar übertragen, erscheinen aber im neuen Dokument nicht im gewünschten Feld sondern im Feld $Files.

Kann mir jemand helfen?

Anbei noch ein Code-Schnipsel.

Code

	Set ndoIndex = ndbTeamDb.createdocument()
	
	ndoIndex.replaceitemvalue "FORM", "MainDoc"
	ndoIndex.computewithform True, False
	
	ndoIndex.replaceitemvalue "Barcode",  strBarcode
	
	vntValue = ndoQuelle.getitemvalue("t_KontoNr")
	strKtoNr = vntValue(0)
	strNr = fktEntfNichtNumerischeZeichen(strKtoNr)
	ndoIndex.replaceitemvalue "Kartennummer", strNr
	
	vntValue = ndoQuelle.getitemvalue("d_ErstellDatum")
	vntErstellt = vntValue(0)	
	ndoIndex.replaceitemvalue "ErstellDatum", vntErstellt
	
	ndoIndex.replaceitemvalue "DOCStatus", "0"
	
	'BA_KA
	vntValue = ndoQuelle.getitemvalue("t_Dokumentart")	
	ndoIndex.replaceitemvalue "Projektnummer", vntValue
	
	'SENDER_KA
	ndoIndex.replaceitemvalue "DMSKundenname", "PLUS"
	
	vntValue = ndoQuelle.getitemvalue("t_Mitarbeiter")
	ndoIndex.replaceitemvalue "Bearbeiter", vntValue
	
	Set nriAnhaenge = ndoQuelle.getfirstitem("t_Anhaenge")
	
	nriAnhaenge.CopyItemToDocument ndoIndex, "DOCFileNew"
	
	ndoIndex.Save True, False, False


Rainer
Titel: Re: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: m3 am 04.07.07 - 12:21:26
Wenn Du das Ziel-Dokument sowieso neu erstellst, warum arbeitest Du nicht mit notesDocument.CopyToDatabase?
Dokument rüber kopieren, Form und die anderen Felder anpassen, die unnötiogen Felder löschen und gut ist es. Oder?
Titel: Re: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: ZaLudtske am 04.07.07 - 12:24:11
Das Rüberkopieren geht so einfach nicht, das es sich bei dem Zieldokument um ein komplett andere Art handelt, die noch zusätzliche Felder beinhaltet.

Rainer
Titel: Re: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: m3 am 04.07.07 - 12:38:57
Und wo ist da das Problem?
Nach dem "ndo.Quellecopy.CopyToDatabase(ndbTeamDb)" hast Du ein neues Dokument in der Zieldatenbank -- genau wie nach dem "ndbTeamDb.createdocument()".

Jetzt machst Du Dein
Code
ndoIndex.replaceitemvalue "FORM", "MainDoc"
ndoIndex.computewithform True, False
ndoIndex.replaceitemvalue "Barcode",  strBarcode
...
fügst die Felder hinzu, die Du noch brauchst, löscht mit "RemoveItem" die Felder, die Du in der ZielDb nicht brauchst und und alles ist gut. :)

Für ein CopyToDatabase müssen die Datenbanken nicht die selbe Schablone verwenden.

Titel: Re: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: ZaLudtske am 04.07.07 - 12:48:58
Mein Problem ist, dass das Feld in den Anhängen in meinem Dokument A anders heißt als in meinem Dokument B. Gibt es eine Möglichkeit ei Feld um zu benennen?
Titel: Re: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: koehlerbv am 04.07.07 - 12:54:56
Selbst wenn es eine derartige Methode gäbe: Du hättest dann das gleiche Problem: Der Anhang wurde in ein Item namens "A" aufgenommen, nun heisst es aber "B" - und der Verweis (in $File) ist dahin.

Bernhard
Titel: Re: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: ZaLudtske am 04.07.07 - 13:06:45
Das Problem ist nicht die Referenz auf die Dateien im Feld @Files, sondern dass die Dateien nicht im Zielfeld erscheinen. Sondern nur im Feld $Files, so dass die Dateien am Ende des Dokuments und nicht im Feld angezeigt werden.

Das Dokument, in die die Dateien verschoben werden, wird dann von einen Agenten verarbeitet, der die Anhänge in Tiffs umwandelt und diese dann in unser optisches Archiv verschiebt. Aus diesem Grund müssen die Dateien aus dem Quellfeld ins Zielfeld.

Titel: Re: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: koehlerbv am 04.07.07 - 13:11:12
Das Problem ist nicht die Referenz auf die Dateien im Feld @Files, sondern dass die Dateien nicht im Zielfeld erscheinen. Sondern nur im Feld $Files, so dass die Dateien am Ende des Dokuments und nicht im Feld angezeigt werden.

Das ist genau das, was ich eben beschrieben habe.

Bernhard
Titel: Re: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: ZaLudtske am 04.07.07 - 13:16:19
Wenn das Kopieren so wohl nicht klappt muß ich die Dateien abhängen und im neuen Dokument anhängen. Das letzte Mal als ich sowas mit einem Server-Agenten versucht habe bin kläglich gescheitert. Wenn es diesemal auch nicht klappt muß der Agent täglich von Benutzer manuell gestartet werden. Wobei halt der Herr Manuell nicht sehr beliebt ist.
Titel: Re: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: koehlerbv am 04.07.07 - 13:19:05
Das Procedere detach / attach ist aber auf dem Server das gleiche wie auf dem Client und vollkommen übliche Praxis.

Bernhard
Titel: Re: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: ZaLudtske am 04.07.07 - 13:24:42
Das Ab- und Anhängen war nicht das Problem.

Das Problem war der Zugriff auf das Dateisystem des Servers. Sobald ich auf den Server schreiben wollte bekam ich einen Fehler, obwohl ich alle Rechte (Unbeschränkte LotusScript/Java-Agenten ausführen) hatte.
Titel: Re: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: koehlerbv am 04.07.07 - 14:08:50
Ich gehe mal davon aus, dass Du die Attachments damals nicht auf die Platte des Dominos, sondern auf einen anderen Server (File Server) schreiben wolltest. Das ergibt dann tatsächlich eine andere Rechteproblematik.

Bernhard
Titel: Re: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: ZaLudtske am 04.07.07 - 14:12:44
Nei ich wollte damals die Dateien in ein extra für diesen Zweck angelegtes Unterverzeichnis des Notes-Servers (Unterverzeichnis von Data) schreiben. Bin damit leider gescheitert. Auch unsere Admins waren ratlos.
Titel: Re: Anhänge verschieben in ein anderes Dokument verschieben
Beitrag von: ZaLudtske am 04.07.07 - 14:16:14
Nachtrag:

Ich habe mir die Arbeit gemacht und den Agenten umgeschrieben, so daß jetzt die Dateien abgehängt und erneut angehängt werden. Ich verwende als Verzeichnis zum Zwischenspeichern der Dateien nun das Temp-Verzeichnis des Servers und o wunder es klappt jetzt.

Allen vielen dank für die Hilfe.

Rainer