Código: Selecionar todos
Static Function BuscPro(CodPro)
Local oBuscPro, oFont
Local CALIAS:=ALIAS()
Local NORDEM:=INDEXORD()
Local NRECNO:=RECNO()
Local oBrwPro
LOCAL oEdGoto,oTest01
Private gPes,vPes:=""
Private oPrcavista,oPrcaprazo,oGrupo,oUnidade,oEstoque,oDescMax,oPeso,;
oUltVenda,oMarca,oTransito,oPCusto
Private vPrcavista:="Preco a vista: "+transform(Prod001->_Venda,"@E 999,999.99")
Private vPrcaprazo:="Preco a prazo: "+transform(Prod001->_Venda2,"@E 999,999.99")
Private vGrupo:="Grupo........: "+transform(Prod001->_grupo,"@!")
Private vUnidade:="Unidade......: "+transform(Prod001->_Unidade,"@!")
Private vEstoque:="Estoque......: "+transform(Prod001->_Estoque,"99999.99")
Private vPCusto:="Preco Custo..: "+transform(Prod001->_P_Custo,"@E 999,999.99")
Private vDescMax:="Desconto Maximo: "+transform(Prod001->descmax,"@E 999.99%")
Private vPeso:="Peso...........: "+transform(Prod001->PESO,"9999.99")
Private vUltVenda:="Ultima Venda...: "+dtoc(Prod001->_Uvenda)
Private vMarca:="Marca..........: "+transform(Prod001->_Marca,"@!")
Private vTransito:="Transito.......: "+transform(Prod001->_Transito,"9999.99")
//@ 15,180 SAY "Preco a vista: "+transform(_Venda,"@E 999,999.99") size 400,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
//@ 15,200 SAY "Preco a prazo: "+transform(_Venda2,"@E 999,999.99") size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
//@ 15,220 SAY "Grupo........: "+transform(_grupo,"@!") size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
//@ 15,240 SAY "Unidade......: "+transform(_Unidade,"@!") size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
//@ 15,260 SAY "Estoque......: "+transform(_Estoque,"99999.99") size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
//@ 425,180 SAY "Desconto Maximo: "+transform(descmax,"@E 999.99%") size 240,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
//@ 425,200 SAY "Peso...........: "+transform(PESO,"9999.99") size 80,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
//@ 425,220 SAY "Ultima Venda...: "+dtoc(_Uvenda) size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
//@ 425,240 SAY "Marca..........: "+transform(_Marca,"@!") size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
//@ 425,260 SAY "Transito.......: "+transform(_Transito,"9999.99") size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
PREPARE FONT oFont NAME "Courier New" WIDTH 0 HEIGHT -14
SELECT 8
Ordsetfocus(1)
dbseek(CodPro)
IF !FOUND()
Ordsetfocus(6)
dbseek(CodPro)
IF !FOUND()
INIT DIALOG oBuscPro CLIPPER NOEXIT TITLE "Busca Produtos.";
FONT oFont ;
AT 0, 0 SIZE 700, 425 ;
STYLE DS_CENTER + WS_VISIBLE + WS_POPUP + WS_VISIBLE +WS_CAPTION + WS_SYSMENU
ordsetfocus(2)
@ 15, 5 BROWSE oBrwPro DATABASE OF oBuscPro SIZE 660,150 STYLE WS_VSCROLL + WS_HSCROLL ;
AUTOEDIT ;
ON KEYDOWN {|o,key| BrowseKey3(o, key) };
ON POSCHANGE {|| BrowseMove(oBrwPro, "NIL", oEdGoto, "Dbs") }
ADD COLUMN FieldBlock(Fieldname(3) ) TO oBrwPro ;
HEADER "Codigo" ;
PICTURE "99999" ;
JUSTIFY HEAD DT_CENTER ;
JUSTIFY LINE DT_LEFT
ADD COLUMN FieldBlock(Fieldname(18) ) TO oBrwPro;
HEADER "Descricao do Produto" ;
PICTURE "@!" ;
JUSTIFY HEAD DT_CENTER ;
JUSTIFY LINE DT_LEFT
@ 10,160 GROUPBOX "Dados do Produto." SIZE GetDesktopWidth()-360,150
@ 15,180 SAY oPrcaVista CAPTION vPrcaVista size 400,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
@ 15,200 SAY oPrcaPrazo CAPTION vPrcaPrazo size 400,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
@ 15,220 SAY oGrupo CAPTION vGrupo size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
@ 15,240 SAY oUnidade CAPTION vUnidade size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
@ 15,260 SAY oEstoque CAPTION vEstoque size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
@ 15,280 SAY oPCusto CAPTION vPCusto size 400,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
@ 425,180 SAY oDescMax CAPTION vDescMax size 240,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
@ 425,200 SAY oPeso CAPTION vPeso size 80,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
@ 425,220 SAY oUltVenda CAPTION vUltVenda size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
@ 425,240 SAY oMarca CAPTION vMarca size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
@ 425,260 SAY oTransito CAPTION vTransito size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
@ 10,360 say "Pesquisa:" size 70,20
@ 80,360 SAY gPes CAPTION vPes size 200,20 STYLE WS_BORDER COLOR 10485760 BACKCOLOR 12507070 //SS_CENTER
@ 290,360 BUTTON oButton CAPTION "Ok" SIZE 100, 20 ON CLICK {||vRef:=_Ref01,vDescricao:=_Descricao,vPreco:=_Venda,EndDialog()} STYLE WS_TABSTOP + BS_DEFPUSHBUTTON
ACTIVATE DIALOG oBuscPro
ENDIF
ENDIF
DBSELECTAREA(CALIAS)
DBSETORDER(NORDEM)
DBGOTO(NRECNO)
vRef:=iif(empty(Prod001->_Ref02),Prod001->_Ref01,Prod001->_Ref02)
vDescricao:=Prod001->_Descricao
vPreco:=Prod001->_Venda
oDescricao:SetText(vDescricao)
oPreco:SetText(vPreco)
oRef:SetText(vRef)
Return Nil
Static Function BrowseKey3( oBrowse, key )
IF key == VK_BACK .or. key == VK_LEFT
If len(vPes) > 0
//vPes := UPPER(CHR(vPes - 48))
vPes := substr(vpes,1,len(vPes)-1)
EndIf
ElseIf key == VK_UP .or. key == VK_DOWN
oPrcAvista:SetText("Preco a vista: "+transform(Prod001->_Venda,"@E 999,999.99"))
oPrcAprazo:SetText("Preco a prazo: "+transform(Prod001->_Venda2,"@E 999,999.99"))
oGrupo:SetText("Grupo........: "+transform(Prod001->_grupo,"@!"))
oUnidade:SetText("Unidade......: "+transform(Prod001->_Unidade,"@!"))
oEstoque:SetText("Estoque......: "+transform(Prod001->_Estoque,"99999.99"))
oPCusto:SetText("Preco Custo..: "+Transform(Prod001->_P_Custo,"@E 999,999.99"))
oDescMax:SetText("Desconto Maximo: "+transform(Prod001->descmax,"@E 999.99%"))
oPeso:SetText("Peso...........: "+transform(Prod001->PESO,"9999.99"))
oUltVenda:SetText("Ultima Venda...: "+dtoc(Prod001->_Uvenda))
oMarca:SetText("Marca..........: "+transform(Prod001->_Marca,"@!"))
oTransito:SetText("Transito.......: "+transform(Prod001->_Transito,"9999.99"))
return .t.
Else
if key =190.or.key=194.or.key=255
vPes += [.]
elseif key=188.or.110
vPes += [,]
elseif key=96
vPes += [0]
elseif key=33
dbskip(-10)
return .t.
elseif key=34
dbskip(+10)
return .t.
elseif key=97
vPes += [1]
elseif key=98
vPes += [2]
elseif key=99
vPes += [3]
elseif key=100
vPes += [4]
elseif key=101
vPes += [5]
elseif key=102
vPes += [6]
elseif key=103
vPes += [7]
elseif key=104
vPes += [8]
elseif key=105
vPes += [9]
elseif key=106
vPes += [*]
elseif key=107
vPes += [+]
elseif key=109
vPes += [-]
elseif key=193.or.key=191.OR.Key=111
vPes += [/]
elseif key=105
vPes += [9]
elseif key=189
vPes += [-]
elseif key=187
vPes += [=]
// elseif key>=96 .and. key<=105
// key := key -48
else
//MsgInfo(str(key))
IF IsCapsLockActive() .or. Key=16
ELSE
if key>=65 .and. key <=90
key := key+32
endif
ENDIF
vPes += chr(key)
endif
EndIf
gPes : SetText(vPes)
gPes : SetFocus()
dbseek(vpes)
oBrowse:Refresh()
oPrcAvista:SetText("Preco a vista: "+transform(Prod001->_Venda,"@E 999,999.99"))
oPrcAprazo:SetText("Preco a prazo: "+transform(Prod001->_Venda2,"@E 999,999.99"))
oGrupo:SetText("Grupo........: "+transform(Prod001->_grupo,"@!"))
oUnidade:SetText("Unidade......: "+transform(Prod001->_Unidade,"@!"))
oEstoque:SetText("Estoque......: "+transform(Prod001->_Estoque,"99999.99"))
oPCusto:SetText("Preco Custo..: "+Transform(Prod001->_P_Custo,"@E 999,999.99"))
oDescMax:SetText("Desconto Maximo: "+transform(Prod001->descmax,"@E 999.99%"))
oPeso:SetText("Peso...........: "+transform(Prod001->PESO,"9999.99"))
oUltVenda:SetText("Ultima Venda...: "+dtoc(Prod001->_Uvenda))
oMarca:SetText("Marca..........: "+transform(Prod001->_Marca,"@!"))
oTransito:SetText("Transito.......: "+transform(Prod001->_Transito,"9999.99"))
Return .T.