Page 3 sur 3

MessagePublié: 27 Juin 2011 à 09:17
par MdmZ
J'ai essayé de reprendre ton code roubech, et créer un bouton Supprimer.
Malheureusement dedans, impossible de récupérer le parent.
Je fais :

Dim parent As NotesDocument
Dim parentUnid As String
parentUnid = wDoc.ParentDocumentUNID
Set parent = db.GetDocumentByUNID(parentUnid)

sauf que parentUnid est tjrs vide..

MessagePublié: 27 Juin 2011 à 09:39
par Michael DELIQUE
re,

ton Document a été enregistré ? il a déjà un parent ?

MessagePublié: 27 Juin 2011 à 10:39
par MdmZ
Oui vu que la création nécessite la sélection d'un parent

MessagePublié: 27 Juin 2011 à 19:13
par roubech
Tu le mets où ce code ? tu le lances quand ? elle vient d'où la variable wDoc ?
[syntax="LotusScript"]Dim parent As NotesDocument
Dim parentUnid As String
parentUnid = wDoc.ParentDocumentUNID
Set parent = db.GetDocumentByUNID(parentUnid) [/syntax]
Dans l'exemple de code ci-dessous, pour sélectionner un doc et créer un doc fils du doc sélectionné, il n'y a pas de Save. Donc le doc fils ne sera créé, y compris le lien père/fils qu'un fois que l'utilisateur aura enregistré le doc en cours de création (et le masque MonMAsqueReponse doit être typé Reponse)
[syntax="LotusScript"]set dc = ws.PickListCollection( PICKLIST_CUSTOM , False, db.Server, db.FilePath, "MaVue", "Sélection", "Sélectionner le doc" , False)
if dc.Count = 0 then
print "Opération abandonnée"
exit sub
end if
set docParent = dc.GetFirstDocument
set docFils = New NotesDocument( db )
docFils.Form = "MonMasqueReponse"
call docFils.MakeResponse( docParent )
call ws.EditDocument( docFils, True )[/syntax]

MessagePublié: 28 Juin 2011 à 07:42
par MdmZ
Nonon mais là on ne parle plus de la création du document fils, on parle de la modification d'un champs dans le document parent lors de la suppression de son fils. Sachant qu'un parent ne doit avoir qu'un seul fils.

wDoc est le document courant !

MessagePublié: 28 Juin 2011 à 18:44
par roubech
roubech a écrit:Tu le mets où ce code ? tu le lances quand ?
...
Dans l'exemple de code ci-dessous, pour sélectionner un doc et créer un doc fils du doc sélectionné, il n'y a pas de Save. Donc le doc fils ne sera créé, y compris le lien père/fils qu'un fois que l'utilisateur aura enregistré le doc en cours de création (et le masque MonMAsqueReponse doit être typé Reponse)


tu ne répond pas : si tu es dans le doc fils mais qu'il n'a pas encore été enregistré ....
ou alors tu es bien dans le doc apres la 1ere sauvegarde
tu as d'ailleurs vérifié après la création que le doc est bien un doc fils (présence du $Ref dans les propriétés du doc ?

MessagePublié: 29 Juin 2011 à 08:51
par MdmZ
Il est censé être dans les champs du document ? Non il n'yest pas .. Comment ca se fait ?

MessagePublié: 29 Juin 2011 à 10:37
par MdmZ
C'est bon j'ai réussi ! Merci !

MessagePublié: 29 Juin 2011 à 13:30
par MdmZ
Autre problème, (décidement cette histoire d'héritage n'est pas si simple !)
J'ai l'impression que le rôle de la personne ne reste pas dans l'héritage.
En effet, quand je fais une copie de ma db, non encrypté, je me met le rôle d'administrateur, j'arriver à visualiser les documents père mais non les documents fils. Par contre j'arrive à créer un doc fils.
J'ai essayé d'afficher la valeur de @UserRoles. Dans le document père, je suis bien "administrator" mais dans le document fils, le champ reste vide.. cela est-il normal ?

MessagePublié: 29 Juin 2011 à 20:31
par roubech
@UserRoles ne dépend pas de l'endroit où tu te trouves dans la base. Que tu soit dans une vue, sur un doc pere ou sur un doc file, cette formule te retourne toujours la liste des rôles qui te sont affectés au niveau de la LCA de la base.

Par contre, si tu parles d'un champ auteur ou lecteur dans le doc fils, vérifié qu'il est bien typé. Si tu a créé le champ en LS lors de la création du doc fils avec le code cité précédemment, il faut bien le typer ...

MessagePublié: 30 Juin 2011 à 08:25
par MdmZ
je met le champ @UserRoles en text juste pour voir sa valeur. Et il reste vide dans le doc fils. Je ne l'ai pas créé en LS lors de la création du doc fils, c'est juste un champ calculé qui vaut @UserRoles.