X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/78ff3129342b5ae75673aac710820805fe5e3f41..a6a12cf00618bfc651d623d8e9ef85085ce3c295:/emufs_gui/facturas.c?ds=sidebyside diff --git a/emufs_gui/facturas.c b/emufs_gui/facturas.c index f5bde1d..64ce9bc 100644 --- a/emufs_gui/facturas.c +++ b/emufs_gui/facturas.c @@ -237,6 +237,7 @@ t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque, int t void *save; memset(&fact, 0, sizeof(t_Factura)); prop = xml_get_prop(node, "NroFac"); + PERR(prop); fact.numero = atoi(prop); xmlFree(prop); prop = xml_get_prop(node, "PorcDoI"); fact.procdoi = atof(prop); xmlFree(prop); @@ -264,9 +265,15 @@ t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque, int t save = procesar_guardar_factura(&fact, lst_facturas, &size); if (save != NULL) { error = 0; - id = tmp->fp->grabar_registro(tmp->fp, save, size, &error); - if (fact.items) free(fact.items); - if (fact.nota) free(fact.nota); + tmp->fp->grabar_registro(tmp->fp, save, size, &error); + if (fact.items) { + free(fact.items); + fact.items = NULL; + } + if (fact.nota) { + free(fact.nota); + fact.nota = NULL; + } free(save); } } @@ -344,6 +351,7 @@ t_Factura *fact_buscar(t_LstFacturas *lst, int numero, EMUFS_REG_ID *id, EMUFS_R fact = NULL; k = emufs_indice_generar_clave_desde_valor(lst->fp->indices, (char*)&numero); + error = 0; leo = lst->fp->leer_registro(lst->fp, k, &size, &error); if (leo != NULL) { fact = (t_Factura *)malloc(sizeof(t_Factura)); @@ -358,6 +366,7 @@ t_Factura *fact_buscar(t_LstFacturas *lst, int numero, EMUFS_REG_ID *id, EMUFS_R */ free(leo); k.i_clave = fact->reg_nota; + error = 0; fact->nota = lst->fp_texto->leer_registro(lst->fp_texto, k, &size, &error); } @@ -938,6 +947,27 @@ int fact_exportar_xml(const char *filename) return 1; } +char *get_estado(char *s) +{ + if (strcmp(s, "PN")==0) return "Pago Normal"; + if (strcmp(s, "CD")==0) return "Credito al dia"; + if (strcmp(s, "CM")==0) return "Credito en mora"; + if (strcmp(s, "SF")==0) return "Cheque sin fondos"; + if (strcmp(s, "PM")==0) return "Pagada con Mora"; + if (strcmp(s, "NC")==0) return "No Cobrada"; + + return s; +} + +char *get_forma_pago(char *s) +{ + if (strcmp(s, "CO") == 0) return "Contado"; + if (strcmp(s, "CR") == 0) return "Credito"; + if (strcmp(s, "CH") == 0) return "Cheque"; + + return s; +} + void fact_consultas_codigos(char *s) { EMUFS_REG_ID dummy; @@ -975,8 +1005,8 @@ void fact_consultas_codigos(char *s) /* Creo las columnas */ lista_agregar_columna(lista, DATO_INT, 0, 8); /* numero */ lista_agregar_columna(lista, DATO_STR, 10, 9); /* emision */ - lista_agregar_columna(lista, DATO_STR, 20, 3); /* estado */ - lista_agregar_columna(lista, DATO_STR, 25, 3); /* fp */ + lista_agregar_columna(lista, DATO_STR, 20, 19); /* estado */ + lista_agregar_columna(lista, DATO_STR, 40, 9); /* fp */ /* Leo los datos desde el archivo */ for(i=desde_codigo; i<=hasta_codigo; i++) { @@ -985,8 +1015,8 @@ void fact_consultas_codigos(char *s) lista_agregar_fila(lista, factura->numero, factura->emision, - factura->estado, - factura->fp + get_estado(factura->estado), + get_forma_pago(factura->fp) ); } } @@ -1045,8 +1075,8 @@ void fact_consultas_varias(char *nombre_indice, char *titulo) /* Creo las columnas */ lista_agregar_columna(lista, DATO_INT, 0, 8); /* numero */ lista_agregar_columna(lista, DATO_STR, 10, 9); /* emision */ - lista_agregar_columna(lista, DATO_STR, 20, 3); /* estado */ - lista_agregar_columna(lista, DATO_STR, 25, 3); /* fp */ + lista_agregar_columna(lista, DATO_STR, 20, 19); /* estado */ + lista_agregar_columna(lista, DATO_STR, 40, 9); /* fp */ /* Leo los datos desde el archivo */ datos = emufs_buscar_registros(fs, nombre_indice, desc, &cant); @@ -1059,8 +1089,8 @@ void fact_consultas_varias(char *nombre_indice, char *titulo) lista_agregar_fila(lista, factura.numero, factura.emision, - factura.estado, - factura.fp + get_estado(factura.estado), + get_forma_pago(factura.fp) ); free(tmp); } else {