Gracias, Tocayo, la verdad nunca pense que estubieras en linea, puedo agregar esta funcion al tsbrowse o bien , ligo la aplicacion con TSXLS de victor.
gracias.
tsbrowse 7.1
La agrego al TSBrw o Ligo TXLS
fernando sandoval ruiz
fsandoval@hotmail.com
fsandoval@hotmail.com
Problemas con el foco
Tengo el siguenete problema en la captura de un renglon de un documento factura, remision, valido si existe el articulo pero el foco no me regresa al tsbrw sino a los controles del dialogo.
ADD COLUMN TO BROWSE oHojeador DATA oDbDetCom:NumArt ;
HEADER "Artículo" ;
PICTURE "@K!" ;
WIDTH 100 ;
3DLOOK TRUE ;
EDITABLE ;
ALIGN DT_LEFT ;
MOVE DT_MOVE_NEXT ;
VALID { | NumArt | ValArtCap( NumArt , oDbArti , oDbDetCom ) } ;
COLORS CLR_HBLUE,CLR_HGRAY
y esta es la funcion donde valido el arituculo.
*---------------------------------
Static Function ValArtCap(cNumArt , oDbArti , oDbDetCom )
IF ! oDbArti:Seek( cNumArt , .t.)
MsgBeep()
MsgAlert("El Articulo no Existe "+ cNumArt +" No Exiete en el Catalogo de Articulo")
// oHojeador:HiliteCell(1)
oHojeador:SetFocus()
oHojeador:Refresh()
Return(.t.)
ENDIF
oDbArti:Load()
oDbDetCom:NumArt := oDbArti:NumArt
oDbDetCom:Nombre := oDbArti:Nombre
oDbDetCom:Precio := oDbArti:PreVta
oDbDetCom:TASAIVA := oDbArti:TASAIVA
oDbDetCom:TASAIEPS := oDbArti:TASAIEPS
oDbDetCom:TASACERO := oDbArti:TASACERO
oDbDetCom:EXENTO := oDbArti:EXENTO
oDbDetCom:Clase := oDbArti:Clase
if oDbDetCom:TASAIVA > 0
oDbDetCom:PreBruto := oDbArti:PreVta
oDBDetCom:PreBruto := ( oDbArti:PreVta / ( 1 +( oDbDetCom:TasaIva / 100)) )
endif
oDbDetCom:Importe := (oDbDetCom:Cantidad * oDbDetCom:Precio)
if oDbDetCom:TasaIva > 0
oDbDetCom:ImpIva := ( ( oDbDetCom:PreBruto * oDbDetCom:Cantidad) * ( oDbDetCom:TasaIva / 100))
endif
oDbDetCom:Save()
RecalComa( oDbDetCom)
/*if nPartida > 9
oDbDetCom:gobottom()
endif
*/
oHojeador:SetFocus()
oHojeador:Refresh()
return(.T.)
pero como comento no me regresa el foco al browse sino a los controles del dialogo.
gracias y un saludo a todos.
fernando sandoval ruiz
ADD COLUMN TO BROWSE oHojeador DATA oDbDetCom:NumArt ;
HEADER "Artículo" ;
PICTURE "@K!" ;
WIDTH 100 ;
3DLOOK TRUE ;
EDITABLE ;
ALIGN DT_LEFT ;
MOVE DT_MOVE_NEXT ;
VALID { | NumArt | ValArtCap( NumArt , oDbArti , oDbDetCom ) } ;
COLORS CLR_HBLUE,CLR_HGRAY
y esta es la funcion donde valido el arituculo.
*---------------------------------
Static Function ValArtCap(cNumArt , oDbArti , oDbDetCom )
IF ! oDbArti:Seek( cNumArt , .t.)
MsgBeep()
MsgAlert("El Articulo no Existe "+ cNumArt +" No Exiete en el Catalogo de Articulo")
// oHojeador:HiliteCell(1)
oHojeador:SetFocus()
oHojeador:Refresh()
Return(.t.)
ENDIF
oDbArti:Load()
oDbDetCom:NumArt := oDbArti:NumArt
oDbDetCom:Nombre := oDbArti:Nombre
oDbDetCom:Precio := oDbArti:PreVta
oDbDetCom:TASAIVA := oDbArti:TASAIVA
oDbDetCom:TASAIEPS := oDbArti:TASAIEPS
oDbDetCom:TASACERO := oDbArti:TASACERO
oDbDetCom:EXENTO := oDbArti:EXENTO
oDbDetCom:Clase := oDbArti:Clase
if oDbDetCom:TASAIVA > 0
oDbDetCom:PreBruto := oDbArti:PreVta
oDBDetCom:PreBruto := ( oDbArti:PreVta / ( 1 +( oDbDetCom:TasaIva / 100)) )
endif
oDbDetCom:Importe := (oDbDetCom:Cantidad * oDbDetCom:Precio)
if oDbDetCom:TasaIva > 0
oDbDetCom:ImpIva := ( ( oDbDetCom:PreBruto * oDbDetCom:Cantidad) * ( oDbDetCom:TasaIva / 100))
endif
oDbDetCom:Save()
RecalComa( oDbDetCom)
/*if nPartida > 9
oDbDetCom:gobottom()
endif
*/
oHojeador:SetFocus()
oHojeador:Refresh()
return(.T.)
pero como comento no me regresa el foco al browse sino a los controles del dialogo.
gracias y un saludo a todos.
fernando sandoval ruiz
fernando sandoval ruiz
fsandoval@hotmail.com
fsandoval@hotmail.com
Hola,
En cuanto a agregar la función o toda la clase. Yo tengo toda la clase pero porque uso la clase tExcelScript que es muy buena, pero como mas te guste.
En cuanto al posicionameto tras la edición varias preguntas:
1.- Lo has provado sin el valid. No se si el problema de cambio de foco esta en el valid?
2.- Usas Auto-edición?
3.- Has provado con otro "DT_MOVE_" por ejemplo DT_MOVE_RIGHT?
4.- Puedes poner algo de la deficinición del browse y los demas objetos de la ventana?. Enviamelo si quieres por correo o por msn
En cuanto a agregar la función o toda la clase. Yo tengo toda la clase pero porque uso la clase tExcelScript que es muy buena, pero como mas te guste.
En cuanto al posicionameto tras la edición varias preguntas:
1.- Lo has provado sin el valid. No se si el problema de cambio de foco esta en el valid?
2.- Usas Auto-edición?
3.- Has provado con otro "DT_MOVE_" por ejemplo DT_MOVE_RIGHT?
4.- Puedes poner algo de la deficinición del browse y los demas objetos de la ventana?. Enviamelo si quieres por correo o por msn
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
Fernando González Diez
ALSIS GHE Sistemas Informáticos
Hola Fernando,
Ya he estado echando un vistazo a lo que me mandaste por el msn. El problema es que no tengo mysql.
De todas formas prueba lo siguiente:
En el recurso define tsbrowse como el primer objeto del tabindex.
Ejemplo:
si tienes varios get's y el browse. El Browse que tenga el tabindex 1 y los get's a partir del 2
Si tienes varios get's, el browse y botones. El browse que tenga el tabindex 1, los botones a partir del 2 y los get's despues de los botones (así se sigue manteniendo el orden del tabulador "get, get, get, browse, boton)
Para que al entrar en al ventana se posicione en el primer get, definelo en el ON INIT del dialgo ( ON INIT oGet:SetFocus() )
Ya hablaremos por el msn
Ya he estado echando un vistazo a lo que me mandaste por el msn. El problema es que no tengo mysql.
De todas formas prueba lo siguiente:
En el recurso define tsbrowse como el primer objeto del tabindex.
Ejemplo:
si tienes varios get's y el browse. El Browse que tenga el tabindex 1 y los get's a partir del 2
Si tienes varios get's, el browse y botones. El browse que tenga el tabindex 1, los botones a partir del 2 y los get's despues de los botones (así se sigue manteniendo el orden del tabulador "get, get, get, browse, boton)
Para que al entrar en al ventana se posicione en el primer get, definelo en el ON INIT del dialgo ( ON INIT oGet:SetFocus() )
Ya hablaremos por el msn
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
Fernando González Diez
ALSIS GHE Sistemas Informáticos
Lo checo y te comento
Gracias Fer. lo checo y te comento.
fernando sandoval ruiz
fsandoval@hotmail.com
fsandoval@hotmail.com