X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/d1aba415c74a504ffcd56a77878d24661db1f98c..8d40bc6eee138ef1b3ada1191fb1b2467062171e:/emufs_gui/facturas.h?ds=sidebyside diff --git a/emufs_gui/facturas.h b/emufs_gui/facturas.h index d8108b0..56f67bc 100644 --- a/emufs_gui/facturas.h +++ b/emufs_gui/facturas.h @@ -3,38 +3,76 @@ #define _FACTURAS_H_ #include "emufs.h" +#include "form.h" +#include "common.h" #include #include #include #include +#include +#include +#include + +typedef struct _t_item_ { + int numero; + char cv[9]; + char pvu[9]; +} t_Item; typedef struct _facturas_ { + /* Dejo los campos numericos al principio para mayor facilidad de parseo. */ int numero; + float procdoi; + int numero_remito; + int cant_items; + EMUFS_BLOCK_ID reg_nota; char emision[9]; char vencimiento[9]; - int numero_remito; char estado[3]; char fp[3]; - float procdoi; char ctacte[6]; char cheque[19]; char *nota; + t_Item *items; } t_Factura; typedef struct _reg_factura_ { EMUFS_REG_ID num_reg; /* numero de registro en el archivo */ EMUFS_REG_ID texto_reg; /* numero de registro donde se encuentra el texto */ unsigned int numero; /* codigo de factura */ + struct _reg_factura_ *sig, *ant; } t_Reg_Factura; typedef struct _lista_facturas_ { - t_Reg_Factura array[100]; - unsigned int cant; + t_Reg_Factura *primero; EMUFS *fp; /* Filepointer al archivo donde estan los datos */ EMUFS *fp_texto; /* Filepointer al archivo donde estan los textos */ } t_LstFacturas; - -t_LstFacturas *fact_cargar(const char *filename); -#endif +/** Crea la lista de facturas desde un archivo nuevo o existente + * + * \param filename Si es NULL trata de abrir un archivo existente, si no cargar el XML pasado + */ +t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque, int tipo_nota, int bloque_nota); + +/** Elimina toda la memoria utilizada por las facturas */ +int fact_liberar(t_LstFacturas *l); + +/** Agregar una factura */ +void fact_agregar(char *s); + +/** Modificar una factura */ +void fact_modificar(char *s); + +/** Eliminar una factura */ +void fact_eliminar(char *s); + +/** Obtiene la list de facturas */ +t_LstFacturas *fact_get_lst(); + +void fact_reformatear(int tipo, int tam_bloque, int tam_reg, int nota_tipo, int nota_tam_bloque, int nota_tam_registro); + +int fact_exportar_xml(const char *filename); + +#endif