Nosotros hemos creado una tabla de punteros con tipo factura, ejercicio y 
número y lo controlo todo con un disparador. Nos funciona bien. 

Carlos Joaniquet Tamburini

> El 21 abr 2016, a las 18:36, Jaime Casanova <jaime.casan...@2ndquadrant.com> 
> escribió:
> 
> 2016-04-21 11:06 GMT-05:00 Kernel <jucab...@gmail.com>:
>> 
>> Las facturas tienen que ser correlativas , sin saltos y por supuesto la
>> fecha de una factura no puede ser menor que una con numero superior.
>> 
>> Voy a utilizar el select for update con la clausula nowait a una tabla que
>> voy a crear para el proceso, asi puedo bloquear por empresa,serie.
>> No voy a hacer el select for update a la propia tabla de series, por que en
>> el mismo registro esta el ultimo numero de
>> factura,albaran,pedido,presupuesto, orden de fabricacion y bloquearia muchos
>> procesos.
> 
> Creo que tienes algo mal en tu diseño. Si luego necesitas por ejemplo
> "orden de importacion" u "orden de compra" tendrías que alterar la tabla para
> crear nuevas columnas, no?
> 
> Además como menciono Ivan basta que alguien quiera hacer muchas facturas
> o una muy larga para que bloquee al resto.
> 
>> Voy a leer el ultimo numero de factura al principio, lo incrementare en
>> memoria y solo escribiré en el fichero de series al final, justo antes del
>> commit, creo que es la mejor solución ..
> 
> Esto también parece una mala idea, si el número no esta pre impreso
> en la hoja y puedes simplemente tomar un número hazlo siempre al
> *final* del proceso, así el tiempo de bloqueo es mínimo (también deberías
> usar la fecha al final del proceso, usa clock_timestamp() en lugar de now())
> 
> -- 
> Jaime Casanova                      www.2ndQuadrant.com
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
> 
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda


-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Reply via email to