]> git.llucax.com Git - z.facultad/75.06/emufs.git/blob - emufs_gui/facturas.h
no anda perfecto pero ahora actualiza mucho mejor el fsc
[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
16 typedef struct _t_item_ {
17         int numero;
18         char cv[9];
19         char pvu[9];
20 } t_Item;
21
22 typedef struct _facturas_ {
23         /* Dejo los campos numericos al principio para mayor facilidad de parseo. */
24         int numero;
25         float procdoi;
26         int numero_remito;
27         int cant_items;
28         EMUFS_BLOCK_ID reg_nota;
29         char emision[9];
30         char vencimiento[9];
31         char estado[3];
32         char fp[3];
33         char ctacte[6];
34         char cheque[19];
35         char *nota;
36         t_Item *items;
37 } t_Factura;
38
39 typedef struct _reg_factura_ {
40         EMUFS_REG_ID num_reg; /* numero de registro en el archivo */
41         EMUFS_REG_ID texto_reg; /* numero de registro donde se encuentra el texto */
42         unsigned int numero; /* codigo de factura */
43         struct _reg_factura_ *sig, *ant;
44 } t_Reg_Factura;
45
46 typedef struct _lista_facturas_ {
47         t_Reg_Factura *primero;
48         EMUFS *fp; /* Filepointer al archivo donde estan los datos */
49         EMUFS *fp_texto; /* Filepointer al archivo donde estan los textos */
50 } t_LstFacturas;
51
52
53 /** Crea la lista de facturas desde un archivo nuevo o existente
54  *
55  *  \param filename Si es NULL trata de abrir un archivo existente, si no cargar el XML pasado
56  */
57 t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque, int tipo_nota, int bloque_nota);
58
59 /** Elimina toda la memoria utilizada por las facturas */
60 int fact_liberar(t_LstFacturas *l);
61
62 /** Agregar una factura */
63 void fact_agregar(char *s);
64
65 /** Modificar una factura */
66 void fact_modificar(char *s);
67
68 /** Eliminar una factura */
69 void fact_eliminar(char *s);
70
71 /** Obtiene la list de facturas */
72 t_LstFacturas *fact_get_lst();
73
74 void fact_reformatear(int tipo, int tam_bloque, int tam_reg, int nota_tipo, int nota_tam_bloque, int nota_tam_registro);
75
76 int fact_exportar_xml(const char *filename);
77
78 #endif