X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/46681084b842380621fe70d8a34fffe8f1efb5f6..24b28f65b96a6b8d067751e3bf6715453df781aa:/emufs_gui/facturas.h diff --git a/emufs_gui/facturas.h b/emufs_gui/facturas.h index 5919d79..56f67bc 100644 --- a/emufs_gui/facturas.h +++ b/emufs_gui/facturas.h @@ -3,39 +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[10000]; - 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); + + +/** 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); -#endif +/** 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