Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Myron am 11.11.04 - 09:45:03

Titel: DocLink und Signatur
Beitrag 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
Titel: Re: DocLink und Signatur
Beitrag von: Driri am 11.11.04 - 09:59:37
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.
Titel: Re: DocLink und Signatur
Beitrag von: Myron am 11.11.04 - 10:12:25
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
Titel: Re: DocLink und Signatur
Beitrag von: Driri am 11.11.04 - 10:56:01
Versuch mal, Doc A zu speichern, bevor Du Doc B erzeugst.
Titel: Re: DocLink und Signatur
Beitrag von: Myron am 11.11.04 - 11:13:52
Das ändert leider nichts, da die Sigantur immer noch beschädigt ist. :-( Hmm .. ich glaube das geht einfach nicht..
Titel: Re: DocLink und Signatur
Beitrag von: Driri am 11.11.04 - 12:03:08
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 ?
Titel: Re: DocLink und Signatur
Beitrag von: Myron am 11.11.04 - 13:02:59
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
Titel: Re: DocLink und Signatur
Beitrag von: Driri am 11.11.04 - 13:16:58
Warum machst Du die Signierung dann nicht als letzten Step ?
Titel: Re: DocLink und Signatur
Beitrag von: Myron am 11.11.04 - 13:36:56
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
Titel: Re: DocLink und Signatur
Beitrag von: Driri am 11.11.04 - 13:42:01
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
Titel: Re: DocLink und Signatur
Beitrag von: Ute am 11.11.04 - 14:09:32
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
Titel: Re: DocLink und Signatur
Beitrag von: Myron am 11.11.04 - 14:12:25
Hallo Ute

Wie signiere ich nocheinmal nach hinzufügen?

Grüße
Titel: Re: DocLink und Signatur
Beitrag von: Ute am 11.11.04 - 14:17:53
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
Titel: Re: DocLink und Signatur
Beitrag von: Driri am 11.11.04 - 14:23:15
Signieren mit :

Call doc.Sign

Funktioniert aber nur, wenn das Script am Client ausgeführt wird. Und danach muß das Doc gespeichert werden.
Titel: Re: DocLink und Signatur
Beitrag von: Myron am 11.11.04 - 14:40:57
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