Modifier valeur d'un champ date en LS

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

Modifier valeur d'un champ date en LS

Messagepar boz871 » 23 Juin 2011 à 13:31

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
Avatar de l’utilisateur
boz871
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 123
Inscrit(e) le : 22 Sep 2006 à 12:58
Localisation : Limoges

Messagepar Michael DELIQUE » 23 Juin 2011 à 13:38

salut

regarde dans l'aide en ligne l'objet Notesdatetime
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 » 23 Juin 2011 à 13:46

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

Messagepar boz871 » 23 Juin 2011 à 13:55

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
Avatar de l’utilisateur
boz871
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 123
Inscrit(e) le : 22 Sep 2006 à 12:58
Localisation : Limoges

Messagepar roubech » 23 Juin 2011 à 13:59

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

Messagepar boz871 » 23 Juin 2011 à 14:03

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
Avatar de l’utilisateur
boz871
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 123
Inscrit(e) le : 22 Sep 2006 à 12:58
Localisation : Limoges

Messagepar boz871 » 23 Juin 2011 à 14:10

Quelle est la syntaxe pour affecter une valeur à un champ dans une classe notesdocument stp ?
Avatar de l’utilisateur
boz871
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 123
Inscrit(e) le : 22 Sep 2006 à 12:58
Localisation : Limoges

Messagepar Michael DELIQUE » 23 Juin 2011 à 14:15

re,

NotesDocument.replaceItemValue("MonChamp","mavaleur")
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 boz871 » 23 Juin 2011 à 14:21

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
Avatar de l’utilisateur
boz871
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 123
Inscrit(e) le : 22 Sep 2006 à 12:58
Localisation : Limoges

Messagepar boz871 » 23 Juin 2011 à 14:41

EDIT

Oups avec 1 call doc.save derrière c'est mieux

Merci de ton aide
Avatar de l’utilisateur
boz871
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 123
Inscrit(e) le : 22 Sep 2006 à 12:58
Localisation : Limoges

Messagepar Michael DELIQUE » 23 Juin 2011 à 14:49

re,


Set item=doc.ReplaceItemValue("date_relance_renouv",Today)


pourquoi le 'set item' ? il ne sert a rien !
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 boz871 » 23 Juin 2011 à 15:24

oui c'est exact

doc.replaceitemvalue "date_relance_renouv", today suffit
Avatar de l’utilisateur
boz871
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 123
Inscrit(e) le : 22 Sep 2006 à 12:58
Localisation : Limoges

Messagepar boz871 » 23 Juin 2011 à 15:30

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
Avatar de l’utilisateur
boz871
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 123
Inscrit(e) le : 22 Sep 2006 à 12:58
Localisation : Limoges

Messagepar Michael DELIQUE » 23 Juin 2011 à 15:35

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
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 boz871 » 23 Juin 2011 à 15:39

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
Dernière édition par boz871 le 23 Juin 2011 à 16:12, édité 1 fois.
Avatar de l’utilisateur
boz871
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 123
Inscrit(e) le : 22 Sep 2006 à 12:58
Localisation : Limoges

Suivant

Retour vers Développement