Page 1 sur 1

Probléme double clique action validation

MessagePublié: 19 Mai 2014 à 08:04
par Heldenn
Bonjour à tous,

Aujourd'hui, j'ai un nouveau "petit" probléme !


J'ai une action qui me permet de valider mon document, à vrai dire, j'en ai plusieurs, mais l'une d'elle demande un double clique x)

Comment cela se fait ?

Je vous mets son code, il n'est pas long:


Sub Click(Source As Button)
'uidoc est l'objet représentant le document actuel'
Dim wkp As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim Doc As NotesDocument
Dim session As New NotesSession
Dim userName As New NotesName(session.UserName)
Set uidoc= wkp.currentdocument
Set doc= uidoc.document
Set doc= uidoc.document
Set db = session.CurrentDatabase
Call uidoc.Refresh
If (doc.CHRONO(0)="") Then
Msgbox "Renseigner la chronologie dans la description de l'événement"
continue = False
Exit Sub
End If
If (doc.CONSEQ_REEL(0)="") Then
Msgbox "Renseigner la conséquences réelles de la section CONSEQUENCES"
continue = False
Exit Sub
End If
If (doc.CONSEQ_POT(0)="") Then
Msgbox "Renseigner la conséquences potentielles de la section CONSEQUENCES"
continue = False
Exit Sub
End If
If (doc.Etat(0)="Etat0") Then
uidoc.Editmode=True
doc.VALID_DIR="OUI"
doc.Etat="Etat1"
doc.ValidePar_1=userName.Common
doc.DateValideur_1=Now
doc.Heure1=Now
Call uidoc.Refresh
Call doc.save(True,True)
uidoc.save
End If
End Sub


Merci de votre aide

Re: Probléme double clique action validation

MessagePublié: 20 Mai 2014 à 10:40
par pascal29
Je suis pas sur d'avoir compris. Tu veux savoir comment exécuter une action sur un double-clique, c'est ça ?
Sur un bouton ? de ta barre d'action ? Une zone sensible ?
Le double-clique est plutôt réservé pour le passage en modification sur le doc.

Re: Probléme double clique action validation

MessagePublié: 20 Mai 2014 à 10:53
par Heldenn
Salut, non, je t'explique, j'ai plusieurs étapes de validations de mon document :

- Valider les faits
- Valider les analyses
- Valider la décision direction
...

Toutes les étapes cité ci-dessus sont des actions qui se retrouve dans la barre grise au dessus de ma fiche

Toutes ces mêmes étapes ne demandent qu'un clique pour passer à l'étape suivante, sauf une " Valider les faits"

Lorsque je clique ( par un simple clique) une première fois, un petit temps de chargement, puis elle reste sur "valider les faits", je dois donc r appuyer une deuxième fois pour que cette fois elle passe à l'étape d'apres.

Comment cela se fait ?

Re: Probléme double clique action validation

MessagePublié: 20 Mai 2014 à 12:38
par Michael DELIQUE
ça ressemble plus a un bug qu'autre chose, ou alors c'est que tu as une sorte de traitement asynchorne qui met un peu de temps a tourner

Re: Probléme double clique action validation

MessagePublié: 20 Mai 2014 à 15:29
par Heldenn
Pour que ce soit un probléme Asynchrone, faudrait-il pas que je ne clique qu'une fois et qu'il y est un temps de chargement ?

Car la je dois cliquer deux fois, le premier clique ne changeant rien

Re: Probléme double clique action validation

MessagePublié: 20 Mai 2014 à 15:48
par pascal29
Ce qui est bizarre dans ton code, c'est que tu as l'air de jongler entre l'uidoc et le doc. Surtout à la fin de ton code, au moment de sauvegarder.
Essaye peut-être en utilisant seulement l'uidoc (je dis pas c'est LA solution) :
[...]
If (doc.Etat(0)="Etat0") Then
uidoc.Editmode=True
Call uidoc.fieldsettext("VALID_DIR","OUI")
Call uidoc.fieldsettext("Etat","Etat1")
Call uidoc.fieldsettext("ValidePar_1",userName.Common)
Call uidoc.fieldsettext("DateValideur_1",Now)
Call uidoc.fieldsettext("Heure1",Now)
Call uidoc.Refresh
Call uidoc.save
End If
End Sub
[...]

Re: Probléme double clique action validation

MessagePublié: 20 Mai 2014 à 20:24
par Michael DELIQUE
il est vrai que mélanger programmation frontale est dorsale (NotesDocument v Notesuidocument) est source de beug de se genre.

Re: Probléme double clique action validation

MessagePublié: 20 Mai 2014 à 20:53
par Jérôme Deniau
Faut faire un choix:
uidoc.refresh -> équivalent du F9 de Notes (si le masque est en recalculé automatique pas besoin)

Ensuite
2 set doc = uidoc.document -> aucun intérêt

Puis encore un uidoc.refresh, alors qu'il faudrait un uidoc.reload (on modifie le document en mémoire (do: notesdocument) donc il faut rafraîchir le document frontal (uidocument)) et pas l'inverse

User -> uidoc
code: doc (arrière plan donc is des champs uidoc dépendent des nouvelles valeurs du doc (dorsal), il faut un reload)
une fois ok, on fait juste un call doc.save(true,false,false) (à valider dans contexte) car on se fout des champs uidoc (champs calculés à l'affichage non stockés dans doc sur disque).....


etc.....

Re: Probléme double clique action validation

MessagePublié: 21 Mai 2014 à 07:12
par roubech
Le premier clic ne te fait pas juste changer de mode (read/edit) puis le second fait les opérations voulues de changement d'état ?

Re: Probléme double clique action validation

MessagePublié: 21 Mai 2014 à 07:30
par Heldenn
Bonjour,

Il est vrai que cela semble un peu broulli, je n'ai pas fait ce code, je le récupère d'une base similaire, je n'ai pas encore les compétences pour ce code !

Je vais "essayer" de trier un peu toute ma base, voir si cela fonctionne, mais bon ... :)

Roubech: Non, il m'arrive d’être en éditeur ou en lecteur, et le problème est le même, de plus ca ne change pas de mode

Merci !

Re: Probléme double clique action validation

MessagePublié: 23 Mai 2014 à 12:48
par Jérôme Deniau
Sans rire une simple formule fait pareil en plus simple, aucun intérêt de faire du lotuscript, quoique on pourrait faire un agent LotusScript qui appelle un agent Java, tiens......

@if(Chrono="";@return(@prompt(....));
CONSEQ_REEL="";@return(@prompt.....);
CONSEQ_POT="";@return(@prompt....));
"");

field VALID_DIR:="OUI";
field Etat:="1";
etc.....

c'est simple efficace et pas d'emmerdes.

rappel on a
- actions simples
- formules
- LotusScript
- Java

plus on avance plus c'est long et inefficace (je déconne), l'API C c'est mieux mais bon faut maîtriser, idem JAVA ;-)