]> git.llucax.com Git - z.facultad/75.06/emufs.git/blob - emufs_gui/facturas.h
* BUGFIX : Cuando se usa -a o -f con tipo 2 ahora no se cuelga (falto un if :-)
[z.facultad/75.06/emufs.git] / emufs_gui / facturas.h
1
2 #ifndef _FACTURAS_H_
3 #define _FACTURAS_H_
4
5 #include "emufs.h"
6 #include "form.h"
7 #include <string.h>
8 #include <stdlib.h>
9 #include <time.h>
10 #include <string.h>
11 #include <curses.h>
12 #include <libxml/tree.h>
13 #include <libxml/parser.h>
14
15 typedef struct _t_item_ {
16         int numero;
17         char cv[9];
18         char pvu[9];
19 } t_Item;
20
21 typedef struct _facturas_ {
22         /* Dejo los campos numericos al principio para mayor facilidad de parseo. */
23         int numero;
24         float procdoi;
25         int numero_remito;
26         int cant_items;
27         EMUFS_BLOCK_ID reg_nota;
28         char emision[9];
29         char vencimiento[9];
30         char estado[3];
31         char fp[3];
32         char ctacte[6];
33         char cheque[19];
34         char *nota;
35         t_Item *items;
36 } t_Factura;
37
38 typedef struct _reg_factura_ {
39         EMUFS_REG_ID num_reg; /* numero de registro en el archivo */
40         EMUFS_REG_ID texto_reg; /* numero de registro donde se encuentra el texto */
41         unsigned int numero; /* codigo de factura */
42         struct _reg_factura_ *sig, *ant;
43 } t_Reg_Factura;
44
45 typedef struct _lista_facturas_ {
46         t_Reg_Factura *primero;
47         EMUFS *fp; /* Filepointer al archivo donde estan los datos */
48         EMUFS *fp_texto; /* Filepointer al archivo donde estan los textos */
49 } t_LstFacturas;
50
51
52 /** Crea la lista de facturas desde un archivo nuevo o existente
53  *
54  *  \param filename Si es NULL trata de abrir un archivo existente, si no cargar el XML pasado
55  */
56 t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque);
57
58 /** Elimina toda la memoria utilizada por las facturas */
59 int fact_liberar(t_LstFacturas *l);
60
61 /** Agregar una factura */
62 void fact_agregar(char *s);
63
64 /** Modificar una factura */
65 void fact_modificar(char *s);
66
67 /** Eliminar una factura */
68 void fact_eliminar(char *s);
69
70 /** Obtiene la list de facturas */
71 t_LstFacturas *fact_get_lst();
72
73 #endif
74