Ponto-de-Entrada: VEI018FBRW - Filtro no Browse da rotina VEIXA018 (Atend. Modelo 2)
Abrangências: | Microsiga Protheus 10 , Microsiga Protheus 11 |
Versões: | Microsiga Protheus 10 , Microsiga Protheus 11 |
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível às Bases de Dados: | Todos |
Idiomas: | Português (Brasil) |
Descrição:
Este ponto de entrada permite o usuário criar um filtro em expressão SQL, para filtrar os registros que serão exibidos no browse da rotina Atend. Modelo 2 (VEIXA018).
Eventos
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Funcao ³ VEIXA018 ³ Autor ³ Andre Luis Almeida / Rubens ³ Data ³ 30/03/10 ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descricao ³ Atendimento de Veiculos ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±³Uso ³ Veiculos ³±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Function VEIXA018()
Local cFiltro := ""
Local cFilUser := ""
Local aRegs := {}
Local aCoresUsr := {}
Private cCadastro := STR0001
Private aRotina := MenuDef()
Private aCores := {{'VV9->VV9_STATUS == "A" .AND. VXA018VEIVD()','lbok_ocean'},; // Em Aberto com Veiculo ja Vendido
{'VV9->VV9_STATUS == "A"','BR_VERDE'},; // Em Aberto
{'VV9->VV9_STATUS == "P"','BR_AMARELO'},; // Pendente de Aprovacao
{'VV9->VV9_STATUS == "O"','BR_BRANCO'},; // Pre-Aprovado
{'VV9->VV9_STATUS == "L"','BR_AZUL'},; // Aprovado
{'VV9->VV9_STATUS == "R"','BR_LARANJA'},; // Reprovado
{'VV9->VV9_STATUS == "F"','BR_PRETO'},; // Finalizado
{'VV9->VV9_STATUS == "C"','BR_VERMELHO'}} // Cancelado
//////////////////////////////////////////////////////////////////////////////
// Ponto de Entrada para manipular o aCores ( VV9_STATUS ) //
//////////////////////////////////////////////////////////////////////////////
If ( ExistBlock("VM011LEG") )
aCoresUsr := ExecBlock("VM011LEG",.F.,.F.,{aCores,"C"})
If ( ValType(aCoresUsr) == "A" )
aCores := aClone(aCoresUsr)
EndIf
EndIf
//////////////////////////////////////////////////////////////////////////////
// Valida se a empresa tem autorizacao para utilizar os modulos de Veiculos //
//////////////////////////////////////////////////////////////////////////////
If !AMIIn(11)
Return()
EndIf
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Pergunte para Configuracao da Rotina ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
AADD(aRegs,{"Tp. Operacao Veiculos Novos ", "", "", "mv_ch1", "C", SFM->(TamSx3("FM_TIPO")[1]) , 0, 0, "G", "Vazio() .or. ExistCpo('SX5','DJ'+MV_PAR01)", "mv_par01", "", "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "DJ " , "" , "" , "" ,{"Tipo de operação a ser utilizado no","atendimento de veiculos novos para o","preenchimento do TES utilizando o","recurso do TES inteligente."},{},{}})
AADD(aRegs,{"Tp. Operacao Veiculos Usados", "", "", "mv_ch2", "C", SFM->(TamSx3("FM_TIPO")[1]) , 0, 0, "G", "Vazio() .or. ExistCpo('SX5','DJ'+MV_PAR02)", "mv_par02", "", "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "DJ " , "" , "" , "" ,{"Tipo de operação a ser utilizado no","atendimento de veiculos usados para o","preenchimento do TES utilizando o","recurso do TES inteligente."},{},{}})
AADD(aRegs,{"Cliente Padrão" , "", "", "mv_ch3", "C", SA1->(TamSx3("A1_COD")[1]) , 0, 0, "G", "Vazio() .or. ExistCpo('SA1',MV_PAR03+AllTrim(MV_PAR04),1)", "mv_par03", "", "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "SA1" , "001" , "" , "" ,{"Cliente padrão para digitação de ","atendimento sem cliente cadastrado"},{},{}})
AADD(aRegs,{"Loja Cliente Padrão" , "", "", "mv_ch4", "C", SA1->(TamSx3("A1_LOJA")[1]) , 0, 0, "G", "Vazio() .or. ExistCpo('SA1',MV_PAR03+MV_PAR04,1)", "mv_par04", "", "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , " " , "002" , "" , "" ,{"Loja do Cliente padrão para digitação","atendimento sem cliente cadastrado"},{},{}})
AADD(aRegs,{"Vendedor para Orcamento" , "", "", "mv_ch5", "C", SA3->(TamSx3("A3_COD")[1]) , 0, 0, "G", "Vazio() .or. ExistCpo('SA3',MV_PAR05)", "mv_par05", "", "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "SA3" , "" , "" , "" ,{"Vendedor padrão para ser utilizado no","momento da criacao do Orcamento","atraves da Acao de Vendas."},{},{}})
AADD(aRegs,{"Tipo de Tempo Interno" , "", "", "mv_ch6", "C", VOI->(TamSx3("VOI_TIPTEM")[1]), 0, 0, "G", "Vazio() .or. ExistCpo('VOI',MV_PAR06)", "mv_par06", "", "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "VOI" , "" , "" , "" ,{"Tipo de Tempo Interno a ser utilizado","no momento da criacao do Orcamento","atraves da Acao de Vendas."},{},{}})
AADD(aRegs,{"Tipo de Tempo Cliente" , "", "", "mv_ch7", "C", VOI->(TamSx3("VOI_TIPTEM")[1]), 0, 0, "G", "Vazio() .or. ExistCpo('VOI',MV_PAR07)", "mv_par07", "", "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "VOI" , "" , "" , "" ,{"Tipo de Tempo Cliente a ser utilizado","no momento da criacao do Orcamento","atraves da Acao de Vendas."},{},{}})
AADD(aRegs,{"TES Faturamento Direto" , "", "", "mv_ch8", "C", SF4->(TamSx3("F4_CODIGO")[1]) , 0, 0, "G", "Vazio() .or. ExistCpo('SF4',MV_PAR08)", "mv_par08", "", "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "" , "SF4" , "" , "" , "" ,{"TES para faturamento direto"},{},{}})
AjustaSX1("VXA018",aRegs)
Pergunte("VXA018",.F.)
While .t.
If Empty(MV_PAR01) .or. Empty(MV_PAR02) .or. Empty(MV_PAR03) .or. Empty(MV_PAR04) .or. Empty(MV_PAR05) .or. Empty(MV_PAR06) .or. Empty(MV_PAR07) .or. Empty(MV_PAR08)
If !Pergunte("VXA018",.t.)
Return()
EndIf
Else
Exit
EndIf
EndDo
If ExistBlock("VEI018FBRW") // Ponto de Entrada para Filtro no Browse
cFilUser := ExecBlock("VEI018FBRW",.F.,.F.)
Endif
SetKey(VK_F12,{||Pergunte("VXA018",.T.)})
//
DbSelectArea("VV9")
DbSetOrder(1)
If FGX_USERVL( xFilial("VAI") , __cUserID , "VAI_TIPTEC" , "==" , "4" ) // Vendedor
cFiltro := "VV9->VV9_FILIAL == '" + xFilial("VV9") + "' .and. VV9->VV9_USUARI == '" + __cUserID + "' "
cFiltro += iif( !Empty(cFilUser) , ' .and. ' + cFilUser , "" )
FilBrowse( "VV9" , {} , cFiltro ) // Filtra Box do Usuario e Status
mBrowse( 6, 1,22,75,"VV9",,,,,,aCores)
DbSelectArea("VV9")
dbClearFilter()
Else
cFiltro := iif( !Empty(cFilUser) , cFilUser , "" )
if !Empty(cFiltro)
FilBrowse( "VV9" , {} , cFiltro ) // Filtra Box do Usuario e Status
endif
mBrowse(06,01,22,75,"VV9",,,,,,aCores)
DbSelectArea("VV9")
dbClearFilter()
EndIf
SetKey(VK_F12,Nil)
Return
Programa Fonte
VEIXA018, VEI018FBRW
Sintaxe
VEI018FBRW - Filtro no Browse da rotina VEIXA018 (Atend. Modelo 2) ( [ ] ) --> cFiltro
Parâmetros:
Nome | Tipo | Descrição | Default | Obrigatório | Referência | ||||||||||||
Array of Record |
Retorno
-
cFiltro(caracter)
- Contém a expressão em SQL referente ao filtro da tabela VV9.
Exemplos
/*ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜܱ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±±±³Fun‡Æo ³ VEI018FBRW ³ Autor ³ Otavio Favarelli ³ Data ³ 16/02/11 ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±±±³Descri‡Æo ³ Ponto de entrada para montar um filtro no browse da rotina ³±±±±³ ³ VEIXA018 (Atendimendo Modelo 2.) ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Sintaxe ³ ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Uso ³ VEICULOS ³±±±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß*/User Function VEI018FBRW()Local cFiltro := "VV9->VV9_FILIAL == '01'"//MsgAlert("Mensagem para o ponto de entrada 'VEI018FBRW'!","Atencao!")Return(cFiltro)
Variáveis
Nome | Tipo | Escopo | Pode Alterar | descrição | ||||||||||
Array of Record | Global | Não |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas