RE:como numera factura en red sin duplicarla
Como te dijeron algunos colegas, creo que lo ideal para evitar la duplicidad de los Nros. de Facturas en red, es asignar el Nro. de Factura una vez confirmada la misma, o sea, permitir la carga de todos sus datos y si el Operador la confirma, recien rescatar el nro. de Factura para el movimiento, grabarlo en la cabecera y mandar la impresion si corresponde.
Seguramente existen diferentes maneras de manejar la programación de la facturacion, en la que normalmente usamos una tabla para los datos de la cabecera y otra para los datos de las lineas de detalle verdad?. Algunos prefieren capturar todos los datos en variables y una vez confirmada la operación, recien grabarlos en las tablas, yo normalmente utilizo otro esquema, y es el que va grabando tanto la cabecera como las lineas de detalle a medida que se van registrando. Y lo hago precisamente para permitir que se pueda abandonar la carga de una factura y luego retomarla sin tener que volver a registrar todos los datos de nuevo. Ahora, para usar éste criterio, tengo que utilizar tanto en la cabecera como en las lineas de detalle, UN NRO.UNICO o ID que permita establecer la relación entre ambas tablas sin tener aún asignado el Nro.de Factura.
Tambien utilizo un archivo que denomino generalmente de NROSUNIC en el cual solo almaceno una Clave Numerica de 2 digitos y un Campo (NROCOM)para ir almacenando el ULTIMO NRO. UTILIZADO.
Entonces.. cuando se comienza a dar de Alta una factura, necesito rescatar el NRO.UNICO para esa Factura, entonces accedo al registro correspondiente en la TABLA NROSUNIC, (Por Ejemplo con clave 1).. bloqueo el registro leido, le adiciono 1 al campo NROCOM, lo regrabo y lo luego lo desbloqueo y con eso rescato el NRO.UNICO para la Factura que empiezo a tratar y sus lineas de detalle.
Al concluirse con el tratamiento de la Factura y si el Operador la confirma como correcta, repito el paso para rescatar EL NRO.DE FACTURA accediendo con la clave que corresponda a la Tabla NROSUNIC y una vez rescatado el Nro. de la Factura, Bloqueo el registro de cabecera, regrabo el Nro.de factura y luego desbloqueo.
Ejemplo de Tabla NROSUNIC
Clave 1 para Nros.Unicos de Facturas
Clave 2 para Nros. de Facturas A
Clave 3 para Nros. de Facturas B
etc.
Un Abrazo