Page 1 sur 2

Inserer du texte

MessagePublié: 14 Avr 2003 à 12:44
par tef
Salut à tous.Voilà je voudrais lorsque j'édite un fiche déjà créé dans Notes, que mon champs description affiche l'heure et par qui il est éditer au moment de l'édition du document.Ce que moi j'ai fais et qui ne marche pas :Dans QueryModeChange:usermod := @Name([CN];@UserName);txt := descriptif + @NewLine + "Edité le " + @Now + " par " + usermod;txtMais ça ne fonctionne pas car j'ai le message d'erreur suivant :"Données textuelles requisespour l'opérateur ou la fonction @".Merci par avance pour votre aide.[%sig%]

Re: Inserer du texte

MessagePublié: 14 Avr 2003 à 12:56
par Raziel
Salut,Remplacetxt := descriptif + @NewLine + "Edité le " + @Now + " par " + usermod;Partxt := descriptif + @NewLine + "Edité le " + @text(@Now) + " par " + usermod;

Re: Inserer du texte

MessagePublié: 14 Avr 2003 à 13:01
par tef
Oki merci j'ai plus le message d'erreur mais le changement dans ma zone ne se fait pas.Je comprend pas je suis pourtant sur le bon evenement ? J'ai essayé QueryModeChange et PostModeChange mais pareil pas de chamgement dans ma zone de texte.[%sig%]

Re: Inserer du texte

MessagePublié: 14 Avr 2003 à 13:04
par Raziel
Au lieu de mettre ton code dans l'évènement QueryModeChange Pk ne pas créer un champ calculé à l'affichage dans lequel tu met ton code et que tu cache en mode lecture ?

Re: Inserer du texte

MessagePublié: 14 Avr 2003 à 14:10
par tef
Ok pas con mais ca toujours le même pb. Mais apparement, je n'arrive pas à récuperer la valeur de mon champ. Pour tester, j'ai fait comme ça : - champ caché Flagmodif qui contient :usermod := @Name([CN];@UserName);txt := @NewLine + "Edité le " + @Text(@Now) + " par " + usermod;txtEnsuite j'ai tenté de récupérer mais toujours pareil, rien n'est récupérer. Alors j'ai testé dans QueryModechange un :@Prompt ([OK];"Titre";Flagmodif)La msgbox s'affiche bien mais à la place de Flagmodif, j'ai rien du tout alors que je devrais avoir :Edité le 14/04/2003 15:11:04 par TotoJ'y comprend rien... :([%sig%]

Re: Inserer du texte

MessagePublié: 14 Avr 2003 à 14:12
par tef
J'oubliais, j'ai même testé au cas ou ceci :@Prompt ([OK];"Titre";@Text(Flagmodif))Pareil marche pas.[%sig%]

Re: Inserer du texte

MessagePublié: 14 Avr 2003 à 14:24
par Raziel
Que j'suis bête. C'est ton @newline qui ne marche pas. Retire le et ça devrait allé mieux.

Re: Inserer du texte

MessagePublié: 14 Avr 2003 à 14:37
par tef
Oki cool mais alors si je met dans mon QueryModeChange ceci :descriptif = descriptif + @NewLine + FlagmodifCa devrait fonctionner normalement ? Car moi non.J'ai mis ici le @Newline car je veux sauté une ligne mais je l'ai enlevé dans l'autre formule et avec un @prompt, je récupère bien tout donc impec. Par contre mon champ avec la formule au dessus n'ai pas mis à jour.J'ai essayé en enlevant le @Newline au cas mais marche pas non plus. D'ailleurs, j'ai pas compris pkoi le @NewLine ne passait dans l'autre formule ?...[%sig%]

Re: Inserer du texte

MessagePublié: 14 Avr 2003 à 14:38
par tef
Au fait j'oubliais de te remercier Raziel. C'est vachement sympa de ta part :)[%sig%]

Re: Inserer du texte

MessagePublié: 14 Avr 2003 à 14:56
par Raziel
As tu essayé de le mettre dans le PostModeChange car dans le queryModeChange, le doc, n'étant pas encore en édition, ne peux pas être modifié.Pour ce qui est du @newLine, le @prompt considère que le texte s'arrête lors du saut de ligne.

Re: Inserer du texte

MessagePublié: 14 Avr 2003 à 14:59
par tef
Et vi j'ai également essayé dans PostModeChange mais sans effet.Je comprend vraiment pas pkoi.... :([%sig%]

Re: Inserer du texte

MessagePublié: 15 Avr 2003 à 09:34
par tef
Je déspespère... Qqu'un aurait-il une solution svp :( Je ne trouve pas et pourtant c'est pas faute de chercher.[%sig%]

Re: Inserer du texte

MessagePublié: 15 Avr 2003 à 10:03
par philippeG
Bonjourvoila un script à mettre dans l'évenement PostModeChangeSub Postmodechange(Source As Notesuidocument) If source.editMode Then Dim session As New NotesSession Nom$ = Session.CommonUserName Texte$ = "Document édité le " + Cstr(Date) + Chr$(10) + " par " + Nom$ Call Source.FieldSetText("NomFichier", Texte$) Else End IfEnd Subà adapter bien sur à ton besoin

Re: Inserer du texte

MessagePublié: 15 Avr 2003 à 10:10
par tef
Arf ! Merci mais je n'y comprend rien au lotus script car je n'ai jamais eu l'occasion de l'apprendre.Je vais essaye de comprendre ce que tu m'as donné mais c'est pas gagné lol[%sig%]

Re: Inserer du texte

MessagePublié: 15 Avr 2003 à 13:49
par philippeG
Pas de pbm si tu as besoin d'infos n'hesites pasPour t'aider à comprendre- source représente le document affiché à l'écran- le suffixe $ indique qu'il s'agit d'une variable de type texte (c'est la même chose que dim variable as string)- Cstr(Date) transforme la date systeme variable de type texte - Chr$(10) transforme le caractère ascii 10 (retour à la ligne) en chaine de caractèrescomme je n'ai que des variables de type texte je peu les compiler dans la varaible appelée texte$ce script teste si le document à l'écran est en mode édition après le changement de mode (PostModeChange) et si oui il met la date et l'heure de passage en mode edition ainsi que le nom de l'utilisateur courant dans le champ qui s'appele NomFichier.il faut que ton document possède un champ NomFichier modifiable et de type texte