Ciao a tutti, ecco un problema strano. ho un sistema in cui archivio delle comunicazioni aziendali. tramite un pulsante un autore del documento notes che contiene il documento puo\' "inviare per conoscenza" un link al documento ad un altro utente. (considerate che sono davvero niubbo) il codice più o meno funziona così: il documento è aperto a frontend (in lettura) sul documento di backend modifico i campi inserendo lettori ed autori salvo il documento in backend ciclo sui documenti risposta del documento e li salvo invio la mail di notifica bene.. tutto sembra funzionare per il meglio ma i campi autori vengono salvati solo se chi usa il pulsante è l\'admin.. la risposta che mi sono dato è che è tutto un problema di permessi.. il punto è che l\'admin è inserito come autore negli stessi campi in cui sono inseriti anche gli altri autori del documento. e la cosa meno divertente del tutto è che ho inserito un ciclo alla fine del codice in cui controllo se il campo autori è stato aggiornato.. bene.. prima della fine del codice i campii sono a posto.. se chiudo il documento a video e lo riapro nulla è aggiornato :-| qualcuno sa aiutarmi? ecco il codice.. Sub Click(Source As Button) Dim Wrk As New NotesUIWorkspace Dim Sessione As New NotesSession Dim dbCurr As NotesDatabase Dim docUI As NotesUIDocument Dim docCurr As NotesDocument Dim docSelUtenti As Notesdocument Dim docMemo As NotesDocument Dim itemNewBody As NotesRichTextItem Dim itemOrigBody As NotesRichTextItem Dim nameUtente As NotesName Dim vConoscenza As Variant Dim vDestinatari As Variant Dim vCReaders As Variant Dim intConoscenza As Integer Dim intLettori As Integer Dim bRis As Integer Dim Presente As Integer Dim viewAllegati As notesview Dim docAllegato As notesdocument Dim VarVuota As Variant Dim CollDocRisposte As NotesDocumentCollection Dim DocRisposta As NotesDocument On Error Goto ProcessError Set dbCurr = Sessione.CurrentDatabase Set docUI = Wrk.CurrentDocument Set docCurr = docUI.Document vCReaders = docCurr.altriredattori vConoscenza = docCurr.Destinatario_Interno_CC Set docSelUtenti = New NotesDocument(dbCurr) docSelUtenti.Form = "SelezionaUtenti" \' dialogbox da cui leggo l\'utente a cui inviare per conoscenza bRis = Wrk.DialogBox( "SelezionaUtenti", True, True, False, False, False, False, "Inoltra per Conoscenza",docSelUtenti) If bRis = True And docSelUtenti.UtentiPerConoscenza(0) <> "" Then \'-- Imposto il campo PerConoscenza del documento aperto \'-- in base alle persone selezionate dall\'utente vDestinatari = docSelUtenti.UtentiPerConoscenza intConoscenza = Ubound(vConoscenza) intLettori = Ubound(vCReaders) \' verifico se l\'utente è giè presente per conoscenza Forall utente In vDestinatari If utente = "" Then Exit Forall Set nameUtente = New NotesName(utente) Presente = False Forall conoscenza In vConoscenza If conoscenza = nameUtente.Abbreviated Then Presente = True Exit Forall End If End Forall If Presente = False Then If vConoscenza(intConoscenza) = "" Then vConoscenza (intConoscenza) = nameUtente.Abbreviated Else Redim Preserve vConoscenza(intConoscenza + 1) vConoscenza (intConoscenza + 1) = nameUtente.Abbreviated intConoscenza = intConoscenza + 1 End If End If Presente = False Forall reader In vCReaders If reader = nameUtente.Abbreviated Then Presente = True Exit Forall End If End Forall If Presente = False Then Redim Preserve vCReaders(intLettori+1) vCReaders (intLettori+1) = nameUtente.Canonical intLettori = intLettori + 1 End If End Forall \'FINE verifico se l\'utente è giè presente per conoscenza Stop \'-- Aggiornamento campo PerConoscenza docCurr.Destinatario_Interno_CC = vConoscenza \'-- Aggiornamento campo Autori docCurr.AltriRedattori = vCReaders \'-- Salvataggio del documento doccurr.saveoptions = "1" If Not docCurr.Save(False, False) Then Msgbox "Errore documento non salvato" End If Forall reader In docCurr.AltriRedattori Print "Autore: " & reader End Forall Stop Set CollDocRisposte = docCurr.Responses Set DocRisposta = CollDocRisposte.GetFirstDocument While Not ( DocRisposta Is Nothing ) DocRisposta.Destinatario_Interno_CC = vConoscenza DocRisposta.Altriredattori = vCReaders Call DocRisposta.Save (True, False) Set DocRisposta = CollDocRisposte.GetNextDocument ( DocRisposta ) Wend \'-- Spedisco gli allegati per Conoscenza a tutte le persone \'-- selezionate dall\'utente Redim VarVuota(0) Call sendMail(docCurr,vDestinatari,VarVuota) Forall reader In docCurr.AltriRedattori Print "Autore2: " & reader End Forall Print docCurr.Protocollodsp(0) \'docUI.Close End If \'FINE dialogbox da cui leggo l\'utente a cui inviare per conoscenza Exit Sub ProcessError: Msgbox "InoltraPerConoscenza " & Error$ & " alla riga =" & Erl Exit Sub End Sub
|