Página 1 de 1

Ahora problemas con TDbfBrowse

Publicado: Sab Dic 27, 2008 11:02 pm
por pacoelche
Antes que nada, agradecer a Fernando Leal, su colaboración de ayer con
respecto a TArrayBrowse.
Ahora el problema es muy parecido, ya que me ocurre con el TDbfBrowse.
El problema ocurre al añadir una nueva linea.
Tengo un TDbfBrowse con 5 columnas. La primera de ellas es el código de un
artículo. Pretendo que cuando termine de introducir ese código, me compruebe
en otro fichero si existe ese artículo.
Tengo la propiedad lAutoSave=.t., pero parece que hasta que no se acaba de
introducir los datos de toda la línea no se graba en el fichero todos los
datos.
No tengo problemas si realizo este proceso en una línea anterior ya que los
datos están grabados en el fichero.
¿Como averiguo el valor de la casilla que acabo de introdir sin tener que
leer el resultado en el fichero, ya que en este aun no se ha grabado?
Mil gracias anticipadas
Francisco Martínez

Ahora problemas con TDbfBrowse

Publicado: Lun Dic 29, 2008 2:36 pm
por jrcsistemas
Francisco yo hago lo mismo y lo resolvi asi:
en PosEdit
METHOD DbfBrowseFacturaColumn2PostEdit( oSender, Value, lCanceled, nKey )
CLASS TFormFacturaClientes
// columna codigo
If !lCanceled .And. !Empty(Value)
If BuscarArticulos( Value ) // Verifico la existencia del articulo
Value := CargaRenglon() // cargo los demas datos como detalle del
articulo, precios, etc. Devuelve el codigo leido de la tabla articulos.
WITH OBJECT ::oFactura
:Update()
:Refresh()
:GoRight()
END
::Calcular() // calculo el pie de la factura con impuestos.
Else
MsgBox("El código no existe !!")
EndIf
ElseIf !lCanceled .And. Empty(Value)
TFormBuscaArticulos():New(::oForm):ShowModal() // abro un formulario
para ingresarlo como articulo nuevo
CargaRenglon()
EndIf
El codigo se puede depurar, espero que te sirva.
Feliz 2009 !!
Juan