Ayuda!! Cómo controlar un error "descontrolado"
Publicado por Andrea (325 intervenciones) el 25/02/2008 22:55:33
Hola a todos
Tengo un problema con un programa que me está volviendo loca.
En una tabla definí una clave compuesta de 3 campos como PRINCIPAL :Letra de comprobante+Nº de punto de venta+Nº de factura (los Nº son cadenas del formato "000x" donde x son los números de comprobantes, etc)
Cada tanto aparece un error de duplicación de índices (yo guardo el próximo número en otra tabla auxiliar y luego le sumo uno) nClave_Actual= nClave_Anterior + 1
Creo que esto tiene que ver con el hecho de que permito que se abran varias ventanas.
Pero mi consulta es la siguiente:
- Una vez que se genera el error ( 1884) va a un procedimiento de Control de errores con las típicas opciones.
- Me gustaría que al generar este error el programa sólo busque el próximo nº libre y lo guarde sin que el usuario se entere.
Ya tengo hecha esa rutina (con un select) pero no la dejo como fija porque hace lento todo el proceso de facturación. Me gustaría que solamente se ejecute cuando salta el error 1884
Ahí va la pregunta: DEBIDO A QUE LA RUTINA DE CONTROL DE ERRORES ESTÁ DENTRO DEL PROGRAMA PRINCIPAL MAIN.PRG,
Y QUE EL CÓDIGO QUE HICE PARA BUSCAR EL PRÓXIMO NÚMERO ESTÁ DENTRO DE UN FORM.
¿CÓMO HAGO PARA QUE AUTOMÁTICAMENTE TOME LA PARTE DE ESE FORMULARIO?
Si desde el FORM llama a la rutina de Errores (Main.prg) ¿siguen estando las tablas abiertas, las variables, etc o se pierde todo???
Muchas gracias
Tengo un problema con un programa que me está volviendo loca.
En una tabla definí una clave compuesta de 3 campos como PRINCIPAL :Letra de comprobante+Nº de punto de venta+Nº de factura (los Nº son cadenas del formato "000x" donde x son los números de comprobantes, etc)
Cada tanto aparece un error de duplicación de índices (yo guardo el próximo número en otra tabla auxiliar y luego le sumo uno) nClave_Actual= nClave_Anterior + 1
Creo que esto tiene que ver con el hecho de que permito que se abran varias ventanas.
Pero mi consulta es la siguiente:
- Una vez que se genera el error ( 1884) va a un procedimiento de Control de errores con las típicas opciones.
- Me gustaría que al generar este error el programa sólo busque el próximo nº libre y lo guarde sin que el usuario se entere.
Ya tengo hecha esa rutina (con un select) pero no la dejo como fija porque hace lento todo el proceso de facturación. Me gustaría que solamente se ejecute cuando salta el error 1884
Ahí va la pregunta: DEBIDO A QUE LA RUTINA DE CONTROL DE ERRORES ESTÁ DENTRO DEL PROGRAMA PRINCIPAL MAIN.PRG,
Y QUE EL CÓDIGO QUE HICE PARA BUSCAR EL PRÓXIMO NÚMERO ESTÁ DENTRO DE UN FORM.
¿CÓMO HAGO PARA QUE AUTOMÁTICAMENTE TOME LA PARTE DE ESE FORMULARIO?
Si desde el FORM llama a la rutina de Errores (Main.prg) ¿siguen estando las tablas abiertas, las variables, etc o se pierde todo???
Muchas gracias
Valora esta pregunta


0