Mal funcionamiento en RED

Mal funcionamiento en RED

Postby Loren » Fri Oct 26, 2007 7:16 am

Estimados compañeros:
tengo instalado en RED mi aplicación de gestión de facturas y todo va de maravillas, excepto 1 cosa: la correlación en los números de facturas!!

Si 2 o más usuarios entran a la vez en el módulo de "nueva factura", cuando la imprimen el programa asigna el mismo numero a todas las facturas impresas, ¿Como es posible? Sin embargo utilizo el mismo procedimiento en el stock y las cantidades se refrescan perfectamente si ambos usuarios entran a la vez en ese modulo.
Si cada usuario entra individualmente al modulo "nueva factura" la correlación de los numeros de facturas van de maravilla!!

¿ Alguna sugerencia ? Mil gracias
Lorenzo
Loren
 
Posts: 479
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Postby Ruben D. Fernandez » Fri Oct 26, 2007 11:19 am

Lorenzo:

Según he leido aquí en el foro, deberías asignarle
el número a la factura cuando el usuario "Acepta" esa factura y
la manda a imprimir o sea en el ultimo momento.

Es una idea.

saludos

Ruben Fernandez
Ruben D. Fernandez
 
Posts: 189
Joined: Sun Jul 08, 2007 1:46 am
Location: Uruguay

Postby mantonio_08 » Fri Oct 26, 2007 9:24 pm

Loren:

La solucion pasa por que el numero de factura lo obtengas cuando realices el bloqueo de la base para grabar, en ese momento el folio de la factura sera en ULTIMO GRABADO + 1, grabas, imprimes desbloqueas y muestra en pantalla en Numero de la factura grabada.

Espero te sirva, esta es la forma en que yo lo realizo.

Saludos,
Antonio
mantonio_08
 
Posts: 330
Joined: Fri May 25, 2007 9:06 pm

Postby sysctrl2 » Fri Oct 26, 2007 11:51 pm

Lorenzo

aqui se habla del tema y la sulucion

http://fivetechsoft.com/forums/viewtopi ... ht=factura

saludos..
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 959
Joined: Mon Feb 05, 2007 7:15 pm

Postby joseluisysturiz » Sat Oct 27, 2007 9:39 pm

Loren,
Te recomiendo lo siguiente, imagino muchos otros lo haran asi, sino, es un buen metodo, crea una DBF donde controlas la numeracion de tus documentos; pedidos, facturas, recibos de cobro, etc; y como ya te han dicho todos, aunmentas el numero al finalizar tu documento siendo num_actual= num_actual +1, funciona super...SPERO TE AYUDE...
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Numeraciçon facturas.

Postby FiveWiDi » Sun Oct 28, 2007 9:48 am

Tal como ya han comentado, yo también utilizo un DBF para las numeraciones (referencieas únicas, albaranes, facturas, etc).

Pero sobre el orden de ejecución de los pasos no estoy del todo de acuerdo.

Yo hago: cuando detecto el primer movimiento a facturar y éste se puede facturar, lo bloqueo, accedo a la DBF de numeraciones, bloqueo el registro de la DBF, obtengo el nuevo número de factura, grabo la DBF, la desbloqueo, facturo el movimiento y lo desbloqueo.
Para el siguiente movimiento si pertenece a la misma factura ya tengo su número y no tengo de volver a acceder y además la DBF ya está disponible para los demás usuarios.

Cuando quiera imprimirla no deberé hacer nada estra sino imprimir.
El tiempo que la DBF de numeraciones ha estado 'pillada' es bajísimo y si en el proceso de su bloqueo tienes un While que espera a que no esté 'pillada' por otro usuario, el usuario que quiere facturar ni se entera de que alguien más estaba facturando.

Para mi una cosa es facturar y otra imprimir facturas. Son procesos independientes y el de impresión naturalmente reutilizable en cualquier momento.

Saludos
Carlos G.
FiveWiDi
 
Posts: 1078
Joined: Mon Oct 10, 2005 2:38 pm

Postby joseluisysturiz » Sun Oct 28, 2007 7:46 pm

Fivewidi, reza un dicho..."entre gustos y colores no han escrito los pintores...", pero creo que una cosa es gusto y otra es logica, no quiero entrar en polemica sobre tu metodo, eso depende como se maneje los procesos de facturacion de algunos paises, fijate, tu bloqueas el numero, que pasaria si se va la luz o si no se finaliza la factura..?, ademas otro usuario podria terminar de facturar antes que el que bloqueastes, son solo analisis de situaciones, se dice que las mayorias no pueden estar equivocados, pero eso tambien es discutible, lo bueno es que Loren ya tiene alternativas para escojer la que mas le convenga y que sea mas seguro para su informacion, para eso estamos, pero el metodo propuesto por la mayoria, es muy viable y seguro, por no decir que es el correcto y unico.saludos.
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Postby wilsongamboa » Sun Oct 28, 2007 10:42 pm

Lorenzo yo lo hago asi

Code: Select all  Expand view

Function NuewNum( Num )

    select factura //esta con indice activo de str(num_Fact,6)

    while .t.
        dbgobottom()
        num := factura->num_Fact + 1
        if !dbseek( str(Num,6 ) )
            exit
        end
    end
   
   dbappend()
   
   factura->num_Fact := num
   unlock
Return Num



esto lo hago cuando ya hayas terminado la factura en este caso el que gane el numero graba primero, bueno es solo mi humilde criterio

espero te ayude

Saludos
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 548
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 22 guests