"" 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">
> |  
salvataggio documento problema stranissimo...
gianniiiii

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




You are here salvataggio documento problema stranissimo... - gianniiiii -
    re : salvataggio documento problema stranissimo... - gianniiiii -
        re... : salvataggio documento problema stranissimo... - Giuseppe -