X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/d843981b278fd692ab40eab347e37e6950283558..d0c23819f9f43fb15b3736eb0ff56159b0b56042:/emufs_gui/articulos.c?ds=inline diff --git a/emufs_gui/articulos.c b/emufs_gui/articulos.c index f7ee098..6bc3b7a 100644 --- a/emufs_gui/articulos.c +++ b/emufs_gui/articulos.c @@ -689,6 +689,7 @@ void art_consultas_codigos(char *s, t_Lista *lista) t_Articulo *articulo; t_Form *form; INDICE *idx; + int editar; idx = lst_articulos->fp->indices; @@ -725,11 +726,11 @@ void art_consultas_codigos(char *s, t_Lista *lista) PERR("AGREGO A LA LISTA"); fprintf(stderr, "%d - %s\n", articulo->numero, articulo->desc); lista_agregar_fila(lista, - articulo->numero, - articulo->desc, - articulo->existencia, - articulo->emin - ); + articulo->numero, + articulo->desc, + articulo->existencia, + articulo->emin + ); free(articulo); } PERR("OBTENGO SIGUIENTE CLAVE"); @@ -738,8 +739,14 @@ void art_consultas_codigos(char *s, t_Lista *lista) } curs_set(0); - lista_ejecutar(lista); + editar = lista_ejecutar(lista); curs_set(1); + + if (editar != -1) { + char cc[20]; + sprintf(cc, "%d", editar); + art_modificar(cc); + } } void art_consultas_stock(char *s, t_Lista *lista) @@ -749,6 +756,7 @@ void art_consultas_stock(char *s, t_Lista *lista) t_Form *form; INDICE *idx; float por; + int editar; idx = emufs_buscar_indice_por_nombre(lst_articulos->fp, "desc"); if (idx == NULL) PERR("NO SE ENCUENTRA INDICE DESC!!!"); @@ -799,8 +807,13 @@ void art_consultas_stock(char *s, t_Lista *lista) } curs_set(0); - lista_ejecutar(lista); + editar = lista_ejecutar(lista); curs_set(1); + if (editar != -1) { + char cc[20]; + sprintf(cc, "%d", editar); + art_modificar(cc); + } } void art_consultas_cambiar_precio(char *s, t_Lista *lista) @@ -886,7 +899,7 @@ void art_consultas_cambiar_precio(char *s, t_Lista *lista) void art_consultas_varias(char *nombre_indice, char *titulo, t_Lista *lista) { - int i, cant, error; + int i, cant, error, editar; char desc[51], *tmp; t_Articulo articulo; t_Form *form; @@ -932,8 +945,13 @@ void art_consultas_varias(char *nombre_indice, char *titulo, t_Lista *lista) } if (datos) free(datos); curs_set(0); - lista_ejecutar(lista); + editar = lista_ejecutar(lista); curs_set(1); + if (editar != -1) { + char cc[20]; + sprintf(cc, "%d", editar); + art_modificar(cc); + } } @@ -953,8 +971,10 @@ void art_consultas(char *s) win = newwin(LINES-4, COLS-2, 2, 1); win1 = derwin(win, LINES-6, COLS-4, 1, 1); + werase(win1); werase(win); box(win, 0, 0); + wrefresh(win1); wrefresh(win); /* Creo la lista donde mostrar la consulta*/ @@ -987,8 +1007,8 @@ void art_consultas(char *s) lista_clear(lista); werase(win1); werase(win); - wrefresh(win1); box(win, 0, 0); + wrefresh(win1); wrefresh(win); } werase(win1); @@ -1092,7 +1112,9 @@ void art_recorrer_con_indice(char *s) win = newwin(LINES-4, COLS-2, 2, 1); win1 = derwin(win, LINES-6, COLS-4, 1, 1); werase(win); + werase(win1); box(win, 0, 0); + wrefresh(win1); wrefresh(win); PERR("Obtengo clave menor"); @@ -1103,6 +1125,7 @@ void art_recorrer_con_indice(char *s) mostrar_art(win1, k, s, idx); wrefresh(win1); + wrefresh(win); PERR("Sigue el usuario"); curs_set(0); stack[0] = k; @@ -1125,8 +1148,10 @@ void art_recorrer_con_indice(char *s) continue; } werase(win1); + werase(win); mostrar_art(win1, k, s, idx); wrefresh(win1); + wrefresh(win); } curs_set(1); @@ -1164,7 +1189,9 @@ void art_ver_ventas() win = newwin(LINES-4, COLS-2, 2, 1); win1 = derwin(win, LINES-6, COLS-4, 1, 1); werase(win); + werase(win1); box(win, 0, 0); + wrefresh(win1); wrefresh(win); /* El usuario ingresa rango a listar */ @@ -1179,6 +1206,8 @@ void art_ver_ventas() form_destruir(form); werase(win1); wrefresh(win1); + werase(win); + wrefresh(win); /* Si el usuario no ingreso alguno de los datos, lo obtengo del indice */ /*idx = emufs_buscar_indice_por_nombre(fact_get_lst()->fp, "emision");*/ @@ -1269,13 +1298,18 @@ void art_actualizar_stock(int numero, int cv) CLAVE k; INDICE_DATO dummy1; k.i_clave = numero; + EMUFS *fp; /* dummy se pasa porque esto se hace por clave primaria, y el INDICE_DATO que se * pasa solo es requerido cuando son claves multiples */ PERR("Guardando modificacion de Stock"); error = 0; fprintf(stderr, "PTR=%p %p\n", lst_articulos, lst_articulos->fp); - lst_articulos->fp->modificar_registro(lst_articulos->fp, k, tmp, size, &error, dummy1); + fp = lst_articulos->fp; + PERR("Pase1"); + fprintf(stderr, "METODO : %p\n", fp->modificar_registro); + fp->modificar_registro(fp, k, tmp, size, &error, dummy1); + PERR("Pase2"); PERR("Listo"); free(tmp); }