#include "common.h"
#include "lista.h"
#include "menu.h"
+#include "facturas.h"
static t_LstArticulos *lst_articulos;
getch();
} else {
INDICE_DATO dummy;
- k = emufs_indice_generar_clave_desde_valor(lst_articulos->fp->indices, (char *)&(articulo->numero));
- PERR("Borrando ARTICULO")
- lst_articulos->fp->borrar_registro(lst_articulos->fp, k, dummy);
- PERR("LISTO BORRADO");
+
+ /* Antes de borrar veo si existe alguna factura que contenga este articulo */
+ if (fact_hay_con_item(articulo->numero) == 0) {
+ k = emufs_indice_generar_clave_desde_valor(lst_articulos->fp->indices, (char *)&(articulo->numero));
+ PERR("Borrando ARTICULO")
+ lst_articulos->fp->borrar_registro(lst_articulos->fp, k, dummy);
+ PERR("LISTO BORRADO");
+ } else {
+ wattron(win, COLOR_PAIR(COLOR_YELLOW));
+ mvwaddstr(win, 6, 4, "No se pudo eliminar Articulo porque hay una factura que lo referencia.");
+ wattroff(win, COLOR_PAIR(COLOR_YELLOW));
+ wrefresh(win);
+ getch();
+ }
free(articulo);
}
MENU_OPCION("Volver", "Volver al menu anterior.")
};
int opt;
- while ((opt = menu_ejecutar(mi_menu, 4, "Consulta de Articulos")) != 3) {
+ while ((opt = menu_ejecutar(mi_menu, 4, "Recorrer Articulos")) != 3) {
art_recorrer_con_indice(ind[opt]);
}
}