Documents fils invisibles dans vue

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

Messagepar MdmZ » 04 Juil 2011 à 08:11

Comme je l'ai dit plus haut, j'ai pour rôle administrateur, la mention "[Admnistrator]" est présente dans les champs lecteurs et auteurs du document Parent et du document fils. Pourtant, au moment de la création du document fils, je ne peux pas l'enregistrer ni l'ouvrir ensuite.. Ils me disent que je n'ai pas l'autorisation de le faire. Il y a surement quelque chose qui m'échappe, mais je ne vois vraiment pas quoi, alors tu peux peut etre m'éclairer si je n'ai pas compris..
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Messagepar Michael DELIQUE » 04 Juil 2011 à 08:16

la comme ça, je peux pas. tu as lu le liens que je viens de te passer ?

- tu créé bien des champs de type auteur et lecteur ?
- je suppose qu'il n'y a ni faute de frappe ni faute de casse sur le nom du role
- tu fais bien ton dev sur un serveur pas en local ?
- tu as quelle droit sur la LCA (niveau d'accès)
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 » 04 Juil 2011 à 08:19

- Oui pour les champs de type auteurs/lecteurs
- Sans fautes
- Mon développement est fait en local, mais la base et également sur le serveur et les erreurs sont les mêmes.
- Je suis 'manager' sur l'ACL, et j'ai tous les droits.
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Messagepar Michael DELIQUE » 04 Juil 2011 à 09:25

re,

tu dois louper qqc quelque part.

montre un peu ton code ya peut être une coquille que t'a pas vue
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 » 04 Juil 2011 à 09:31

Le code du champs 'reader' ? En principe c'est kazi le même que celui du document père, il y a juste un nom ajouté, mais je te le donne quand meme..

Je me demande si ca ne vient pas du fait que justement ce soit un document qui hérite d'un autre. La création de ce document a été faite en LS.

xTemp := @Name([Abbreviate] ;leadAuditorManager);
@For(n :=1; n<=@Elements(xTemp); n:= n + 1;
xRet := @If(n=1; @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]); xRet : @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]))
);
xLeadAuditorManager := xRet;

xTemp := @Name([Abbreviate] ;AuditorManager1);
@For(n :=1; n<=@Elements(xTemp); n:= n + 1;
xRet := @If(n=1; @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]); xRet : @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]))
);
xAuditorManager1 := xRet;

xTemp := @Name([Abbreviate] ;AuditorManager2);
@For(n :=1; n<=@Elements(xTemp); n:= n + 1;
xRet := @If(n=1; @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]); xRet : @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]))
);
xAuditorManager2 := xRet;

xTemp := @Name([Abbreviate] ;DocAuthor);
@For(n :=1; n<=@Elements(xTemp); n:= n + 1;
xRet := @If(n=1; @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]); xRet : @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]))
);
xDocAuthor := xRet;

xTemp := @Name([Abbreviate] ;LeadAuditor);
@For(n :=1; n<=@Elements(xTemp); n:= n + 1;
xRet := @If(n=1; @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]); xRet : @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]))
);
xLeadAuditor:= xRet;

xTemp := @Name([Abbreviate] ;Auditor);
@For(n :=1; n<=@Elements(xTemp); n:= n + 1;
xRet := @If(n=1; @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]); xRet : @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]))
);
xAuditor:= xRet;

xTemp := @Name([Abbreviate] ;BPO);
@For(n :=1; n<=@Elements(xTemp); n:= n + 1;
xRet := @If(n=1; @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]); xRet : @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]))
);
xBPO:= xRet;

xTemp := @Name([Abbreviate] ;Champion);
@For(n :=1; n<=@Elements(xTemp); n:= n + 1;
xRet := @If(n=1; @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]); xRet : @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]))
);
xChampion:= xRet;

xTemp := @Name([Abbreviate] ;Observer);
@For(n :=1; n<=@Elements(xTemp); n:= n + 1;
xRet := @If(n=1; @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]); xRet : @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]))
);
xObserver:= xRet;

xTemp := @Name([Abbreviate] ;Expert);
@For(n :=1; n<=@Elements(xTemp); n:= n + 1;
xRet := @If(n=1; @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]); xRet : @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]))
);
xExpert:= xRet;

xTemp := @Name([Abbreviate] ;AddReaders);
@For(n :=1; n<=@Elements(xTemp); n:= n + 1;
xRet := @If(n=1; @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]); xRet : @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]))
);
xAddReaders:= xRet;

xTemp := @Name([Abbreviate] ;AddParticipants);
@For(n :=1; n<=@Elements(xTemp); n:= n + 1;
xRet := @If(n=1; @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]); xRet : @If(@Contains(xTemp[n]; "@"); @Left(xTemp[n];"@"); xTemp[n]))
);
xAddParticipants:= xRet;

@Name([Canonicalize]; @Trim (@Unique( xAuditor: xLeadAuditor : xDocAuthor : xAuditorManager1 : xAuditorManager2 : xLeadAuditorManager : xBPO : xChampion : xObserver : xExpert : xAddReaders : xAddParticipants: "[Administrator]" : "[Auditor]" : "[Owner]")))
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Messagepar Michael DELIQUE » 04 Juil 2011 à 10:13

re,

je te demandais le code Ls de création du document.

pour ton champ c'est possible et tout en formule bonjour l'angoisse pour la maintenance surtout qu'il faut rafraichir le doc pour que les accès changes.
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 » 04 Juil 2011 à 10:19

Dim session As New NotesSession
Dim db As NotesDatabase
Dim DocFils As NotesDocument
Dim workspace As New NotesUIWorkspace
Dim collection As NotesDocumentCollection
Dim DocParent As NotesDocument
Dim docUI As NotesUIDocument


Set db = session.CurrentDatabase
Set DocFils = New NotesDocument(db)


Set collection = workspace.PickListCollection(PICKLIST_CUSTOM, False,db.Server ,db.FilePath, "vAuditPlanSelection", "Choix du plan d'audit", "Selectionnez le plan d'audit associé")
Set DocParent=collection.GetFirstDocument
Set DocFils = New NotesDocument(db)


If (collection.Count<>0) Then
'Initialisation de tous les champs héritant du document parent.
DocFils.ParentAdress = DocParent.UniversalID
DocFils.Form = "frmAuditReport"
DocFils.DocAuthor = DocParent.DocAuthor
DocFils.Reference = DocParent.Reference
DocFils.AuditDate = DocParent.AuditDate
DocFils.AuditedProcess = DocParent.AuditedProcess
DocFils.ProcessName = DocParent.ProcessName
DocFils.BPO = DocParent.BPO
DocFils.Champion = DocParent.Champion
DocFils.LeadAuditorManager = DocParent.LeadAuditorManager
DocFils.AuditorManager1 = DocParent.AuditorManager1
DocFils.AuditorManager2 = DocParent.AuditorManager2
DocFils.LeadAuditor = DocParent.LeadAuditor
DocFils.Auditor = DocParent.Auditor
DocFils.Observer = DocParent.Observer
DocFils.Expert = DocParent.Expert
DocFils.C41=DocParent.C41
...
DocFils.AddReaders = DocParent.AddReaders
DocFils.APLink = DocParent.NotesURL

Call DocFils.MakeResponse( DocParent)
Call workspace.EditDocument(True, DocFils)


End If


Exit Sub
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Messagepar Michael DELIQUE » 04 Juil 2011 à 11:30

re,

je pense que

DocFils.LeadAuditorManager = DocParent.LeadAuditorManager
DocFils.AuditorManager1 = DocParent.AuditorManager1
DocFils.AuditorManager2 = DocParent.AuditorManager2

sont des champs auteur/lecteur, la tu créé des champs texte.

essais avec ça pour chaque champ

dim item as Notesitem
set Item = New NotesItem(DocFils,"AuditorManager1",DocParent.AuditorManager1,"AUTHORS)
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 » 04 Juil 2011 à 13:19

En fait je les ai mis en champs 'Names' et j'ai fait un champs "Readers" ainsi qu'un champs "Authors" qui regroupent tous les readers et respectivement authors du document.
Du coup faut il que j'applique tout de même la ligne de code que tu viens de me donner ?
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Messagepar Michael DELIQUE » 04 Juil 2011 à 13:24

oui parceque tu confonds masque et document.

dans le cas des champs de type Nom/Auteur/lecteur tu dois les typer et les renseigner avec des noms sous leur forme canonique (sauf pour les roles biensur) sinon ça marche pas
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 roubech » 04 Juil 2011 à 13:33

http://publib.boulder.ibm.com/infocente ... CLASS.html

aide a écrit:Set notesItem = New NotesItem( notesDocument, name$, value [, specialType% ] )

specialType%
Optional. Constant of type integer. Indicates if a text item should be of type Names, Readers, or Authors. Must be one of the following constants: NAMES, READERS, or AUTHORS. To use specialType%, the value parameter must be a string or array of strings.
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 » 04 Juil 2011 à 13:43

Merci beaucoup, ca a l'air de fonctionner.
Seulement, vu que j'ai deux subform, elles dépendent du rôle de la personne qui ouvre le document. Et en fonction du rôle de cette personne le champs Authors changent. Par exemple la personne renseignée dans 'BPO' peut etre soit seulement readers, soit également author. Pour cette personne, qu'est ce que met comme 'specialType' ?
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Messagepar Michael DELIQUE » 04 Juil 2011 à 14:17

re,

un champ est soit auteur soit lecteur. si une personne passe par exemple du statut auteur au statut lecteur ilf aut déplacer son nom du champ auteur au champ lecteur
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 » 04 Juil 2011 à 14:59

Merci beaucoup ! Ca a l'air de fonctionner.
Du coup maintenant j'ai pleins d'anciens documents que je ne peux voir vu que je n'avais pas les droits. Mais les vues me disent qu'il y a des descendants, comment effacer ces documents ?
MdmZ
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 128
Inscrit(e) le : 16 Juin 2011 à 13:33

Messagepar Michael DELIQUE » 04 Juil 2011 à 15:22

re,

il te faut les droit super-admin ou alors tu fais tout simplement une copie de la base !
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

PrécédentSuivant

Retour vers Développement

cron