X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/5a9b2bb828b925aa8082bf117a91cf1e77dd0464..866ee030a930b725a701bd35445b1bcd82506a87:/emufs_gui/facturas.c?ds=sidebyside diff --git a/emufs_gui/facturas.c b/emufs_gui/facturas.c index 153b5cb..c3a82ff 100644 --- a/emufs_gui/facturas.c +++ b/emufs_gui/facturas.c @@ -232,8 +232,8 @@ t_LstFacturas *fact_cargar(t_Parametros *param) cant_items = 0; } tmp->fp = emufs_crear("facturas", param->tipo_arch_fact, param->tam_bloque_fact, sizeof(t_Factura)-sizeof(char *)-sizeof(t_Item*)+cant_items*sizeof(t_Item)); - emufs_agregar_indice(tmp->fp, "emision", IND_EXAHUSTIVO, IND_B, IDX_STRING, STRUCT_OFFSET(factura, emision), 512); - emufs_agregar_indice(tmp->fp, "numero", IND_PRIMARIO, IND_B, IDX_INT, 0, 512); + emufs_agregar_indice(tmp->fp, "emision", IND_EXAHUSTIVO, IND_B, IDX_STRING, STRUCT_OFFSET(factura, emision), 512, 0); + emufs_agregar_indice(tmp->fp, "numero", IND_PRIMARIO, IND_B, IDX_INT, 0, 512, 0); tmp->fp_texto = emufs_crear("notas", param->tipo_arch_nota, param->tam_bloque_nota, 100); for (node=inicio ; node ; node = node->next) { if (node->type == XML_ELEMENT_NODE) { @@ -398,6 +398,7 @@ void fact_eliminar(char *s) t_Factura *fact; EMUFS_REG_ID id; CLAVE k; + INDICE_DATO dummy; win = newwin(LINES-4, COLS-2, 2, 1); box(win, 0, 0); @@ -417,9 +418,9 @@ void fact_eliminar(char *s) } k = emufs_indice_generar_clave_desde_valor(lst_facturas->fp->indices, (char *)(&fact->numero)); - lst_facturas->fp->borrar_registro(lst_facturas->fp, k); + lst_facturas->fp->borrar_registro(lst_facturas->fp, k, dummy); k.i_clave = fact->reg_nota; - lst_facturas->fp_texto->borrar_registro(lst_facturas->fp_texto, k); + lst_facturas->fp_texto->borrar_registro(lst_facturas->fp_texto, k, dummy); if (fact->items) free(fact->items); if (fact->nota) free(fact->nota); @@ -513,10 +514,11 @@ void fact_modificar(char *s) entrada = procesar_guardar_factura(fact, lst_facturas, &size); if (entrada) { CLAVE k; + INDICE_DATO dummy; k = emufs_indice_generar_clave_desde_valor(lst_facturas->fp->indices, (char *)&fact->numero); - lst_facturas->fp->modificar_registro(lst_facturas->fp, k, entrada, size, &error); + lst_facturas->fp->modificar_registro(lst_facturas->fp, k, entrada, size, &error, dummy); k.i_clave = id_texto; - id_texto = lst_facturas->fp_texto->modificar_registro(lst_facturas->fp_texto, k, fact->nota, strlen(fact->nota)+1, &error); + id_texto = lst_facturas->fp_texto->modificar_registro(lst_facturas->fp_texto, k, fact->nota, strlen(fact->nota)+1, &error, dummy); free(entrada); } @@ -1009,7 +1011,7 @@ void fact_consultas_codigos(char *s) lista_agregar_columna(lista, "Numero", DATO_INT, 0, 8); /* numero */ lista_agregar_columna(lista, "Fecha", DATO_STR, 10, 9); /* emision */ lista_agregar_columna(lista, "Estado", DATO_STR, 20, 19); /* estado */ - lista_agregar_columna(lista, "Forma de Pago", DATO_STR, 40, 19); /* fp */ + lista_agregar_columna(lista, "F. Pago", DATO_STR, 40, 9); /* fp */ /* Leo los datos desde el archivo */ for(i=desde_codigo; i<=hasta_codigo; i++) { @@ -1036,6 +1038,18 @@ void fact_consultas_codigos(char *s) delwin(win); } +float get_importe_factura(t_Item *items, int cant, float interes) +{ + float a=0.0f; + int i; + for(i=0; iobtener_sig_clave(idx, k_menor); }