Code: Select all
*------------------------------------------------------------------------------------*
Function AchaEmbalagem( oArquivo, oVar, oOrdem, oCampo )
*------------------------------------------------------------------------------------*
local oLbx,oCbx,oAcha,oDlg
Local cOrdem,mOrdem,cDbfAcha
Local cAcha
Local SelOld
Local nOrdem
Local lOk:=.F.
Local RecN:= RecNo()
Local cPrg := oArquivo
Local oBt[8]
oOrdem:=iif( oOrdem=nil, 2, oOrdem)
oCampo:=iif( oCampo=nil,"NR_EM", oCampo)
SelOld := Select()
SysWait( 0.1 )
if Compara_Valor(Len(cPrg),2,"=")
if !Net_Use("MTEMBALA",cPrg)
Select(SelOld)
Return Nil
endif
oArquivo := ALIAS()
cDbfAcha := cPRG+"MTEMBALA"
else
cDbfAcha:=cPrg
endif
Select(oArquivo)
nOrdem := ORDNUMBER()
nRegAtu:= RecN()
Set Order To oOrdem
DBGOTOP()
IF oOrdem == 1
cOrdem := "1-Código"
Elseif oOrdem == 2
cOrdem := "2-Nome"
Endif
mOrdem := {"1-Código","2-Descrição"}
Select(oArquivo)
DEFINE DIALOG oDlg RESOURCE "PLANILHA" TITLE StrZero(RecCount(),6)+" Encontra Embalagens" FONT oFontSay //TRANSPARENT
Select(cDbfAcha)
REDEFINE ICON ID ID_BITMAP OF oDlg RESOURCE "ACHA"
REDEFINE SAY PROMPT "Embalagens" ID 1100 OF oDlg ;
FONT oFontBig COLOR CLR_BLUE
REDEFINE LISTBOX oLbx;
FIELDS (cDbfAcha)->Nr_EM,;
(cDbfAcha)->Descr;
HEADERS "Código","Descrição";
ID 8000 OF oDlg UPDATE FONT oFontBrw;
ON DBLCLICK ( lOk:=.T. , oDlg:end() )
oLbx:bKeyDown := {|nKey|iif(nKey=13,( lOk:=.T., oDlg:end()),"")}
REDEFINE GET oAcha VAR cAcha ID 111 OF oDlg UPDATE;
ON CHANGE ( ::Assign(),;
If( nKey=13, (oLbx:Refresh(),oLbx:SetFocus()),;
If( (cDbfAcha)->(DbSeek(Upper(SubS(cAcha,1,::nPos-1))+IIF(oaVersao="16",Upper(Chr(nKey)),''))),;
(oLbx:UpStable(),oLbx:Refresh(),.t.),; // accept the Key
(oLbx:UpStable(),oLbx:Refresh(),.f.)))) // refuse the key
REDEFINE ButtonBmp ID 100 OF oDlg ; && Pesquisa
PROMPT "C&onfirma" BITMAP "B_OK1";
ACTION ( lOk:=.T. , oDlg:end() )
REDEFINE ButtonBmp ID 110 OF oDlg ; && Lista
PROMPT "&Pesquisa" BITMAP "B_PROCURA1";
ACTION ( Pesquisa( cDbfAcha, oLbx, oDlg, 3, "Código ou Descrição", "Embalagem", .F. ), cOrdem:=mOrdem[(cDbfAcha)->(ORDNUMBER())], oCbx1:Refresh(), cAcha:=Space(50), oAcha:Refresh() )
REDEFINE Button oBt[2] ID 120 OF oDlg
REDEFINE Button oBt[3] ID 130 OF oDlg
REDEFINE Button oBt[4] ID 140 OF oDlg
REDEFINE Button oBt[6] ID 160 OF oDlg
REDEFINE Button oBt[7] ID 170 OF oDlg
REDEFINE ButtonBmp ID 180 OF oDlg ; && Fechar
PROMPT "&Cancela" BITMAP "B_CANCEL1";
ACTION oDlg:End() Cancel
REDEFINE SAY PROMPT "Ordem:" ID 330 OF oDlg COLOR CLR_RED
REDEFINE COMBOBOX oCbx1 VAR cOrdem ITEMS mOrdem ;
ID 350 ON CHANGE Ordem( oLbx, cDbfAcha, cOrdem, oa_focus(oLbx), cAcha:=Space(50), oAcha:Refresh() ) OF oDlg
ACTIVATE DIALOG oDlg CENTERED;
ON INIT ( oBt[2]:Hide(),oBt[3]:Hide(),oBt[4]:Hide(),oBt[6]:Hide(),oBt[7]:Hide(),;
SetaBrw3d( oLbx ) )
if Select(oArquivo)>0 // 12/08/2013: Evita erro na próxima linha
Select(oArquivo)
DBSetOrder( nOrdem )
endif
if (lOk) .AND. Select(cDbfAcha)>0
Stor (cDbfAcha)->&oCampo To oVar
endif
SysWait( 0.1 )
if Compara_Valor(Len(cPrg),2,"=")
fecha_arquivo( oArquivo )
endif
Select( SelOld )
Return( oVar )
Code: Select all
PLANILHA DIALOG 6, 18, 418, 221
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Planilha"
FONT 8, "MS Sans Serif"
{
EDITTEXT 111, 46, 203, 295, 11, ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP
LTEXT "Titulo", 1100, 25, 1, 200, 25, NOT WS_GROUP
CONTROL "", -1, "STATIC", SS_GRAYFRAME | WS_CHILD | WS_VISIBLE | WS_GROUP, 3, 26, 340, 172
GROUPBOX "", 102, 346, 1, 71, 217, BS_GROUPBOX
CONTROL "", 8000, "twbrowse", 0 | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP, 4, 27, 335, 169
COMBOBOX 350, 252, 5, 91, 94, CBS_DROPDOWNLIST | WS_TABSTOP
PUSHBUTTON "Novo", 100, 349, 9, 65, 20
PUSHBUTTON "Modifica", 110, 349, 30, 65, 20
PUSHBUTTON "Apaga", 120, 349, 51, 65, 20
PUSHBUTTON "Consulta", 130, 349, 72, 65, 20
PUSHBUTTON "Pesquisa", 140, 349, 93, 65, 20
PUSHBUTTON "Lista", 160, 349, 114, 65, 20
PUSHBUTTON "Filtra", 170, 349, 135, 65, 20
PUSHBUTTON "Fecha", 180, 349, 195, 65, 20
CONTROL "", -1, "STATIC", SS_GRAYFRAME | WS_CHILD | WS_VISIBLE | WS_GROUP, 3, 200, 340, 18
RTEXT "Ordem:", 330, 226, 7, 24, 9, SS_RIGHT | NOT WS_GROUP
RTEXT "Pesquisa:", -1, 8, 204, 34, 8
ICON "", 1000, 3, 3, 18, 20
}