Comment mettre à jour données masque après action ?

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

Comment mettre à jour données masque après action ?

Messagepar Eric SIVOA » 08 Oct 2012 à 14:55

Bonjour,

J'ai développé la routine suivante

Code : Tout sélectionner
Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim vuecompt As NotesView
   Dim basecompt As NotesDatabase
   
   Dim compteur As Integer
   Dim prixtotal As Integer
   Dim nomagent As Variant
   Dim nom2 As Variant
   Dim daterepas As Variant
   Dim date_repas_supprime As Variant
   Dim repasreserve As Variant
   
   Dim chaine As String
   Dim chaine2 As String
   
   Dim doc As NotesDocument
   Dim nDoc As NotesDocument
   Dim erreur As Integer
   
   'demande suppression repas
   date_repas_supprime = Inputbox ("Date du repas à supprimer sous format JJ/MM/YYYY : ", "Suppression repas")
   erreur = 0
   
   'suppression du repas - s'assurer que la date est bonne : pas un samedi ou un dimanche
   If Weekday(Cvdate(date_repas_supprime)) = 1 Then
      Msgbox ("erreur : le jour choisi pour le repas supprimé est un dimanche")
      erreur = 1
   End If
   
   If Weekday(Cvdate(date_repas_supprime)) = 7  Then
      Msgbox ("erreur : le jour choisi pour le repas supprimé est un samedi")
      erreur = 1
   End If
   
   'la date supprimée ne doit pas être un jour férié
   Dim mvueferie As NotesView
   Dim mjourferie As NotesDatabase
   Dim repasdoc As NotesDocument
   Dim datetravail As Variant
   
   Set mjourferie = session.CurrentDatabase
   Set mvueferie = mjourferie.GetView("jourferie")
   
   Set repasdoc = mvueferie.GetFirstDocument
   Do While (Not repasdoc Is Nothing)
      datetravail = repasdoc.GetItemValue("AllHolidays")
      If date_repas_supprime = Cstr(datetravail(0)) Then
         Msgbox ("le jour choisi pour le repas supprimé est un jour férié")
         erreur = 1
      End If
      Set repasdoc = mvueferie.GetNextDocument(repasdoc)
   Loop
   
   'la date supprimée doit être dans plus de 7 jours, pas avant
   Dim datecourante As Variant
   
   datecourante = Today()
   datefuture = datecourante + 7
   
   If Cdat(date_repas_supprime) >= Cdat(date_courante) And Cdat(date_repas_supprime) <= Cdat(datefuture) Then
      Msgbox ("Repas trop proche : impossible de le supprimer")
      erreur = 1
   End If
   
   If Cdat(date_repas_supprime) <= Cdat(datecourante) Then
      Msgbox ("Repas déjà pris, impossible de le supprimer")
      erreur = 1
   End If
   
   'suppression de la date du repas
   If erreur = 0 Then
      
      Dim workspace As New NotesUIWorkspace
      Dim Agent As NotesUIDocument
      Set Agent = workspace.CurrentDocument
      
      Dim AgentMasque As Variant
      
      AgentMasque = Agent.FieldGetText("NOM_AGENT")
      
      Set basecompt = session.CurrentDatabase
      Set vuecompt = basecompt.GetView("vrepasdumois")
      
      Set doc = vuecompt.getFirstdocument()
      nomagent = doc.GetItemValue("nomagentrepas")
      daterepas = doc.GetItemValue("daterepas")
      
      Dim str_date As Variant
      Dim str_agent As Variant
      erreur = 1
      
       'suppression du repas
      Do While (Not doc Is Nothing)
         nomagent = doc.GetItemValue("nomagentrepas")
         daterepas = doc.GetItemValue("daterepas")
         str_date = Cstr (daterepas(0))
         str_agent = Cstr (nomagent(0))
         
         If AgentMasque = str_agent And Cdat(date_repas_supprime) = Cdat(str_date) Then
            Set nextDoc = vuecompt.GetNextDocument(doc)
            Call doc.Remove(True)
            Set doc = nextDoc
            erreur = 0
         Else
      'document suivant
            Set doc = vuecompt.GetNextDocument(doc)
         End If
         
      Loop
      
   End If
   
   'suppression impossible
   If erreur = 1 Then
      Msgbox ("Repas non trouvé, impossible de le supprimer")
   End If
   
End Sub


Elle permet de supprimer un enregistrement dans une liste intégrée de données (nom utilisateur, date).
Je sais que la fonction fonctionne comme je le désire, je supprime mon enregistrement, je sors du masque, je ré exécute le masque, et mon enregistrement a bien été supprimé

Mais il me manque une info pour que ce soit parfait :
je voudrais mettre à jour les données du masque SANS avoir à sortir du masque. Comment faire ?
D'avance, merci
Eric SIVOA
Premier posts
Premier posts
 
Message(s) : 17
Inscrit(e) le : 09 Juil 2012 à 10:52

Re: Comment mettre à jour données masque après action ?

Messagepar Michael DELIQUE » 08 Oct 2012 à 15:22

salut

un uidoc.refresh ?
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


Retour vers Développement

cron