Page 1 sur 1

NOVICE : lotus script - concaténation de lecteurs dans un ch

MessagePublié: 15 Juil 2003 à 08:59
par sticky
Bonjour, J'ai un agent lotus script qui ajoute un nom de groupe dans un champ nommé "lecteurs", du type : doc.lecteurs="Groupe : TOTO" je voudrais modifier cet agent pour ajouter nom plus 1 nom de groupe mais 2 du type doc.lecteurs="Groupe:TOTO, Groupe: TITI"Mais quand je teste ce genre de commande, ca marche pas... l'agent met les 2 noms bout à bout dans le champ mais les lecteurs du groupe TITI ne peuvent pas lire le doc... Help please...

Re: NOVICE : lotus script - concaténation de lecteurs dans u

MessagePublié: 15 Juil 2003 à 09:07
par polo
en LS : NotesItem.AppendToTextList("NomDuGroupeAjoute") par formule : FIELD lecteurs := lecteurs : NomDuGroupeAjoute;NB :si c juste une question de droit et que ce champ n'est pas utilisé ds ton code, tu peux créer un nouveau champ de type lecteur, ca marchera aussi

Re: NOVICE : oula j'suis pas douée je crois...

MessagePublié: 15 Juil 2003 à 09:44
par sticky
Pourriez-vous me dire concrètement comment je dois insérer ce code ? (ci-dessous copie de l'agent à modifier) . Car je ne connais absolument pas lotus script, du coup je galère un peu...j'ai fait qqs essais mais ca marche pas trop... merci d'avance- - - - - - - - - - - - - - - - - - - - - - - - - - - - -Sub Initialize Set ws = New NotesUIWorkspace Set session = New NotesSession Set db = session.CurrentDatabase Set CurrentDoc = ws.CurrentDocument counter = 0 Set collection = db.UnprocessedDocuments Dim x As Integer newpara = Inputbox _ ("Sous-Préfecture reçu le : ") rc = Chr(13) + "Sous-Préfecture reçu le " Redim RichT(collection.Count-1) As Variant For x = 1 To collection.Count Set doc = collection.GetNthDocument(x) doc.etat = "22 - Visé" doc.lecteurs = "Groupe : Tout le monde" Set RichT(counter) = doc.GetFirstItem ("Body") Call RichT(counter).appendText (RC) Call RichT(counter).appendText(newpara) Call doc.save (True,False) counter = counter + 1 Next End Sub

Re: NOVICE : lotus script - concaténation de lecteurs dans u

MessagePublié: 15 Juil 2003 à 09:48
par Raziel
Salut,essaie ceci :Sub InitializeDim item_Lecteurs as notesitemSet ws = New NotesUIWorkspaceSet session = New NotesSessionSet db = session.CurrentDatabaseSet CurrentDoc = ws.CurrentDocumentcounter = 0Set collection = db.UnprocessedDocumentsDim x As Integernewpara = Inputbox _ ("Sous-Préfecture reçu le : ")rc = Chr(13) + "Sous-Préfecture reçu le "Redim RichT(collection.Count-1) As Variantset item_Lecteurs = doc.getfirstitem("lecteurs")For x = 1 To collection.CountSet doc = collection.GetNthDocument(x)doc.etat = "22 - Visé"'doc.lecteurs = "Groupe : Tout le monde"call item_Lecteurs.AppendToTextList("Groupe : Tout le monde")call item_Lecteurs.AppendToTextList("Groupe : TOTO")Set RichT(counter) = doc.GetFirstItem ("Body")Call RichT(counter).appendText (RC)Call RichT(counter).appendText(newpara) Call doc.save (True,False)counter = counter + 1NextEnd Sub

Re: NOVICE : lotus script - concaténation de lecteurs dans u

MessagePublié: 15 Juil 2003 à 10:29
par Stephane Maillard
Bonjour,Si mes souvenirs sont correct il faut utilisé le point-virgule, pour faire un spérateur de liste.[%sig%]

Re: NOVICE : lotus script - concaténation de lecteurs dans u

MessagePublié: 15 Juil 2003 à 10:47
par Raziel
Pas besoin de ";" si l'on utilise AppendToTextList.Dans le cas ou le veux remplir le champ sans cette méthode, il faut effectivement infiqué un séparateur de valeur connu de notes. Cela veux dire aussi que dans ton champ, tu doit lui indiquer ce même séparateur.Ex:J'ai un champ Toto dont le séparateur est le point virgule.Je peux le remplir de la manière suivantedoc.Toto = "Groupe1;Groupe2".Inconvénients : Si l'on veux considéré que ce champ est multival, il faudra réouvrir le doc afin que notes face la conversion.De plus, si l'on veux à un moment, changer le caractère de séparation, il faut retoucher au code (ce qu'évite la méthode AppendToTextList)

Re: NOVICE : lotus script - concaténation de lecteurs dans u

MessagePublié: 15 Juil 2003 à 10:54
par Stephane Maillard
Bonjour,Merci pour l'info. Je crois que vais faire quelques modifs dans mes agents.[%sig%]

ca marche !!!

MessagePublié: 15 Juil 2003 à 11:08
par sticky
Merci bcp pour vos réponses !! ca marche !! (youpi yaaa !!, je suis contente !!)Par contre, par rapport à ton code , j'ai du redescendre la ligne set item_Lecteurs = doc.getfirstitem("lecteurs")à l'intérieur de la boucle en dessous car sinon il me mettait un message d'erreur à l'exécution. ce qui me donne le code ci-dessous. Par contre, ne connaissant pas très bien (pas du tout en fait ... ) le fonctionnement du "call", si je veux vider mon champ "lecteur" avant d'ajouter mes 2 groupes , je peux faire un : set item_Lecteurs = " " ou call item_Lecteurs= " " ?? avant d'ajouter mes 2 groupes ?? - - - - - - - - - - - - - - - - - - - -Sub InitializeDim item_Lecteurs as notesitemSet ws = New NotesUIWorkspaceSet session = New NotesSessionSet db = session.CurrentDatabaseSet CurrentDoc = ws.CurrentDocumentcounter = 0Set collection = db.UnprocessedDocumentsDim x As Integernewpara = Inputbox _ ("Sous-Préfecture reçu le : ")rc = Chr(13) + "Sous-Préfecture reçu le "Redim RichT(collection.Count-1) As VariantFor x = 1 To collection.CountSet doc = collection.GetNthDocument(x)doc.etat = "22 - Visé"'doc.lecteurs = "Groupe : Tout le monde"set item_Lecteurs = doc.getfirstitem("lecteurs") ---> là ou j'ai remis la lignecall item_Lecteurs.AppendToTextList("Groupe : Tout le monde")call item_Lecteurs.AppendToTextList("Groupe : TOTO")Set RichT(counter) = doc.GetFirstItem ("Body")Call RichT(counter).appendText (RC)Call RichT(counter).appendText(newpara) Call doc.save (True,False)counter = counter + 1NextEnd Sub

Re: NOVICE : lotus script - concaténation de lecteurs dans u

MessagePublié: 15 Juil 2003 à 11:25
par Raziel
Tu peux tous simplement fairecall doc.replaceitemvalue("lecteurs", "")oudoc.lecteurs = ""