#define _FACTURAS_H_
#include "emufs.h"
+#include "form.h"
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
+#include <curses.h>
+#include <libxml/tree.h>
+#include <libxml/parser.h>
+
+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;
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);
+t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque);
int fact_liberar(t_LstFacturas *l);
+void fact_agregar(char *s);
+void fact_modificar(char *s);
+
#endif