Précédent   Forum du club des développeurs et IT Pro > Logiciels > Solutions d'entreprise > Lotus Notes
Lotus Notes Forum d'entraide sur le logiciel de travail collaboratif Lotus Notes
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 30/08/2012, 17h45   #1
edubourg
Invité régulier
 
Inscription : juin 2012
Messages : 20
Détails du profil
Informations forums :
Inscription : juin 2012
Messages : 20
Points : 9
Points : 9
Par défaut Aide développement Lotus Designer

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 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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.

Comment faire ?

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
edubourg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2012, 10h09   #2
edubourg
Invité régulier
 
Inscription : juin 2012
Messages : 20
Détails du profil
Informations forums :
Inscription : juin 2012
Messages : 20
Points : 9
Points : 9
Par défaut Requête Lotus Script

J'ai codé dans ma fonction ceci :

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

Maintenant je vois apparaître le nombre de lignes de ma vue intégrée.

Quelle est la valeur par défaut de TOTAL_REPAS ?

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 ?
edubourg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2012, 14h54   #3
Zabriskir
Membre actif
 
Inscription : juin 2006
Messages : 189
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 189
Points : 192
Points : 192
Bonjour,

Pourquoi ne pas stocker le prix dans chaque document repas et faire une catégorie dans votre vue avec une colonne total ?
Vous éviteriez tous ces bricolages avec les évènements recalc, les problèmes de types de données et le reste. Et peut-être plus besoin d'intégrer la vue dans un masque.

@+
Zabriskir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2012, 15h39   #4
edubourg
Invité régulier
 
Inscription : juin 2012
Messages : 20
Détails du profil
Informations forums :
Inscription : juin 2012
Messages : 20
Points : 9
Points : 9
Bonjour,

Citation:
Envoyé par Zabriskir Voir le message
Bonjour,

Pourquoi ne pas stocker le prix dans chaque document repas et faire une catégorie dans votre vue avec une colonne total ?
Vous éviteriez tous ces bricolages avec les évènements recalc, les problèmes de types de données et le reste. Et peut-être plus besoin d'intégrer la vue dans un masque.

@+
J'ai essayé cette solution, mais le tarif du repas n'est pas le même pour tous. Le tarif dépend du code agent, et cela peut être affiché dans une vue intégrée. Je vais travailler sur cette piste toutefois.

Je sais que c'est plus complexe les événements recalc, mais je sais que l'utilisateur devra supprimer des repas dans la vue intégrée, puis il pourra en rajouter.
edubourg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2012, 17h42   #5
edubourg
Invité régulier
 
Inscription : juin 2012
Messages : 20
Détails du profil
Informations forums :
Inscription : juin 2012
Messages : 20
Points : 9
Points : 9
J'ai résolu mon problème, en modifiant ma fonction

Code :
1
2
3
4
5
	chaine = Cstr(compteur)
	Call source.FieldSetText( "TOTAL_REPAS", chaine)
	prixtotal = compteur* source.FieldgetText( "PRIX_UNITAIRE")
	chaine2 = Cstr(prixtotal)
	Call source.FieldSetText( "PRIX_TOTAL",chaine2)
Je peux supprimer des items, et les champs se modifient ensuite.
edubourg est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 04h28.


 
 
 
 
Partenaires

Hébergement Web