Gildo, demorei mas... se vc ainda quiser me ajudar, agradeço.
Está bem resumido... :-|
Outra probema que acontece, é o listbox a oLbxVen. Eu saio da tela de venda sem limpar o arquivo, e quando eu volto os registros estão no dbf mas o listbox não mostra os itens. Quando eu movo a a seta p/ direita, aparece somente o primeiro item.
...
sele 0
use auxite alias auxite exclusive // auxiliar front (vendas)
go top
// MONTA VETOR DE PRODUTOS
Priva nomite[08],desite[08],masite[08],lstite,cbcite
nomite[01] = "substr(auxite->nompro_g,1,32)"
nomite[02] = "transform(auxite->quapro_g,'999,999.99')"
nomite[03] = "transform(auxite->vlrpro_g,'999,999.99')"
nomite[04] = "transform((auxite->quapro_g * auxite->vlrpro_g)-auxite->despro_g,'999,999.99')"
nomite[05] = "auxite->stapro_g"
nomite[06] = "auxite->apapro_g"
nomite[07] = "transform(auxite->despro_g,'99,999.99')"
nomite[08] = "auxite->codpro_g"
desite[01] = "DESCRICAO"
desite[02] = "QTDE."
desite[03] = "VLR. UNIT. R$"
desite[04] = "VLR. TOTAL R$"
desite[05] = "ENC."
desite[06] = "APAR."
desite[07] = "DESC."
desite[08] = "CODIGO"
masite[01] = "@!"
masite[02] = "@e 99,999.99"
masite[03] = "@e 99,999.99"
masite[04] = "@e 99,999.99"
masite[05] = "@!"
masite[06] = "@!"
masite[07] = "@e 99,999.99"
masite[08] = "99999"
for nrovet_t = 1 to len(nomite)
if nrovet_t = 1
lstite := nomite[1]
else
lstite := lstite+","+nomite[nrovet_t]
endi
next
cbcite = desite
redefine listbox oLbxVen ;
FIELDS &lstite. ;
id 201 ;
of oDlgVen ;
fieldsizes 250, 070, 100, 100, 035, 070, 100, 070
oLbxVen:aHeaders:=cbcite
oLbxVen:lCellStyle:=.t.
oLbxVen:nLineStyle:= 4
oLbxVen:GoTop()
oLbxVen:Refresh()
oLbxVen:bKeyChar = { | nKey, nFlags | Ctrl_Teclas( oDlgVen,oLbxVen, nKey, nFlags, tipven) }
...
func Ctrl_Teclas(oDlg, oLbx, nKey, nFlags, tipven )
do case
case nKey == VK_RETURN
sele auxite
inspro(oDlg,"A")
sele auxite
go top
endcase
oLbx:Refresh()
oDlg:Refresh()
oDlg:SetFocus()
return nil
func inspro(oDlg,tip)
Local oDlgPro
Priva oSay[11]
do while .t.
sele auxite
codpro_t = auxite->codpro_g
nompro_t = auxite->nompro_g
vlrpro_t = auxite->vlrpro_g
quapro_t = auxite->quapro_g
define dialog oDlgPro resource "INSPRO" of OwND
oDlgPro:Cargo:= .F.
redefine say oSay[1] id 101 of oDlgPro color "B/W" update
...
activate dialog oDlgPro centered
if oDlgPro:Cargo
...
exit
endif
enddo
oDlg:Refresh()
oDlg:Setfocus()
retu("")
Alessandro B. Lemos
ablemos@ig.com.br
Sorocaba/SP