13 #include <libxml/tree.h>
14 #include <libxml/parser.h>
17 typedef struct _t_item_ {
23 /* Dejo los campos numericos al principio para mayor facilidad de parseo. */
24 typedef struct _facturas_ {
29 EMUFS_BLOCK_ID reg_nota;
40 typedef struct _reg_factura_ {
41 EMUFS_REG_ID num_reg; /* numero de registro en el archivo */
42 EMUFS_REG_ID texto_reg; /* numero de registro donde se encuentra el texto */
43 unsigned int numero; /* codigo de factura */
44 struct _reg_factura_ *sig, *ant;
47 typedef struct _lista_facturas_ {
48 t_Reg_Factura *primero;
49 EMUFS *fp; /* Filepointer al archivo donde estan los datos */
50 EMUFS *fp_texto; /* Filepointer al archivo donde estan los textos */
54 /** Crea la lista de facturas desde un archivo nuevo o existente
56 * \param filename Si es NULL trata de abrir un archivo existente, si no cargar el XML pasado
58 t_LstFacturas *fact_cargar(t_Parametros *param);
60 /** Elimina toda la memoria utilizada por las facturas */
61 int fact_liberar(t_LstFacturas *l);
63 /** Agregar una factura */
64 void fact_agregar(char *s);
66 /** Modificar una factura */
67 void fact_modificar(char *s);
69 /** Eliminar una factura */
70 void fact_eliminar(char *s);
72 /** Obtiene la list de facturas */
73 t_LstFacturas *fact_get_lst();
75 void fact_reformatear(int tipo, int tam_bloque, int tam_reg, int nota_tipo, int nota_tam_bloque, int nota_tam_registro);
77 void fact_consultas(char *s);
79 int fact_exportar_xml(const char *filename);
83 int fact_hay_con_item(int numero);