Vue integrée / selection d'une ligne et ouverture d'un doc

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Messagepar MdmZ » 27 Juin 2011 à 09:17

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..
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Messagepar Michael DELIQUE » 27 Juin 2011 à 09:39

re,

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

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar MdmZ » 27 Juin 2011 à 10:39

Oui vu que la création nécessite la sélection d'un parent
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Messagepar roubech » 27 Juin 2011 à 19:13

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]
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar MdmZ » 28 Juin 2011 à 07:42

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 !
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Messagepar roubech » 28 Juin 2011 à 18:44

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 ?
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar MdmZ » 29 Juin 2011 à 08:51

Il est censé être dans les champs du document ? Non il n'yest pas .. Comment ca se fait ?
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Messagepar MdmZ » 29 Juin 2011 à 10:37

C'est bon j'ai réussi ! Merci !
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Messagepar MdmZ » 29 Juin 2011 à 13:30

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 ?
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Messagepar roubech » 29 Juin 2011 à 20:31

@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 ...
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar MdmZ » 30 Juin 2011 à 08:25

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.
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Précédent

Retour vers Développement

cron