Page 1 sur 1
Somme dans une vue et sélection d'une période

Publié:
05 Déc 2003 à 08:29
par Christine
Bonjour...J'ai une vue qui comporte dans une première colonne une catégorie, dans une deuxième colonne une date d'achat et dans une troisième colonne un montant total d'achat.J'ai créé un masque dans lequel l'utilisateur choisit la catégorie (champ de liste déroulante). Dans un bouton, j'ai mis une formule qui permet de calculer le total des achats pour la catégorie choisie.J'aimerais que l'utilisateur puisse entrer des dates début et fin pour sa requête. Je ne vois pas du tout comment faire. Qui aurait une idée (en formule si possible, je ne connais pas le LotusScript) ? Merci d'avance... Je suis perdue !Voici le code entré dans le bouton :h := @DbLookup( "" : "" ; "" ; "Achats";@Text(Categorie);5 ) ;Total :=@Sum(h);@Prompt( [OK] ; "Total par catégorie" ; "Total des achats pour la catégorie \" " + Categorie + " \" : " + @Text( Total ))
Re: Somme dans une vue et sélection d'une période

Publié:
05 Déc 2003 à 09:38
par polbusse
Pour ce genre de choses, un agent de recherche LotusScript marche très bien.voici la méthode a suivre : - créer un masque avec les champ date_debut et date_fin - ajouter un bouton @Command([ToolsRunMacro];"AgtRecherche") - créer un agent "AgtRecherche" - créer un champ "Resultat" de type texteRicheCalculé - affecter le code suivant à l'agent (ce code n'affiche q'un message bidon pour l'instant)Dim session As New NotesSessionDim db as NotesdatabaseDim Mask As NotesDocumentDim Result As NotesRichTextItemOn Error Goto Erreur Set Mask = session.DocumentContextSet db = session.CurrentDatabase If Not Mask.getfirstitem("Resultat") Is Nothing Then Call Mask.removeitem("Resultat")Set Result = Mask.Createrichtextitem("Resultat") 'Set view = db.GetView("VwRechercheByDate")'Call view.refresh()Result.AppendText("<table><tr><td> affichage bidon</td></tr></table>")Exit SubErreur :dim mess as stringmess= "AgtRecherche-initialize : L'erreur n°" & Str(Err) & "est survenue : " & Error$ & ", ligne " & ErlResult.AppendText(mess)
Re: Somme dans une vue et sélection d'une période

Publié:
05 Déc 2003 à 10:21
par Christine
Merci beaucoup pour ton aide.J'ai essayé ce que tu suggères, mais je bloque... Désolé, je n'ai jamais utilisé de LS.- Quand je crée l'agent, dans la zone "Quels documents doit-il traiter", que dois-je sélectionner ? Pour l'instant, j'ai mis tous les docs.- Où dois-je saisir le code LS ? D'habitude en formule, je n'ai qu'un évènement "Action" à gauche de la fenêtre de programmation. Quand je passe en LS, il y en a 4 : (Options), (Declarations), Inizialize et Terminate.Au secours !!!
Re: Somme dans une vue et sélection d'une période

Publié:
05 Déc 2003 à 11:36
par polbusse
Pas de panique.La cible c : Aucune.(mais tous les docs doit marcher aussi).les options c pour les bibliotheques : rien a mettreles déclarations c pour les var globales : rien a mettrel'initiliaze c la procédure principale : mettre tout le code dedanset terminate je n'ai jamis su à quoi ce servait.
Re: Somme dans une vue et sélection d'une période

Publié:
05 Déc 2003 à 11:48
par Christine
OK, y n'y a plus d'erreur de compilation.Je teste donc...Lorsque je clique sur le bouton, il ne se passe rien... hormis le curseur de la souris qui se transforme en sablier. Le message n'apparait pas.Petite précision : l'appli ne tourne qu'en client notes.Peux-tu m'aider à avancer un peu ?
Re: Somme dans une vue et sélection d'une période

Publié:
05 Déc 2003 à 13:46
par polbusse
aaaaaaaaaaaaaaaaaaarrgh...J'aurais du le préciser avant c pour client web. sinon ca peu fonctionner sous client notes en l'ouvrant via une url.ca conviendrait ??
Re: Somme dans une vue et sélection d'une période

Publié:
05 Déc 2003 à 13:49
par Christine
Je crois que je vais te faire désespérer...Via l'url, ça ne va pas être possible...
Re: Somme dans une vue et sélection d'une période

Publié:
05 Déc 2003 à 13:50
par polbusse
et pourquoi ?? si ce n'est pas indiscret..
Re: Somme dans une vue et sélection d'une période

Publié:
05 Déc 2003 à 14:26
par Christine
Les utilisateurs n'ont pas d'accès Internet.
Re: Somme dans une vue et sélection d'une période

Publié:
05 Déc 2003 à 17:11
par PhilippeG
Bonjour, voila un peu de code à mettre dans un bouton dans ton documentJ'ai supposé : - que la vue qui contient les catégorie s'appele "Achats"- Les champs qui contiennent les dates de bornage s'appelent date_debut et date_fin- les documents de la vue achats ont un champ date_achatdis moi si tu rencontres un problème car je n'ai pas testé (je n'ai pas de base avec les bons noms de champs et de vue)bon week endSub Click(Source As Button) Dim session As New notesSession Dim db As NotesDataBase Dim view As NotesView Dim doc As NotesDocument Dim uiws As New NotesUiWorkSpace Dim uidoc As notesUiDocument Dim DateTimeDebut As NotesDateTime Dim DateTimeFin As NotesDateTime Dim DateTimeAchat As NotesDateTime Dim DateDebut As String Dim DateFin As String Dim DateAchat As String Dim total As Integer Set db= session.CurrentDataBase Set view = db.getView("Achats") Set doc = view.GetFirstdocument Set uidoc = uiws.currentdocument DateDebut = uidoc.FieldGetText("Date_Debut") DateFin = uidoc.FieldGetText("Date_Fin") DateAchat = Cstr(doc.date_achat(0)) Set DateTimeDebut = New NotesDateTime(DateDebut) Set DateTimeFin = New NotesDateTime(DateFin) total = 0 Do While Not (doc Is Nothing) Set DateTimeAchat = New NotesDateTime(DateAchat) If DateTimeAchat.TimeDifference(DateTimeDebut) > 0 Then 'La date achat est antérieur à la date spécifiée Else If DateTimeAchat.TimeDifference(DateTimeFin) < 0 Then 'La date achat est postérieure à la date spécifiée Else total = total + doc.total(0) End If End If Set doc = view.GetNextDocument(doc) Loop Messagebox "Le total des achats entre le " + dateDebut + "et le " + dateFin + " est de " + Cstr(Total) End Sub