*-------------------------------------------------------------------------------
* Localiza Cadastro de fornecedores
*-------------------------------------------------------------------------------
FUNCTION LOCALIZA_fornecedORES_SQL()
Cursor("SQL")
X := .T.
PROCURA_PESQUISA := SPACE(40)
cOrder := 'A'
T_ID_VEICULO := 0
T_CAMPO_ORDENAR :='NOMFOR'
uRetCol := 1
*============================================================================
TB_bairros()
*----------------------------------------------------------------------------
TB_forneced()
*----------------------------------------------------------------------------
IF SELECT("forneced") != 0
forneced->(DbCloseArea())
ENDIF
cQuery:= ' SELECT * from forneced'
cQuery:= cQuery + ' ORDER BY CODFOR '
use sql cQuery alias "forneced" new via 'MYSQL'
forneced->(DbGoTop())
*----------------------------------------------------------------------------
DEFINE DIALOG oDlg_Pesq_Fornecedor RESOURCE "PESQUISA_SQL_INCREMENTAL" TITLE "...:: Pesquisa ::..." Font O_F_DLG
oDlg_Pesq_Fornecedor:lHelpIcon:=.F.
T_TXT_DIALOGO := ' Pesquisa'
REDEFINE SAY oT_TXT_DIALOGO var T_TXT_DIALOGO ID 4052 OF oDlg_Pesq_Fornecedor FONT O_F_GET COLOR CLR_LWHITE,CLR_BFOOT Update
T_TXT_DIALOGO2 := ' '
REDEFINE SAY oT_TXT_DIALOGO2 var T_TXT_DIALOGO2 ID 4001 OF oDlg_Pesq_Fornecedor FONT O_F_GET COLOR CLR_LWHITE,CLR_BFOOT Update
*----------------------------------------------------------------------------
oDBx_Fornecedor := TXBrowse():New( oDlg_Pesq_Fornecedor )
oDBx_Fornecedor:lAutoSort :=.t.
oDBx_Fornecedor:cAlias := "forneced"
oDBx_Fornecedor:bKeyDown :={|nKey| if(nkey=13,( T_CODIGO_forneced := forneced->CODFOR, oDlg_Pesq_Fornecedor:End() ),) }
oDBx_Fornecedor:bChange :={|| T_CODIGO_forneced := forneced->CODFOR }
oDBx_Fornecedor:bLDblClick :={|| T_CODIGO_forneced := forneced->CODFOR, oDlg_Pesq_Fornecedor:End() }
oDBx_Fornecedor:lColDividerComplete := .F.
oDBx_Fornecedor:lFooter := .T.
oDBx_Fornecedor:lRecordSelector := .T.
oDBx_Fornecedor:nHeaderLines := 2
oDBx_Fornecedor:nDataLines := 2
oDBx_Fornecedor:bClrStd := {|| { M->COR_LETRAS_GRID, IIF(((oDBx_Fornecedor:cAlias)->(ORDKEYNO()))%2==0, COR_1_bClrStd , COR_2_bClrStd )}}
oDBx_Fornecedor:bClrSelFocus := {|| { M->COR_1_bClrSelFocus, M->COR_2_bClrSelFocus } }
oDBx_Fornecedor:bClrRowFocus := {|| { M->COR_1_bClrRowFocus, M->COR_2_bClrRowFocus } }
oDBx_Fornecedor:nColDividerStyle := 4
oDBx_Fornecedor:nRowDividerStyle := 4
oDBx_Fornecedor:nMarqueeStyle := 4
oDBx_Fornecedor:nFooterLines := 1
oDBx_Fornecedor:lAllowColSwapping := .T. // Click no header (.f.)Trava
oDBx_Fornecedor:lAllowRowSizing := .T. // Nao move as Linhas (nao sei)
oDBx_Fornecedor:l2007 := M->ESTILO_l2007
oDBx_Fornecedor:lColChangeNotify := .T. &&&&& gerar evento por coluna
oDBx_Fornecedor:lAllowRowSizing := .T.
oDBx_Fornecedor:lSeekWild := .T.
oDBx_Fornecedor:lIncrFilter := .T. // Liga o Filtro incremental
*----------------------------------------------------------------------------
oDBx_Fornecedor:nColSel := 2 // Jogar o Foco na Segunda coluna
*----------------------------------------------------------------------------
oCol := oDBx_Fornecedor:AddCol()
oCol:bStrData := { || STRZERO(forneced->CODFOR,06,0) }
oCol:cHeader := "Código"
oCol:cFooter := " "
oCol:nDataStrAlign := AL_LEFT
oCol:nHeadStrAlign := AL_LEFT
oCol:bLClickHeader := {|r,c,f,o| ( oDBx_Fornecedor:cFilterFld := 'CODFOR', PROCURA_FORNECED_SQL(cOrder,'CODFOR',oDBx_Fornecedor:MouseColPos( c ) ) )}
oCol:cSortOrder := 'CODFOR'
oCol:oHeaderFont := O_F_90_GRAUS
*----------------------------------------------------------------------------
oCol := oDBx_Fornecedor:AddCol()
oCol:bStrData := { || forneced->NOMFOR }
oCol:cHeader := "Razão"
oCol:cFooter := " "
oCol:nDataStrAlign := AL_LEFT
oCol:nHeadStrAlign := AL_LEFT
oCol:bLClickHeader := {|r,c,f,o| ( oDBx_Fornecedor:cFilterFld := 'NOMFOR', PROCURA_FORNECED_SQL(cOrder,'NOMFOR', oDBx_Fornecedor:MouseColPos( c ) ) )}
oCol:cSortOrder := 'NOMFOR'
oCol:oHeaderFont := O_F_GET
*----------------------------------------------------------------------------
oCol := oDBx_Fornecedor:AddCol()
oCol:bStrData := { || forneced->FANTASIA }
oCol:cHeader := "Fantasia"
oCol:cFooter := " "
oCol:nDataStrAlign := AL_LEFT
oCol:nHeadStrAlign := AL_LEFT
oCol:bLClickHeader := {|r,c,f,o| ( oDBx_Fornecedor:cFilterFld := 'FANTASIA', PROCURA_FORNECED_SQL(cOrder,'FANTASIA',oDBx_Fornecedor:MouseColPos( c ) ) )}
oCol:cSortOrder := 'FANTASIA'
*----------------------------------------------------------------------------
oCol := oDBx_Fornecedor:AddCol()
oCol:bStrData := { || forneced->ENDFOR }
oCol:cHeader := "Endereço"
oCol:cFooter := " "
oCol:nDataStrAlign := AL_LEFT
oCol:nHeadStrAlign := AL_LEFT
oCol:bLClickHeader := {|r,c,f,o| ( oDBx_Fornecedor:cFilterFld := 'ENDFOR', PROCURA_FORNECED_SQL(cOrder,'ENDFOR',oDBx_Fornecedor:MouseColPos( c ) ) )}
oCol:cSortOrder := 'ENDFOR'
*----------------------------------------------------------------------------
oCol := oDBx_Fornecedor:AddCol()
oCol:bStrData := { || forneced->BAIFOR }
oCol:cHeader := "Bairro"
oCol:cFooter := " "
oCol:nDataStrAlign := AL_LEFT
oCol:nHeadStrAlign := AL_LEFT
oCol:bLClickHeader := {|r,c,f,o| ( oDBx_Fornecedor:cFilterFld := 'BAIFOR', PROCURA_FORNECED_SQL(cOrder,'BAIFOR',oDBx_Fornecedor:MouseColPos( c ) ) )}
oCol:cSortOrder := 'BAIFOR'
*----------------------------------------------------------------------------
oCol := oDBx_Fornecedor:AddCol()
oCol:bStrData := { || forneced->CEPFOR }
oCol:cHeader := "Cep"
oCol:cFooter := " "
oCol:nDataStrAlign := AL_LEFT
oCol:nHeadStrAlign := AL_LEFT
oCol:bLClickHeader := {|r,c,f,o| ( oDBx_Fornecedor:cFilterFld := 'CEPFOR', PROCURA_FORNECED_SQL(cOrder,'CEPFOR',oDBx_Fornecedor:MouseColPos( c ) ) )}
oCol:cSortOrder := 'CEPFOR'
*----------------------------------------------------------------------------
oCol := oDBx_Fornecedor:AddCol()
oCol:bStrData := { || forneced->CGCFOR }
oCol:cHeader := "Cnpj/Cpf"
oCol:cFooter := " "
oCol:nDataStrAlign := AL_LEFT
oCol:nHeadStrAlign := AL_LEFT
oCol:bLClickHeader := {|r,c,f,o| ( oDBx_Fornecedor:cFilterFld := 'CGCFOR', PROCURA_FORNECED_SQL(cOrder,'CGCFOR',oDBx_Fornecedor:MouseColPos( c ) ) )}
oCol:cSortOrder := 'CGCFOR'
*----------------------------------------------------------------------------
oCol := oDBx_Fornecedor:AddCol()
oCol:bStrData := { || (forneced->INSFOR) }
oCol:cHeader := "Insc."
oCol:cFooter := " "
oCol:nDataStrAlign := AL_LEFT
oCol:nHeadStrAlign := AL_LEFT
oCol:bLClickHeader := {|r,c,f,o| ( oDBx_Fornecedor:cFilterFld := 'INSFOR', PROCURA_FORNECED_SQL(cOrder,'INSFOR',oDBx_Fornecedor:MouseColPos( c ) ) )}
oCol:cSortOrder := 'INSFOR'
*----------------------------------------------------------------------------
oCol := oDBx_Fornecedor:AddCol()
oCol:bStrData := { || (forneced->FONFOR) }
oCol:cHeader := "Tel."
oCol:cFooter := " "
oCol:nDataStrAlign := AL_LEFT
oCol:nHeadStrAlign := AL_LEFT
oCol:bLClickHeader := {|r,c,f,o| ( oDBx_Fornecedor:cFilterFld := 'FONFOR', PROCURA_FORNECED_SQL(cOrder,'FONFOR',oDBx_Fornecedor:MouseColPos( c ) ) )}
oCol:cSortOrder := 'FONFOR'
*----------------------------------------------------------------------------
oCol := oDBx_Fornecedor:AddCol()
oCol:bStrData := { || (forneced->FAXFOR) }
oCol:cHeader := "Fax"
oCol:cFooter := " "
oCol:nDataStrAlign := AL_LEFT
oCol:nHeadStrAlign := AL_LEFT
oCol:bLClickHeader := {|r,c,f,o| ( oDBx_Fornecedor:cFilterFld := 'FAXFOR', PROCURA_FORNECED_SQL(cOrder,'FAXFOR',oDBx_Fornecedor:MouseColPos( c ) ) )}
oCol:cSortOrder := 'FAXFOR'
*----------------------------------------------------------------------------
oDBx_Fornecedor:CreateFromResource(4015)
*----------------------------------------------------------------------------
WITH OBJECT oDBx_Fornecedor
:SetGroupHeader( "Dados Básicos" , 01, 02, O_F_CAB_XBROWSE)
:SetGroupHeader( "Dados Postais" , 03, 05, O_F_CAB_XBROWSE)
:cFilterFld := "NOMFOR"
:bKeyDown := { |nKey| If( nKey == VK_RETURN, ( uRet := oDBx_Fornecedor:oCol( uRetCol ):Value, oDlg_Pesq_Fornecedor:End() ), nil ) }
:bKeyChar := { |nKey| If( nKey == VK_ESCAPE, ( oDBx_Fornecedor:Seek( "" ), oDlg_Pesq_Fornecedor:End() ), nil ) }
:bLDClickDatas := { || uRet := oDBx_Fornecedor:oCol( uRetCol ):Value, oDlg_Pesq_Fornecedor :End() }
:AutoFit()
END
REDEFINE SAY oDBx_Fornecedor:oSeek var oDBx_Fornecedor:cSeek ID 4002 PICTURE "@!" OF oDlg_Pesq_Fornecedor COLOR CLR_PRETO, CLR_VD_CALRO FONT O_F_GET
*----------------------------------------------------------------------------
REDEFINE BUTTONBMP oSair_pesquisa ID 4008 OF oDlg_Pesq_Fornecedor ACTION ( oDlg_Pesq_Fornecedor:end() ) BITMAP "#8019" PROMPT "&Fechar" TEXTRIGHT
REDEFINE BUTTONBMP oExp_excel ID 4016 OF oDlg_Pesq_Fornecedor ACTION ( oDBx_Fornecedor:ToExcel(), PROCURA_FORNECED_SQL() ) BITMAP (M->BTN_EXPORTA_EXCEL) PROMPT "Ex&cel" TEXTRIGHT
*----------------------------------------------------------------------------
oExp_excel : cToolTip := "Exportar para"+CRLF+"o Microsoft® Excel"
*----------------------------------------------------------------------------
oDBx_Fornecedor : SetFocus()
ACTIVATE DIALOG oDlg_Pesq_Fornecedor CENTERED
RETURN .T.
*=================================================================================
/// Pesquisa no Banco de dados Dependedo da Chave escolhida
///=============================================================================
FUNCTION PROCURA_FORNECED_SQL(v_Ordenacao,v_Campo_Ordenar,v_Num_Col)
DEFAULT v_Ordenacao :="A"
DEFAULT v_Campo_Ordenar :="NOMFOR"
DEFAULT v_Num_Col := 2
IF v_Ordenacao = 'A'
cOrder := 'D'
ELSE
cOrder := 'A'
ENDIF
*----------------------------------------------------------------------------
IF SELECT("forneced") != 0
forneced->(DbCloseArea())
ENDIF
cQuery := ' SELECT * from forneced '
cQuery += ' ORDER BY ' + ALLTRIM(v_Campo_Ordenar) + IF(v_Ordenacao='A',' DESC',' ASC')
use sql cQuery alias "forneced" new via 'MYSQL'
forneced->( DbGoTop())
oDBx_Fornecedor:oHeaderFonts := O_F_DLG
oDBx_Fornecedor:nColSel := (v_Num_Col)
oDBx_Fornecedor:oCol( (v_Num_Col) ):oHeaderFont := O_F_GET
oDBx_Fornecedor :GoTop()
oDBx_Fornecedor :Refresh()
oCol:cOrder := (cOrder)
oDBx_Fornecedor:RefreshHeaders()
oDBx_Fornecedor : SetFocus()
Return(.t.)