+ k = idx->obtener_sig_clave(idx, k);
+ fprintf(stderr, "k.i_clave = %d -- hasta_codigo = %d\n", k.i_clave, hasta_codigo);
+ }
+
+ curs_set(0);
+ lista_ejecutar(lista);
+ curs_set(1);
+}
+
+void art_consultas_stock(char *s, t_Lista *lista)
+{
+ EMUFS_REG_ID dummy;
+ int hasta_codigo;
+ CLAVE k, menor, mayor;
+ t_Articulo *articulo;
+ t_Form *form;
+ INDICE *idx;
+ float por;
+
+ idx = lst_articulos->fp->indices;
+
+ /* El usuario ingresa rango a listar */
+ form = form_crear(lista->win);
+ form_agregar_widget(form, INPUT, "Ingrese %", 8, "0");
+
+ form_ejecutar(form, 2, 2);
+
+ por = form_obtener_valor_float(form, "Ingrese %");
+
+ form_destruir(form);
+ werase(lista->win);
+ wrefresh(lista->win);
+
+ menor = idx->obtener_menor_clave(idx);
+ mayor = idx->obtener_mayor_clave(idx);
+
+ k = menor;
+ hasta_codigo = mayor.i_clave;
+ while ((k.i_clave != -1) && (k.i_clave <= hasta_codigo)) {
+ articulo = art_obtener(lst_articulos, k.i_clave, &dummy);
+ if (articulo != NULL) {
+ if (atof(articulo->existencia) <= (1.0f+por)*atof(articulo->emin)) {
+ lista_agregar_fila(lista,
+ articulo->numero,
+ articulo->desc,
+ articulo->existencia,
+ articulo->emin
+ );
+ }
+ free(articulo);
+ }
+ k = idx->obtener_sig_clave(idx, k);