Page 1 sur 2
Modifier valeur d'un champ date en LS

Publié:
23 Juin 2011 à 13:31
par boz871
Bonjour
J'ai un bouton dans une vue qui exécute un certain nombre d'action LS (mailing word à partir des données de chaque document de la vue notamment) et en fin de script je souhaiterais modifier un champ date dans chaque document qui contiendrait la date du jour (en l'occurence celle du mailing)
C'est quelque chose que je fais trés bien en FORMULE mais la je seche.
Merci de votre aide
Frantz

Publié:
23 Juin 2011 à 13:38
par Michael DELIQUE
salut
regarde dans l'aide en ligne l'objet Notesdatetime

Publié:
23 Juin 2011 à 13:46
par roubech
c'est quoi qui te bloque ? le test sur la date ou la modification du champ ?
au pire dis nous ce que tu verai en @Formule si tu sont et on transpose

Publié:
23 Juin 2011 à 13:55
par boz871
en fait je viens de trouver
je faisais un call uidoc.fieldsettext("mon champ date",today) et ca plantait
Je fais maintenant un simple call uidoc.fieldsettext("mon champ date",cstr(today)) et ca passe
Merci à vous

Publié:
23 Juin 2011 à 13:59
par roubech
ca me surprend de te voir manipumer des uidoc sur un traitement qui parcours plusieurs docs d'une vue. A priori, tu ne les ouvres pas à l'écran, donc pas besoin de passer par uidoc. Tu els ouvres juste en mémoire, donc passer par NotesDocument est plus pertinent et te permet en plus de garder le type date au lieu d'être obligé là de passer par du texte

Publié:
23 Juin 2011 à 14:03
par boz871
effectivement je ne les ouvrais pas à l'écran pour mon mailing mais je n'arrivais pas à modifier ce champ donc je suis passer par ceci
Set uidoc= ws.EditDocument
Call uidoc.FieldSetText("date_relance_renouv",Cstr(Today))
Call uidoc.Save
Call uidoc.Close(True)
Mais si tu as une solution pour moi qui m'evite de charger les documents dans le ws je suis preneur

Publié:
23 Juin 2011 à 14:10
par boz871
Quelle est la syntaxe pour affecter une valeur à un champ dans une classe notesdocument stp ?

Publié:
23 Juin 2011 à 14:15
par Michael DELIQUE
re,
NotesDocument.replaceItemValue("MonChamp","mavaleur")

Publié:
23 Juin 2011 à 14:21
par boz871
Je viens de remplacer mes 4 lignes par ceci
Set item=doc.ReplaceItemValue("date_relance_renouv",Today)
mais la valeur du champ ne change pas

Publié:
23 Juin 2011 à 14:41
par boz871
EDIT
Oups avec 1 call doc.save derrière c'est mieux
Merci de ton aide

Publié:
23 Juin 2011 à 14:49
par Michael DELIQUE
re,
Set item=doc.ReplaceItemValue("date_relance_renouv",Today)
pourquoi le 'set item' ? il ne sert a rien !

Publié:
23 Juin 2011 à 15:24
par boz871
oui c'est exact
doc.replaceitemvalue "date_relance_renouv", today suffit

Publié:
23 Juin 2011 à 15:30
par boz871
j'ai encore un probleme si tu peux m'eclairer
je fais cela
doc.ReplaceItemValue "date_relance_renouv",Today
Call doc.Save(False,False)
et aprés je lis le doc suivant
Set doc = view.GetNextDocument(doc)
j'ai une erreur entrée absente de l'index (nom de ma vue)
si j'enleve le save ca fonctionne
edit :
petite précision le fait de saisir une date dans ce champ fait disparaitre mon document de cette vue. Faut il que je recherche toujours le 1er document de la vue

Publié:
23 Juin 2011 à 15:35
par Michael DELIQUE
re,
met un call devant c'est mieux
ta vue n'aurrai pas la date en select ?
ça veux dire que le document ne fait plus parti de la vue et que donc on ne pont plus acceder au suivant
pour passer ça
- Code : Tout sélectionner
set doc = view.getfirstdocument
while not doc is nothing then
set doc2 = doc
set Doc = view.getNextDocument (doc)
call doc2.replace...
call doc2.save...
set doc = nothing
wend

Publié:
23 Juin 2011 à 15:39
par boz871
oui c'est ca je relis le 1er doc
set doc=view.getfirstdocument et ca fonctionne
La date est effectivement un des critères de mon SELECT
encore merci
EDIT
ma methode boucle si le document ne rentre pas dans mes critères et donc si le document n'est pas modifié. Il reste donc dans ma vue et je reprends toujours celui la
J'ai appliqué le ceode de Michael et la ca fonctionne dans les 2 cas