
Programa de Factuarcion
Publicado por Victor Perez (278 intervenciones) el 06/07/2011 18:10:01
Hola amigos,
Tengo un programa para facturar en la clinica que me esta dando un problema desde que lo hice.
El sistema se basa en un formulario donde se crea un cursor llamado _items que contiene cada uno de los renglones (detalle) de los productos o servicios facturados.
El evento LostFocus del codigo del producto (que es el primer campo en el Grid) contiene el siguiente codigo:
Sele almCa // Selecciona El Alias con los datos de los productos
Set orde to tag codigo
seek This.value
If Found()
// coloca en el campo del grid el valor del nombre del articulo segun el codigo
Thisform.pgfPeds.Page1.grid1._Art.txtArt.value=almCa.Ca_Nombre
IF _nuevo (si es nueva factura)
Thisform.pgfPeds.Page1.grid1._Cant.txtcan.Value=1
ENDIF
IF EMPTY(this.Value) //si dejo en blanco el codigo, por cualquier razon
Thisform.pgfPeds.Page1.grid1._cant.txtcan.Value=0
ENDIF
If _Items.It_Punt=0 // si el precio unitario es 0, entonces coloca el precio tomado de la base de
datos de los productos
THISFORM.pgfPeds.Page1.grid1._PUnit.txtPun.value=almCa.CA_PRECIO
Sele _Items
Thisform.Calcula
ENDIF
ELSE // Si no encuentra el codigo, abre una mascara donde estan todos los productos listados
y el usuario puede buscarlo por descripcion...Seleccionar el producto y con un doble click
volver a la factura trayendo toda la informacion del producto
If !empty(this.value)
Thisform.pgfPeds.page1.mskService.visible=.t.
THISFORM.PGFPEDS.PAGE1.MSKSERVICE.TXTBNOMBRE.SETFOCUS
Endif
ENDIF
Ahora bien, donde esta el problema, el asunto es que si por ejemplo colocamos el codigo "D1200" correspondiente a DESPACILINA 1.2 MILLONES IM , sale todo bien...me permite entrar la cantidad y poder modificar el precio.
Pero si, regreso nuevamente a ese campo del codigo del articulo, y lo cambio, me cambia perfectamente el nombre del servicio pero no me cambia el precio. (se mantiene con el mismo precio que tenia segun el codigo de articulo anterior).
He hecho muchas pruebas,...Si consigo que me cambie el codigo, la descripcion, el precio, entonces no me permite cambiarle el precio. En ocasiones damos precio especial a los paciente, sucede que el sistema me hace el calculo del subtotal de la linea, pero en el renglon de Precio unitario sigue apareciendo el valor de lista ,segun la tabla de articulos.
He tenido ese problema por mas de 3 años que tengo el sistema y no he podido lograr arreglarlo.
El problema es que ya me ha pasado que la secre se pone un codigo ,se equivoca, y lo corrige y no se fija que el precio está incorrecto. ademas es imposible saberse todo los precios...
Caualquier ayuda...bienvenida.
Tal vez no sea claro en la explicacion de mi sistema...si es asi, me dicen que info debo proveer para ayudar a hacerme comprender.
Saludos,
Victor -Panama -
Tengo un programa para facturar en la clinica que me esta dando un problema desde que lo hice.
El sistema se basa en un formulario donde se crea un cursor llamado _items que contiene cada uno de los renglones (detalle) de los productos o servicios facturados.
El evento LostFocus del codigo del producto (que es el primer campo en el Grid) contiene el siguiente codigo:
Sele almCa // Selecciona El Alias con los datos de los productos
Set orde to tag codigo
seek This.value
If Found()
// coloca en el campo del grid el valor del nombre del articulo segun el codigo
Thisform.pgfPeds.Page1.grid1._Art.txtArt.value=almCa.Ca_Nombre
IF _nuevo (si es nueva factura)
Thisform.pgfPeds.Page1.grid1._Cant.txtcan.Value=1
ENDIF
IF EMPTY(this.Value) //si dejo en blanco el codigo, por cualquier razon
Thisform.pgfPeds.Page1.grid1._cant.txtcan.Value=0
ENDIF
If _Items.It_Punt=0 // si el precio unitario es 0, entonces coloca el precio tomado de la base de
datos de los productos
THISFORM.pgfPeds.Page1.grid1._PUnit.txtPun.value=almCa.CA_PRECIO
Sele _Items
Thisform.Calcula
ENDIF
ELSE // Si no encuentra el codigo, abre una mascara donde estan todos los productos listados
y el usuario puede buscarlo por descripcion...Seleccionar el producto y con un doble click
volver a la factura trayendo toda la informacion del producto
If !empty(this.value)
Thisform.pgfPeds.page1.mskService.visible=.t.
THISFORM.PGFPEDS.PAGE1.MSKSERVICE.TXTBNOMBRE.SETFOCUS
Endif
ENDIF
Ahora bien, donde esta el problema, el asunto es que si por ejemplo colocamos el codigo "D1200" correspondiente a DESPACILINA 1.2 MILLONES IM , sale todo bien...me permite entrar la cantidad y poder modificar el precio.
Pero si, regreso nuevamente a ese campo del codigo del articulo, y lo cambio, me cambia perfectamente el nombre del servicio pero no me cambia el precio. (se mantiene con el mismo precio que tenia segun el codigo de articulo anterior).
He hecho muchas pruebas,...Si consigo que me cambie el codigo, la descripcion, el precio, entonces no me permite cambiarle el precio. En ocasiones damos precio especial a los paciente, sucede que el sistema me hace el calculo del subtotal de la linea, pero en el renglon de Precio unitario sigue apareciendo el valor de lista ,segun la tabla de articulos.
He tenido ese problema por mas de 3 años que tengo el sistema y no he podido lograr arreglarlo.
El problema es que ya me ha pasado que la secre se pone un codigo ,se equivoca, y lo corrige y no se fija que el precio está incorrecto. ademas es imposible saberse todo los precios...
Caualquier ayuda...bienvenida.
Tal vez no sea claro en la explicacion de mi sistema...si es asi, me dicen que info debo proveer para ayudar a hacerme comprender.
Saludos,
Victor -Panama -
Valora esta pregunta


0