X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/46681084b842380621fe70d8a34fffe8f1efb5f6..2ad9bce43bb5b8f16eb48503c23c42a2e4865bba:/emufs_gui/facturas.h?ds=sidebyside diff --git a/emufs_gui/facturas.h b/emufs_gui/facturas.h index 5919d79..db3561f 100644 --- a/emufs_gui/facturas.h +++ b/emufs_gui/facturas.h @@ -3,39 +3,83 @@ #define _FACTURAS_H_ #include "emufs.h" +#include "form.h" +#include "common.h" #include #include #include #include +#include +#include +#include +#include "gui.h" +typedef struct _t_item_ { + int numero; + char cv[9]; + char pvu[9]; +} t_Item; + +/* Dejo los campos numericos al principio para mayor facilidad de parseo. */ typedef struct _facturas_ { 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(t_Parametros *param); + +/** 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); + +void fact_consultas(char *s); + +int fact_exportar_xml(const char *filename); + +void fact_recorrer(); + +int fact_hay_con_item(int numero); + +#endif