Ce module montre comment appeler une fenêtre d'historique de documents de ventes de la gestion commerciale. Cette fenêtre est normalement visible via le menu "Fenêtres / Historique Clients". Cette programmation exploite la méthode ShowHistWithReqSql de Globals.Main. Cette méthode requiert 3 paramètres :
- Le type d'historique souhaité
- V pour les ventes
- A pour les achats
- P pour les documents de production
- C pour les écritures comptables
- La requête SQL à exécuter pour extraire les lignes que l'on souhaite voir dans la fenêtre
- Un boolean indiquant si on souhaite imprimer les documents (ignoré si type = C)
Il est essentiel que la requête SQL soit d'une structure identique à la requête SQL passée par Mercator lors de l'appel de la fenêtre d'historique correspondante. Au besoin, on peut écrire temporairement un customizer d'historique (HistCli, HistFou, HistProd ou HistCpta) et y implémenter l'interface IStringUpdater afin d'intercepter la requête standard dans la méthode StringUpdate.
Le code de ce module peut s'établir comme suit :
string reqSql = "select pieds_v.id,journal,piece,reference,type,date,heure,0 as tot_bas_dv,0 as tot_bas_fb,net_dv as tot_ttc_dv,net_fb as tot_ttc_fb,n_dec,id_dev,imprime,cubic as flag_appl,niveau_bo,c_nom,devises.nom as dev_nom "
+ "from pieds_v (NOLOCK) inner join cli (NOLOCK) on (pieds_v.id_cli=cli.c_id) "
+ "inner join devises(NOLOCK) on (pieds_v.id_dev=devises.id) where ... order by ...";
Globals.Main.ShowHistWithReqSql("V", reqSql, false);
Notez qu'il existe également les méthodes :
- ShowHistTransfWithReqSql de Globals.Main pour appeler une fenêtre d'historique de transferts de dépôt
- ShowHistInventWithReqSql de Globals.Main pour appeler une fenêtre d'historique d'inventaires.
Pour fixer le titre de la fenêtre d'historique, il faut modifier cette ligne :
Globals.Main.ShowHistWithReqSql("V", reqSql, false, null, "Titre de la fenêtre");