Alguien tendrá alguna idea por que me sucede esto :
Como explicarles
n_Precio := Aquí ago un calculo del precio
Tengo un xBrowse de la tabla TABPESOS y en una de las columnas tengo esto :
oBrowPso:aCols[05]:bStrData := {|| n_Precio * TABPESOS->PESO }
Cuando entro de inicio se ejecuta el filtro y si el filtro no tiene datos, me pone vacio
el xbrowse (hasta ahi todo bien), pero cuando quiero cambiar ese filtro (con la tecla F10 cambio el filtro)
me sigue poniendo cero en la columna [5], auque tenga datos.
Alguien que ya le haya pasado ???
Pongo un poco del fuente para que lo vean :
- Code: Select all Expand view
FUNCTION BuscaPesadasVenta(oDlg,oGet)
LOCAL aField := Array(5)
PRIVATE oBrowPso, oTimerPso, lMedias := .F., oMT
IF !RETORNA_SYSP("BUSCA_PESADA")
RETURN .T.
ENDIF
IF Empty((cFile)->ARTICULO) .OR. !Empty((cFile)->NCAJA)
RETURN .T.
ENDIF
SELECT TABPESOS
OrdSetFocus("NUMERO")
DbGoTop()
ADSClearAOF()
cCad := "TABPESOS->ARTICULO='"+AllTrim((cFile)->ARTICULO)+"' .AND. TABPESOS->PESO>=17"
IF !ADSSetAOF(cCad)
?"No se realizo el filtro...",cCad
ENDIF
DbGoBottom()
QuitaTeclas()
lMedias := .F.
SETKEY( VK_F10, { || Actual_Peso_F10() } )
SELECT ARTICULOS
OrdSetFocus("ARTICULO")
DbGoTop()
DbSeek(TABPESOS->ARTICULO)
n_Precio := RetornaPrecioArti1()
aField[01] := "OPCION"
aField[02] := "NUMERO"
aField[03] := "PESO"
aField[04] := "ARTNOMBRE"
aField[05] := "IMPORTE"
DEFINE DIALOG oDlgPso RESOURCE "UTILERIAS_009" TITLE "Selecciona Pesada del Producto" OF oDlg ICON "AASESORES" TRANSPARENT
oDlgPso:lHelpIcon := .F.
oDlgPso:bKeyDown := {|nKey| IIF(nKey=27,oDlgPso:End(),.F.)}
DEFINE TIMER oTimerPso INTERVAL 1000 ACTION oBrowPso:Refresh() OF oDlgPso
oBrowPso := TxBrowse():New(oDlgPso)
PoneFormasBrowse(oBrowPso)
oBrowPso:oFont := aLetras[07]
oBrowPso:cAlias := "TABPESOS"
oBrowPso:SetRDD(,,aField)
oBrowPso:aCols[05]:bStrData := {|| n_Precio * TABPESOS->PESO }
oBrowPso:aCols[01]:cHeader := "Selec"
oBrowPso:aCols[02]:cHeader := "Numero"
oBrowPso:aCols[03]:cHeader := "Peso"
oBrowPso:aCols[04]:cHeader := "Nombre"
oBrowPso:aCols[05]:cHeader := "Importe"
oBrowPso:aCols[03]:nWidth := 80
oBrowPso:aCols[04]:nWidth := 180
oBrowPso:aCols[05]:nWidth := 90
oBrowPso:aCols[05]:cEditPicture := "999.9999"
oBrowPso:bKeyDown := {|nKey| ValidaKeySelPeso(nKey)}
oBrowPso:CreateFromResource( 101 )
ACTIVATE DIALOG oDlgPso CENTER ON INIT (oTimerPso:Activate(),oMT := PoneTitulo1(oDlgPso,"Cajas Enteras","",.F.,.F.),oBrowPso:Refresh())
oTimerPso:End()
SETKEY( VK_F10, { || .T. } )
ADSClearAOF()
SELECT (cFile)
PoneTeclas(oDlg,oGet)
oBrow:SetFocus()
RETURN .T.
FUNCTION Actual_Peso_F10()
IF lMedias
oMT:aText[1,3] := "Cajas Enteras"
oMT:Refresh()
lMedias := .F.
SELECT TABPESOS
OrdSetFocus("NUMERO")
DbGoTop()
ADSClearAOF()
cCad := "TABPESOS->ARTICULO='"+AllTrim((cFile)->ARTICULO)+"' .AND. TABPESOS->PESO>=17"
IF !ADSSetAOF(cCad)
?"No se realizo el filtro...",cCad
ENDIF
DbGoBottom()
ELSE
oMT:aText[1,3] := "Medias Cajas"
oMT:Refresh()
lMedias := .T.
SELECT TABPESOS
OrdSetFocus("NUMERO")
DbGoTop()
ADSClearAOF()
cCad := "TABPESOS->ARTICULO='"+AllTrim((cFile)->ARTICULO)+"' .AND. TABPESOS->PESO>=0 .AND. TABPESOS->PESO<=15"
IF !ADSSetAOF(cCad)
?"No se realizo el filtro...",cCad
ENDIF
DbGoBottom()
ENDIF
oBrowPso:GoBottom()
oBrowPso:SetFocus()
oBrowPso:Refresh()
RETURN .T.