Interfaces de programmation caisse |
|
------------------------- dbut LIPE-RFC-2-1-a----------------------- LIPE-RFC-N¡ : 2-1 Status : Provisoire rev. a Date : 26-03-2000 Auteurs : Alain Couchot Sujet : Interface de programmation de la Caisse enregistreuse LIPE Mots Cls : RFC, LIPE, LIPE-RFC, API, Caisse Destinataires : Architecture, Contenu : Ce RFC dtermine les interfaces de programmation de la Caisse enregistreuse LIPE, a l'exclusion de toute modalit d'implmentation L'application Caisse est dcompose en trois parties : l'interface utilisateur, le "moteur" de calcul et l'criture du journal. Le premier groupes d'API (Haut niveau) fixe la communication entre l'interface utilisateur et le moteur de calcul, le second groupe (Bas niveau) fixe la communication avec le journal. Les API de bas niveau sont appeles par les fonctions correspondant aux API de haut niveau. 1) API de bas niveau : gestion du journal struct jcl_jour; struct jcl_ticket; int jcl_open( jcl _jour *pj); initialise le journal de caisse (rouvre le fichier ou se connecte au serveur) int jcl_close(jcl _jour *pj); referme le journal de caisse (sortie du programme) int jcl_ticknew(jcl_jour *pj, jcl_ticket *pt) initialise un nouveau ticket int jcl_tickline(jcl_jour *pj, jcl_ticket *pt,char *cat, char *prix_TTC, char * val_TVA) ecrit une ligne de ticket : tous les arguments (catgorie, prix TTC, montant TVA) sont sous forme de texte int jcl_ticktotal(jcl_jour *pj, jcl_ticket *pt,char *mod_pai, char *vendeur, char *tot_TTC, char *tot_TVA) ecrit une ligne de total (mode de paiement, vendeur, total TTC, total TVA) int jcl_RAZ(jcl_jour *pj, jcl_ticket *pt,char *tot_TTC, char *tot_TVA) ecrit une ligne de remise a zero quotidienne 2) API de haut niveau struct cais_data; struct cais_ticket; int cais_open(cais_data *pd); initialise la caisse int cais_close(cais_data *pd); referme la caisse int cais_getvend( char ** vendeurs, int nvend); retourne le tableau des vendeurs int cais_getfam( char ** famille, int nfam); retourne le tableau des familles de produits int cais_getmoy( char ** moyens, int nmoy); retourne le tableau des moyens de paiement int cais_ticknew(cais_data *pd, cais_ticket *pt) initialise un nouveau ticket int cais_tickline(cais_data *pd, cais_ticket *pt,int cat, int qte, float px_TTC) enregistre une ligne de ticket (la categorie et la quantite sont des index dans les tableaux correspondants) int cais_total(cais_data *pd, cais_ticket *pt,int vend, int moy,float *tot_TTC, float *tot_TVA) enregistre la fn du ticket crit la ligne et renvoie les deux totaux (le total TVA est calcul a partir des taux de TVA de chaque famille) int cais_RAZ(cais_data *pd,float *tot_TTC, float *tot_TVA) ecrit une lignede remise a zero quotidienne et renseigne les deux totaux int cais_req(cais_data *pd, cais_ticket *pt,int vend, int, moy, int fam,float *tot_TTC, float *tot_TVA) recalcule le total par vendeur, moyen et famille depuis la dernire remise ˆ zro Toutes les fonctions renvoient 0 si elles se sont bien droules. ------------------------- fin LIPE-RFC-2-1-a-------------------------