]> git.llucax.com Git - z.facultad/75.06/emufs.git/blob - emufs_gui/facturas.h
retoques previos a la entrega. (que peligro :-D)
[z.facultad/75.06/emufs.git] / emufs_gui / facturas.h
1
2 #ifndef _FACTURAS_H_
3 #define _FACTURAS_H_
4
5 #include "emufs.h"
6 #include "form.h"
7 #include "common.h"
8 #include <string.h>
9 #include <stdlib.h>
10 #include <time.h>
11 #include <string.h>
12 #include <curses.h>
13 #include <libxml/tree.h>
14 #include <libxml/parser.h>
15 #include "gui.h"
16
17 typedef struct _t_item_ {
18         int numero;
19         char cv[9];
20         char pvu[9];
21 } t_Item;
22
23 /* Dejo los campos numericos al principio para mayor facilidad de parseo. */
24 typedef struct _facturas_ {
25         int numero;
26         float procdoi;
27         int numero_remito;
28         int cant_items;
29         EMUFS_BLOCK_ID reg_nota;
30         char emision[9];
31         char vencimiento[9];
32         char estado[3];
33         char fp[3];
34         char ctacte[6];
35         char cheque[19];
36         char *nota;
37         t_Item *items;
38 } t_Factura;
39
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;
45 } t_Reg_Factura;
46
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 */
51 } t_LstFacturas;
52
53
54 /** Crea la lista de facturas desde un archivo nuevo o existente
55  *
56  *  \param filename Si es NULL trata de abrir un archivo existente, si no cargar el XML pasado
57  */
58 t_LstFacturas *fact_cargar(t_Parametros *param);
59
60 /** Elimina toda la memoria utilizada por las facturas */
61 int fact_liberar(t_LstFacturas *l);
62
63 /** Agregar una factura */
64 void fact_agregar(char *s);
65
66 /** Modificar una factura */
67 void fact_modificar(char *s);
68
69 /** Eliminar una factura */
70 void fact_eliminar(char *s);
71
72 /** Obtiene la list de facturas */
73 t_LstFacturas *fact_get_lst();
74
75 void fact_reformatear(t_Parametros *param);
76
77 void fact_consultas(char *s);
78
79 int fact_exportar_xml(const char *filename);
80
81 void fact_recorrer();
82
83 int fact_hay_con_item(int numero);
84
85 #endif