Demande sur Lotus Script / langage de formules

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

Demande sur Lotus Script / langage de formules

Messagepar Eric SIVOA » 31 Août 2012 à 13:33

Bonjour,

Dans un masque, j'ai inséré une vue intégrée qui compte n enregistrements.

Je veux récupérer cette valeur n dans un champ Nombre de type calculé donc. Que j'appelle dans mon masque TOTAL_REPAS

J'ai programmé l'événement suivant

Code : Tout sélectionner
Sub Queryrecalc(Source As Notesuidocument, Continue As Variant)
   Dim session As New NotesSession
   Dim vuecompt As NotesView
   Dim basecompt As NotesDatabase
   
   Dim compteur As Variant
   Dim nomagent As Variant
   
   Set basecompt = session.CurrentDatabase
   Set vuecompt = basecompt.GetView("vrepasparagent")
   
   compteur = 0
   
   Set doc = vuecompt.getFirstdocument()
   nomagent = doc.GetItemValue("nomagentrepas")
   
   Do While (Not doc Is Nothing And nomagent(0) <> "")
      compteur = compteur + 1
      Set doc = vuecompt.GetNextDocument(doc)
      nomagent = doc.GetItemValue("nomagentrepas")
   Loop
   
   'enregistrer la valeur compteur dans variable Total_Repas
   Msgbox "compteur =  " &compteur
   
End Sub


Dans le msgbox, j'ai bien la bonne valeur qui m'est remontée.
Je veux que cette valeur soit stockée dans le champ du masque TOTAL_REPAS.

chaine = Cstr(compteur)
Call source.FieldSetText( "TOTAL_REPAS", chaine)

Avec ces deux lignes intégrées à la fonction, je vois apparaître le nombre de lignes de ma vue intégrée.

Mais comment faire pour que la valeur de TOTAL_REPAS dans une formule du type, dans un champ calculé PRIX_TOTAL (PRIX_UNITAIRE est un champ calculé, dont j'ai la valeur) soit prise en compte ?

@If (@IsNumber(@TextToNumber(PRIX_UNITAIRE)); @TextToNumber(PRIX_UNITAIRE) * TOTAL_REPAS;0)

Par exemple, si l'événement Lotus Script me retourne 4 dans total_repas, et que le prix unitaire soit égal à 2.50 comment faire pour avoir dans PRIX_TOTAL la valeur de 10 ?


Dans le même ordre d'idée, j'aimerais pouvoir supprimer et/ou ajouter des enregistrements de la vue intégrée.

Pour la suppression d'enregistrements, pas de problèmes. Mais comment faire pour que ce soit répercuté dans TOTAL_REPAS ? Par les événements en Lotus Script Query recalc ou Post recalc ?

Comment faire pour ajouter des enregistrements ?

D'avance merci !

Je débute en Lotus Designer / Langage de Formules et Lotus Script et je bute sur ça
Eric SIVOA
Premier posts
Premier posts
 
Message(s) : 17
Inscrit(e) le : 09 Juil 2012 à 10:52

Re: Demande sur Lotus Script / langage de formules

Messagepar Michael DELIQUE » 31 Août 2012 à 15:20

salut

pour la question 1

essais Call source.FieldSetText( "PRIX_TOTAL",compteur*2.5)

pour la question 2

je te conseil de faire une fonction que tu pourra appeller dans le query/post refresh et apres chaque ajout/suppression dans ta vue.
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

Re: Demande sur Lotus Script / langage de formules

Messagepar Eric SIVOA » 31 Août 2012 à 15:48

J'ai constitué une vue pour mettre en regard le nom de l'agent et le code tarif, de 0 à 3.
On a une table de n enregistrements.
Comme je l'ai fait pour le comptage, je peux parcourir cette table.

Pour l'agent qui supprime/ajoute ses repas, il me faut le nom de l'agent. Soit l'équivalent d'une commande @Name([CN];nom) mais en Lotus Script.
Récupérer ce nom et garder le code tarif qui va avec.

Avec ce code tarif, aller lire une autre vue pour récupérer le coût du repas, donc soit 0, 2.50; 4.00 ou 7.00

Pour lire les vues, je sais faire.

Mais il me faut la clé d'entrée, le nom de l'agent pour pouvoir calculer dans la fonction : prix total = prix du repas * nombre du repas
Dernière édition par Eric SIVOA le 31 Août 2012 à 16:21, édité 1 fois.
Eric SIVOA
Premier posts
Premier posts
 
Message(s) : 17
Inscrit(e) le : 09 Juil 2012 à 10:52

Re: Demande sur Lotus Script / langage de formules

Messagepar Michael DELIQUE » 31 Août 2012 à 15:56

et bien un truc dans ce genre

Call source.FieldSetText( "PRIX_TOTAL",compteur* source.FieldgetText( "PRIX_REPAS"))
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

Re: Demande sur Lotus Script / langage de formules

Messagepar Eric SIVOA » 31 Août 2012 à 16:33

Michael DELIQUE a écrit:et bien un truc dans ce genre

Call source.FieldSetText( "PRIX_TOTAL",compteur* source.FieldgetText( "PRIX_REPAS"))


Ca y est, ça marche
Merci beaucoup
et beaucoup moins prise de tête que la solution auquel je réfléchissais.

Un point de réglé donc.

Merci pour l'aide pour un débutant en Lotus Script !
Eric SIVOA
Premier posts
Premier posts
 
Message(s) : 17
Inscrit(e) le : 09 Juil 2012 à 10:52

Re: Demande sur Lotus Script / langage de formules

Messagepar Michael DELIQUE » 31 Août 2012 à 16:45

pas de souci.

dis moi, as tu lu ça => viewtopic.php?f=68&t=12997
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

Re: Demande sur Lotus Script / langage de formules

Messagepar Eric SIVOA » 01 Oct 2012 à 16:39

Michael DELIQUE a écrit:pas de souci.

dis moi, as tu lu ça => viewtopic.php?f=68&t=12997


Oui j'ai commencé par lire ce document, et j'ai eu ensuite une formation de base sur Lotus Script & Lotus Designer
Eric SIVOA
Premier posts
Premier posts
 
Message(s) : 17
Inscrit(e) le : 09 Juil 2012 à 10:52


Retour vers Développement