Page 1 sur 1

boutons d'actions sur une vue

MessagePublié: 19 Fév 2010 à 08:40
par guyader
bonjour,

sur une vue j'aimerais cliquer sur le bouton "ticket" qui ne m'afficherais
que la zone ticket en modif et qui cacherais une autre zone ..


merci

MessagePublié: 19 Fév 2010 à 08:49
par Michael DELIQUE
salut

regarde l'aide en ligne a @dialobox ou notesuiworkspace.dialogbox

MessagePublié: 19 Fév 2010 à 09:58
par guyader
cela ne fait qu'afficher le masque dans un autre écran mais

n'agit pas sur les zones que je veux juste demander en saisie !!

MessagePublié: 19 Fév 2010 à 10:00
par Michael DELIQUE
ensuite tu codes pour prendre en compte les modifs apportés à la dialogbox

MessagePublié: 19 Fév 2010 à 10:11
par guyader
j'ai bien un écran qui saffiche avec la zone à modifier mais je suis dans une vue et la zone correspond à une zone d'un masque !!!

je ne comprends pas comment cela va mettre à jour la zone du masque ...

MessagePublié: 19 Fév 2010 à 10:18
par Michael DELIQUE
tu fais un subform qui ne repprend que la partie que tu souhaite modifiable et tu appel le subform dans le dialogbox le reste se fera tout seul

MessagePublié: 19 Fév 2010 à 15:04
par guyader
code du bouton dans ma vue :
@DialogBox("dialac"; [AutoHorzFit] : [AutoVertFit]; "saisie du numéro de ticket")

sélection du document, click sur le bouton , entrée du Ticket et OK

la zone ticket identique du masque n'est pas mise à jour ...

j'ai du code dans le postsave !!


merci

MessagePublié: 21 Fév 2010 à 18:54
par oguruma
Bon à priori il faut te fournir le mode de conception, le voici (qui est pourtant très simple) et je recommande de passer par LS qui offre plus de souplesse :
1) Mettre un bouton dans la vue
2) Associer un agent LS à ce bouton
3) Ce bouton fera appel à une bibliothèque LS qui fournira un point d'entrée - On pourra appeler cette bibliothèque L_ActionsVue
4) Ton agent fera un Use "L_ActionsVue"
5) Sur l'événement Click tu feras un Call MAJ_TICKET( )
MAJ_TICKET sera une procédure de ta bibliothèque
6) MAJ_TICKET sera appel à une fonction d'intilisation de l'environnement et NotesSession puis NotesUIWorkspace (pour la gestion des dlg personnalisée - voir mon tutu sur ce forum LS Avancé où j'en parle)
7) Tu dessines une DLG (un masque de préférence) dans lequel tu codes un champ hébergeant la saisie du champ ticket
8) Ta procédure MAJ_TICKET se charge de récupérer le document en cours de sélection (UnprocessDocument... voir les propriétés de NotesDatabase -- cette propriété renvoie une collection - faire un GetFirstDocument pour récupérer le document sélectionné - Tu as donc en posséssion l'object NotesDocument du document sélectionné)
9) Avant d'afficher la Dlg par la méthode Dialogbox de NotesUIWorkspace tu récupères la valeur du champ dans le document et tu la passes dans le champs temporaire de saisie te ta boites de dialogue
9) à l'issue de la saisie récupère la valeur du champ temporaire de la Dlg
10) tu l'affectes au champ du document
11) puis tu termines par un save du document soit par exemple
Call hDoc.save(true,false)
si j'avais un peu plus de temps je te ferai un bout de code mais je pense aussi que sur le forum tu as tous les éléments pour le faire seul et il y aussi la toile internet

MessagePublié: 23 Fév 2010 à 09:56
par guyader
bonjour,

j'ai renseigné l'évènement Click de l'agent avec Call MAJ_TICKET()


mais il faut un argument !! hors sur l'agent lequel ??

merci

MessagePublié: 23 Fév 2010 à 10:06
par Michael DELIQUE
un argument ?

ou ça ?

MessagePublié: 23 Fév 2010 à 10:56
par oguruma
Je te recommande la lecture des tuto disponibles sur ce site.... ils devraient éclairer ta lanterne
nous ne pouvons pas je pense... faire plus sauf te coder entièrement ton application mais ce ne pas le but du site

en résumé
il faut faire un agent activer via le bouton de la vue qui affichera une boite de dialogue avec le champ en question, modifier ce champ et enregistrer le document
tu peux soit le faire en @Formule (moins de souplesses) ou en LS

autre possibilité tu peux faire un autre masque qui va uniquement contenir le champ en question et le champ caché Form dans lequel il y aura le masque réel et mettre dans la vue un formule de masque qui va ouvrir le bon masque en fonction du contexte