Antonio,
estou tendo problema com cseek em xbrowse
faço o filtro e fecho a tela do xbrowse, quando chamo a tela do xbrowse novamente continua com o filtro
com fwh1801 trabalha normal
// BUSCA DO CLIENTE
FUNCTION BUSCA_NOME_CLIENTE( aGet, DeOndeVem )
LOCAL oDlg, oLbx, oSaida, oBrush, oFont, oFnt, oOk, oSay
LOCAL lConfirma := .F., nRecno, nKey := VK_RETURN, cAlias, IDCOR
LOCAL CNOMECLIEN, cEnderPropo, cBairrPropo, cCepdaPropo, bGet := ARRAY(5)
LOCAL cCidadPropo, cUFdaPropo, ccEmailCli, ccContatoCli, ccFuncaoClie
LOCAL ccFonesClien, oDlgInd, TRAB, cIndice, nColuna := 1, cnContrato, aGrad
TRAB := OemToAnsi( "ESCOLHA O ÖNDICE DA PESQUISA DO CLIENTE" )
// GRADIENTE NO DIALOGO
aGrad := { { 0.30, CLR_CYAN, CLR_HCYAN },{ 0.70, CLR_HCYAN, CLR_CYAN } }
DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 00, -14 BOLD
DEFINE FONT oFnt NAME "Ms Sans Serif" SIZE 00, -12 BOLD
DEFINE DIALOG oDlgInd RESOURCE "DLG_INDICE_PESQUISA" GRADIENT aGrad
oDlgInd:lHelpIcon := .F.
For IDCor = 401 To 401 // Os ID's dos TEXTOS na DIALOG.
REDEFINE SAY ID IDCor COLOR CLR_BLACK, CLR_WHITE OF oDlgInd ;
UPDATE FONT oFnt TRANSPARENT
Next IDCor
REDEFINE GROUP oGroup ID 501 OF oDlgInd COLOR CLR_BLACK, CLR_WHITE FONT oFnt TRANSPARENT
REDEFINE RADIO oRadMenu VAR nOpcBuscaClie ID 201, 202, 203, 204, 205, ;
206 OF oDlgInd UPDATE
REDEFINE GET aGet[1] VAR TRAB PICTURE "@ !" ID 50 OF oDlgInd ;
WHEN( .F. ) UPDATE COLORS CLR_HBLUE, CLR_WHITE FONT oFont
REDEFINE BUTTONBMP oOk ID 301 OF oDlgInd ;
ACTION( lConfirma := .T., oDlgInd:End() )
oOk:cToolTip := OemToAnsi( "Escolha um Cliente" )
REDEFINE BUTTONBMP oSaida ID 302 OF oDlgInd ;
ACTION( lConfirma := .F., oDlgInd:End() ) CANCEL
oSaida:cToolTip := OemToAnsi( "Saida - Exit - Cancelar" )
SET FONT OF oOk TO oFont
SET FONT OF oSaida TO oFont
SET FONT OF oDlgInd TO oFont
ACTIVATE DIALOG oDlgInd CENTERED
oFnt:End()
oFont:End()
Do Case
Case nKey == VK_ESCAPE .OR. GetKeyState( VK_ESCAPE ) .OR. .NOT. lConfirma
nOpcBuscaClie := 6
XFOCUS( aGet[10] )
RETURN NIL
EndCase
SELECT( DBCADCLIEN )
GO TOP
// EM ORGIND.PRG
IF nOpcBuscaClie == 6 //-> Por Endereco
INDEX ON END_FAT TAG 12 TO CLIETEMP FOR ( .NOT. EOF() ) MEMORY // TEMPORARY
MsgWait( "PESQUISA PELO ENDERECO DO CLIENTE...", ;
"AGUARDE UM MOMENTO POR FAVOR... ", 1.5 )
cIndice := OemToAnsi( "Endere‡o" )
nColuna := 3
ELSEIF nOpcBuscaClie == 5 //-> Por CPF
SET ORDER TO 09
MsgWait( "PESQUISA PELO C.P.F. DO CLIENTE...", ;
"AGUARDE UM MOMENTO POR FAVOR... ", 1.5 )
cIndice := OemToAnsi( "Cpf" )
nColuna := 5
ELSEIF nOpcBuscaClie == 4 //-> Por CGC/CNPJ
SET ORDER TO 08
MsgWait( "PESQUISA PELO C.N.P.J. DO CLIENTE...", ;
"AGUARDE UM MOMENTO POR FAVOR... ", 1.5 )
cIndice := OemToAnsi( "Cnpj" )
nColuna := 4
ELSEIF nOpcBuscaClie == 3 //-> Por fantasia
SET ORDER TO 10
MsgWait( "PESQUISA PELA FANTASIA DO CLIENTE...", ;
"AGUARDE UM MOMENTO POR FAVOR... ", 1.5 )
cIndice := OemToAnsi( "Fantasia" )
nColuna := 3
ELSEIF nOpcBuscaClie == 2 //-> Por Codigo
SET ORDER TO 01
MsgWait( "PESQUISA PELO CODIGO DO CLIENTE...", ;
"AGUARDE UM MOMENTO POR FAVOR... ", 1.5 )
cIndice := OemToAnsi( "C¢digo" )
nColuna := 1
ELSEIF nOpcBuscaClie == 1 //-> Por Nome
SET ORDER TO 07
MsgWait( "PESQUISA PELO NOME DO CLIENTE...", ;
"AGUARDE UM MOMENTO POR FAVOR... ", 1.5 )
cIndice := OemToAnsi( "Nome" )
nColuna := 2
ENDIF
GO TOP
SET DESCENDING OFF
GO TOP
cAlias := ALIAS() //-> Busca Incremental.
DBPESQ := ALIAS()
// GRADIENTE NO DIALOGO
aGrad := { { 0.30, CLR_CYAN, CLR_HCYAN },{ 0.70, CLR_HCYAN, CLR_CYAN } }
DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
DEFINE DIALOG oDlg SIZE 800, 455 PIXEL FONT oFont ;
TITLE "PLENOIND: PESQUISA INCREMENTAL - Digite o Que Deseja Procurar" ;
GRADIENT aGrad
oDlg:lHelpIcon := .F.
oDlg:nSeeThroClr := RGB(1,1,1)
@ 30, 10 XBROWSE oBrw SIZE -10,-10 PIXEL OF oDlg ;
DATASOURCE "DBPESQ" AUTOCOLS AUTOSORT CELL LINES NOBORDER ;
HEADERS "Código:", "Nome:", "Endereço:", "Fantasia:", "Cnpj:", "Cpf:" ;
FIELDS ( cAlias )->CLIENCOD, ( cAlias )->CLIENTE, ( cAlias )->END_FAT, ;
( cAlias )->FANTASIA, ( cAlias )->CGC, ( cAlias )->CPF
oBrw:l2007 := .F.
oBrw:lFlatStyle := .T. // ??
oBrw:SetFont( oFont )
oBrw:nColSel := nColuna // <n> // Mister Nages - Perfect. Cursor inicia na xBrowse()
WITH OBJECT oBrw
oBrw:lIncrFilter := .T. // Liga o Filtro incremental
oBrw:lSeekWild := .T. // Liga a busca incremental
oBrw:bKeyDown := { |nKey| If( nKey == VK_RETURN, ( oDlg:End() ), nil ) }
oBrw:bKeyChar := { |nKey| If( nKey == VK_ESCAPE, ( oBrw:Seek( "" ), oDlg:End() ), nil ) }
oBrw:AutoFit() // Auto ajuste / ajuste automatico do xBrowse()
oBrw:CreateFromCode()
END
@ 10, 055 SAY "Digite o Que Deseja Procurar: " SIZE 120, 10 PIXEL OF oDlg ;
COLOR CLR_BLACK, CLR_WHITE TRANSPARENT
@ 10, 150 SAY oBrw:oSeek PROMPT oBrw:cSeek PICTURE "@!" SIZE 120, 10 ;
PIXEL OF oDlg COLOR CLR_BLACK, CLR_YELLOW FONT oFont
@ 10, 280 SAY "Busca Por: " + cIndice SIZE 100, 10 PIXEL OF oDlg ;
COLOR CLR_BLACK, CLR_WHITE TRANSPARENT
WITH OBJECT oBrw:oSeek
// oBrw:bLClicked := { || nRecNo := ( cAlias )->( RecNo() ), oDlg:End() }
oBrw:bLClicked := { || oDlg:End() }
END
@ 010, 005 BUTTON oSaida PROMPT( "&Sair" ) ACTION( oDlg:End() ) ;
SIZE 25, 12 PIXEL FONT oFont OF oDlg CANCEL
oSaida:cToolTip := "Saida - Exit - Cancelar"
ACTIVATE DIALOG oDlg CENTERED ON INIT ( oBrw:SetFocus(), .F. )
oFont:End()
DO CASE
CASE nKey == VK_ESCAPE .OR. GetKeyState( VK_ESCAPE )
lConfirma := .F.
ENDCASE
IF lConfirma //-> Usuario Escolheu um Cliente
//-> Posiciona Cursor no Registro Para Altera‡Æo
nRecNo := ( cAlias )->( RecNo() )
GoTo( nRecNo )
CNOMECLIEN := ( cAlias )->CLIENTE
nClienCod := ( cAlias )->CLIENCOD
aGet[10]:VARPUT( CNOMECLIEN )
aGet[10]:Refresh()
// folder 2
// aGet[43] VAR ClienPropo PICTURE "@K!" ID 23 OF oFld:aDialogs[ 2 ]
IF DeOndeVem = "FOLDER2" // SEGUNDA TELA DA PROPOSTA
aGet[43]:VARPUT( CNOMECLIEN )
aGet[43]:Refresh()
ENDIF
cEnderPropo := ( cAlias )->END_FAT
aGet[11]:VARPUT( cEnderPropo )
aGet[11]:Refresh()
cBairrPropo := ( cAlias )->BAIR_FAT
aGet[12]:VARPUT( cBairrPropo )
aGet[12]:Refresh()
cCepdaPropo := ( cAlias )->CEP_FAT
aGet[13]:VARPUT( cCepdaPropo )
aGet[13]:Refresh()
cCidadPropo := ( cAlias )->CID_FAT
aGet[26]:VARPUT( cCidadPropo )
aGet[26]:Refresh()
cUFdaPropo := ( cAlias )->UF_FAT
aGet[27]:VARPUT( cUFdaPropo )
aGet[27]:Refresh()
ccEmailCli := ( cAlias )->EMAIL
aGet[28]:VARPUT( ccEmailCli )
aGet[28]:Refresh()
ccContatoCli := ( cAlias )->CON_FAT
aGet[29]:VARPUT( ccContatoCli )
aGet[29]:Refresh()
ccFuncaoClie := ( cAlias )->DEPTO_FAT
aGet[30]:VARPUT( ccFuncaoClie )
aGet[30]:Refresh()
ccFonesClien := ( cAlias )->FONE_FAT
aGet[31]:VARPUT( ccFonesClien )
aGet[31]:Refresh()
ENDIF
IF nOpcBuscaClie == 6 //-> Por Endereco
SET ORDER TO 0 // FECHA O INDICE TEMPORARIO
// arquivo temporario na memoria MEMORY ou TEMPORARY
OrdDestroy( "CLIETEMP" )
ENDIF
// Swap it to descending - Trocar para descendente
SET DESCENDING ON
CLOSE( DBPESQ ) // CLOSE FILTER - FECHO FILTRO DA XBROWSE()
USE CADCLIEN INDEX CADCLIEN ALIAS CADCLIEN NEW SHARED
SET ORDER TO 01
GO TOP
SELECT( DBCADPROPO )
SET ORDER TO 01
XFOCUS( aGet[10] )
RETURN NIL
Function PesqProd( oGet1, oText1, cFam_Prod, lEsto, lEntr )
Local oFontB, oFontH, oFont1, oLbxPePd, oDlgPePd, oCol, cAlias:=Alias(), nIndice:=Prod->(IndexOrd()),;
aRes:=ScrResolution(), cSelect
DEFINE FONT oFontB NAME oApp:cFontBrow SIZE 0, oApp:cFontBrowLen
DEFINE FONT oFontH NAME oApp:cFontBrow SIZE 0, oApp:cFontBrowLen-2 BOLD
DEFINE FONT oFont1 NAME oApp:cFontGet SIZE 0, oApp:cFontGetLen
dbSelectAreaSql("Prod")
Prod->(DbSetOrder("Prod2"))
SR_SetActiveConnection (nConn0)
If !SR_ExistTable( "prod" )
SR_SetActiveConnection (nConn1)
Endif
cSelect := "SELECT * FROM prod WHERE at1_prod="+Sr_cDbValue("F")+" and fam_prod="+Sr_cDbValue(cFam_Prod)+" order by nom_prod"
DbUseArea(.t., "SQLRDD", cSelect, "Prod")
dbSelectArea( "Prod" )
Prod->(DbGoTop())
// SR_SETFILTER("at1_prod='A' and fam_prod='"+cFam_Prod+"'")
// Prod->(DbGoTop())
DEFINE DIALOG oDlgPePd SIZE aRes[1]*96/100, aRes[2]*74/100 TITLE "Produto"
@ 1.3,0 xBROWSE oLbxPePd FIELDS Prod->Fam_Prod+Prod->Cod_Prod+CRLF+Prod->Bar_Prod,;
Prod->Nom_Prod+CRLF+Prod->Fam_Prod+"-"+Fami->Nom_Fami,;
Prod->Uni_Prod+CRLF,;
Prod->Ref_Prod+CRLF+Prod->Mar_Prod,;
Prod->Ncm_Prod+CRLF+Prod->Ces_Prod,;
If(!Prod->Dec_Prod, Tran(Pres->Eat_Pres,"9999999"), Tran(Pres->Eat_Pres,"9999999.999"))+CRLF+Tran(If(Empr->Prc_Empr=.t., Prod->Pfa_Prod, Prod->Pve_Prod), If(Empr->Dec_Empr=.t.,"@E 999,999.9999","@E 999,999.99"));
HEADERS "GrCód."+CRLF+"Cód.:Barra",;
"Descrição Produto",;
"MD"+CRLF+"S",;
"Referência"+CRLF+"Marca",;
"NCM"+CRLF+"CEST",;
"Estoque"+CRLF+"Prç."+If(Empr->Prc_Empr=.t., "Atacado", "Varejo");
JUSTIFY .f., .f., .f., .f., .f., .t.;
SIZE aRes[1]*48/100, aRes[2]*33/100 FONT oFontB ALIAS "PROD" OF oDlgPePd
oLbxPePd:nMarqueeStyle := MARQSTYLE_HIGHLROW
oLbxPePd:nColDividerStyle := LINESTYLE_BLACK
oLbxPePd:nRowDividerStyle := LINESTYLE_BLACK
oLbxPePd:lColDividerComplete := .t.
oLbxPePd:lFooter := .t.
oLbxPePd:nFreeze := 0
oLbxPePd:bClrSelFocus := {|| { CLR_BLACK, CLR_FOCO } }
oLbxPePd:nHeaderLines := 2
oLbxPePd:nDataLines := 2
oLbxPePd:bKeyDown := {|nKey| BrwKeyPePr(nkey, oDlgPePd, oLbxPePd, oGet1, oText1, lEsto, lEntr) }
oLbxPePd:bLDblClick := { || EditProd( oLbxPePd, .f., .f., .t.) }
oLbxPePd:bClrStd := {|| { CLR_WHITE, If((Prod->(ORDKEYNO()))%2==0, CLR_BRW1, CLR_BRW2) } }
oLbxPePd:lIncrFilter := .t.
oCol := oLbxPePd:aCols[ 1 ]
oCol:cSortOrder := 'PROD1'
ocol:cToolTip:="Clique para ordenar por código do produto"
oCol := oLbxPePd:aCols[ 2 ]
oCol:cSortOrder := 'PROD2'
ocol:cToolTip:="Clique para ordenar por descrição do produto"
oCol := oLbxPePd:aCols[ 3 ]
oCol:AddResource("BMP_CHE1")
oCol:AddResource("BMP_CHE2")
oCol:bStrData := { || Prod->Uni_Prod }
oCol:bBmpData := { || If(Prod->Ati_Prod, 2, 1) }
oCol := oLbxPePd:aCols[ 4 ]
oCol:cSortOrder := 'PROD7'
ocol:cToolTip:="Clique para ordenar por Referencia do produto"
oLbxPePd:SetRDD()
oLbxPePd:CreateFromCode()
oDlgPePd:oClient := oLbxPePd
oDlgPePd:lHelpIcon := .f.
ACTIVATE DIALOG oDlgPePd ON INIT (oLbxPePd:SetFocus(), DlgPePdToolBar(oDlgPePd, oLbxPePd, oGet1, oText1, cFam_Prod, lEsto, lEntr))
Prod->(dbCloseArea())
oLbxPePd := nil
// SR_SetActiveConnection (nConn0)
// If !SR_ExistTable( "prod" )
// SR_SetActiveConnection (nConn1)
// Endif
// SR_SETFILTER("sr_recno != 0")
Prod->(DbSetOrder(nIndice))
dbSelectAreaSql(cAlias)
Return nil
*--------------------------------------------------------------------------------
Static FUNCTION DlgPePdToolBar(oDlgPePd, oLbxPePd, oGet1, oText1, cFam_Prod, lEsto, lEntr)
LOCAL oToolBarPePd, oImageListPePd, oPesqCombo, nPesqCombo:=1, oFontH
DEFINE FONT oFontH NAME oApp:cFontBrow SIZE 0, oApp:cFontBrowLen BOLD
SET MESSAGE OF oDlgPePd 2007 TO "Cadastro de Produtos"
DEFINE IMAGELIST oImageListPePd SIZE 24, 24
DEFINE IMGBITMAP OF oImageListPePd NAME "BMP_NOVO" COLOR nRGB( 255, 0, 255 )
DEFINE IMGBITMAP OF oImageListPePd NAME "BMP_EDIT" COLOR nRGB( 255, 0, 255 )
DEFINE IMGBITMAP OF oImageListPePd NAME "BMP_DELE" COLOR nRGB( 255, 0, 255 )
DEFINE IMGBITMAP OF oImageListPePd NAME "BMP_REST" COLOR nRGB( 255, 0, 255 )
DEFINE IMGBITMAP OF oImageListPePd NAME "BMP_SAI2" COLOR nRGB( 255, 0, 255 )
DEFINE TOOLBAR oToolBarPePd OF oDlgPePd SIZE 26, 30 IMAGELIST oImageListPePd BALLOON 2007
DEFINE TBBUTTON OF oToolBarPePd;
ACTION (EditProd(oLbxPePd, .t., .t., lEsto, lEntr), Prod->(DbSetOrder("Prod4")));
TOOLTIP "Novo F2"
DEFINE TBBUTTON OF oToolBarPePd;
ACTION (EditProd(oLbxPePd, .f., .t., lEsto, lEntr), Prod->(DbSetOrder("Prod4")) );
TOOLTIP "Editar F3"
DEFINE TBBUTTON OF oToolBarPePd;
ACTION (DelProd(oLbxPepd), Prod->(DbSetOrder("Prod4")));
TOOLTIP "Deletar F4"
DEFINE TBSEPARATOR OF oToolBarPePd
DEFINE TBBUTTON OF oToolBarPePd;
ACTION ( oText1:Refresh(), If(Empr->Bar_Empr=.f., oGet1:varput(Val(Prod->Cod_Prod)), oGet1:varput(Prod->Bar_Prod) ), oGet1:Refresh(), oDlgPePd:End() );
TOOLTIP "Selecionar [ENTER]"
DEFINE TBSEPARATOR OF oToolBarPePd
DEFINE TBBUTTON OF oToolBarPePd ACTION oDlgPePd:End() TOOLTIP "Sair"
DEFINE TBSEPARATOR OF oToolBarPePd
@ 6, 230 COMBOBOX oPesqCombo VAR nPesqCombo ITEMS {"DESCRIÇÃO", "CÓDIGO", "REFERÊNCIA", "MARCA"} OF oToolBarPePd PIXEL COLOR CLR_GET1,CLR_GET2 SIZE 100, 20 FONT oFontH ON CHANGE MudaOrdemProdPesqNoFilter(nPesqCombo, oLbxPePd)
@ 8, 340 SAY oLbxPePd:oSeek PROMPT oLbxPePd:cSeek PICTURE "@!" UPDATE OF oToolBarPePd PIXEL COLOR CLR_GET1, CLR_GET2 FONT oFontH SIZE 150, 20 BORDER
Return nil
*-------------------------------
oLbxPePd:lIncrFilter := .T.
oLbxPePd:lSeekWild := .T. // Liga a busca incremental
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: No registered users and 22 guests