Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Myron am 11.11.04 - 09:45:03
-
Hallo Leute!
ich habe ein kleines problem.. hoffe es kann mir jemand einen tip geben..
ich habe ein dokument A von welchem ich mit einem butten ein dokument B im beareitungsmodus öffne und mit werten von dok A befülle.. der benutzer kann nun dok B weiterbearbeiten und dann speichern. (beim speichern wird das doc B Signiert)
ich würde nun gerne einen dokumentlink beim doc B vom doc A machen. Soweit so gut.. wenn ich den dokumentlink programmtechnisch erstelle und der benutzer speichert dieses dokument dann ist der link nicht da.. wenn ich den dokumentlink beim PostSave erstelle und das dokument speichere ist der link da, aber die Signatur zertört.. hmm weiß jemand einen ausweg?
Grüße Markus
-
Also erstmal, damit Du einen DocLink erzeugen kannst, muß Dokument A natürlich existieren, daß heißt gespeichert sein.
Ansonsten wäre wohl ein bißchen Code nicht schlecht.
-
Hallo!
Ok, wenn das Dokument A schon gespeichert sein muss, damit ich einen DokLink erstellen kann, schieße ich mir, wenn ich nachträglich diesen link erstelle, die Signatur des Dokumentes zusammen...
Hier der Code.. Dieser Steht bei Doc A, wo ich den Doclink von Doc B machen möchte.
DocM entspicht in der obigen beschreibug 'A'
DocT = entspricht 'B'
Sub Postsave(Source As Notesuidocument)
Dim ses As New NotesSession
Dim db As NotesDatabase
Dim MailID As String
Dim docM As NotesDocument
Dim docT As NotesDocument
Set db = ses.CurrentDatabase
If source.FieldGetText("p_status") = "Aufgenommen" Then
MailID = source.FieldGetText("p_fromMail")
If Not MailID = "" Then
Set docM = db.GetDocumentByUNID(MailID)
If Not docM Is Nothing Then
Set docT = source.Document
Set rtitemD = New NotesRichTextItem( docT, "Link" )
Call rtitemD.AppendDocLink( docM, "Mail Verknüpfung")
Call docT.Save(True, False, True)
End If
End If
End If
End Sub
-
Versuch mal, Doc A zu speichern, bevor Du Doc B erzeugst.
-
Das ändert leider nichts, da die Sigantur immer noch beschädigt ist. :-( Hmm .. ich glaube das geht einfach nicht..
-
Was heißt denn beschädigt und was meinst Du mit Signatur ? Werden da wirklich Felder oder das Dokument mit der ID signiert oder meinst Du eine Signatur im Sinne eines Textes am Ende des Dokuments wie z.B. in der Maildatenbank ?
-
Hallo!
Hier werden Felder in einem Abschnitt mit der ID beim speichern Signiert. Das Problem ist nun generell.. wenn ich dieses signierte dokument programmatisch wieder verändere (in meinem fall den dokument link hinzufüge) ist dieses Dokument nicht mehr signiert und es kommt die dementsprechene fehlermeldung.
Grüße
-
Warum machst Du die Signierung dann nicht als letzten Step ?
-
Bei den Feldeigenschafen ist ausgewählt:
Signieren bei Senden oder Speichern im Abschnitt
Also wenn man das dokument speichert wird es signiert.
Gibts eine möglichkeit dieses programmtechnisch zu signieren?
Ich habe bei den Feldeigenschaften das weg geklickt und doc.Sign versucht.. hatte aber keinen erfolg..
grüße
-
Hmm...also da hab ich ehrlich gesagt noch nix mit gemacht.
Du kannst ein Item signieren.
...
Dim itm As NotesItem
...
Set itm = doc.GetFirstItem("xyz")
itm.IsSigned = True
-
jetzt mal vom Ablauf her ist es korrekt, daß die Signatur als beschädigt gilt, wenn man nach dem Signieren das Dokument wieder verändert, also den Doclink hinzufügt (wenn ich das jetzt alles richtig auf die Reihe bekommen habe läuft das doch so ab ?)
Das ist ja auch der Sinn der Signatur, das angezeigt wird,daß ein Dok nach dem Signieren verändert wurde.
Also muß man nach Hinzufügen des DocLinks wieder signieren
-
Hallo Ute
Wie signiere ich nocheinmal nach hinzufügen?
Grüße
-
Hi Myron
keine Ahnung, das ist nur der technische Hintergrund zum Sinn und Zweck einer Signatur (bin mehr der Admin)
Ich weiß ja nicht, was Du mit der Signatur bezwecken willst.
Aber eigentlich benutzt man die u.A. auch um ein Dokument als unbeschädigt (hier unverändert) zu deklarieren. Und offensichtlich ist es das ja nicht mehr und Deine Signatur ist zu Recht beschädigt.
Vielleicht ist das ganze Signaturkonzept an der Stelle zu überdenken.
Gruß
Ute
-
Signieren mit :
Call doc.Sign
Funktioniert aber nur, wenn das Script am Client ausgeführt wird. Und danach muß das Doc gespeichert werden.
-
Wie gesagt doc.Sign habe ich schon versucht.. da ist zwar keine Fehlermeldung mehr gekommen die man weg klicken musste aber in der statuszeile ist es gestanden und der abschnitt war nicht signiert.
ich werde es einfach bleiben lassen und auf den doclink verzichten. Die signierung möchte ich belassen.
Vielen Dank für eure hilfe! Wenn ich mal auf eine lösung stoßen sollte, werde ich sie hier posten.. auch wenn diese in Version 7 ist :-)
Grüße Markus