Árvore de páginas

Ponto de Entrada

Descrição:

Este ponto de entrada está localizado na rotina Veic. Atendimento (VEIXC001) e será executado quando a chamada deste for realizada a partir da rotina Atend. Modelo 2 (VEIXA018). O objetivo do ponto de entrada é realizar a validação da janela de seleção de veículos de forma personalizada no momento de confirmar/ salvar.

Localização:

Atualizações \ Mov Atendimento \ Atend. Modelo 2 (VEIXA018)

Eventos:

ACTIVATE MSDIALOG oConsVeic ON INIT EnchoiceBar(oConsVeic,{ || IIf(FS_VALSELEC(),( nOpcao := 1 , oConsVeic:End() ),.t.) }, { || oConsVeic:End() },,aNewBot)


If lRetorno .and. lAtend .and. nOpcao > 0 // Tem retorno e consulta chamada pelo Atendimento de Veiculos VEIXA018

If nOpcao == 1 // Clique no OK da Janela ou DuploClique no ListBox de Veiculos ( Existe VV1 )

aRetFiltro := {}

For ni := 1 to len(aVeicVer)

If aVeicVer[ni,26] // Tik OK -> veiculo selecionado

aAdd(aRetFiltro,{"","","","","","","","1",0})

VV1->(DbSetOrder(1))

VV1->(DbSeek(xFilial("VV1")+aVeicVer[ni,24])) // Chassi Interno

VV2->(DbSetOrder(1))

VV2->(DbSeek(xFilial("VV2")+VV1->VV1_CODMAR+VV1->VV1_MODVEI))

aRetFiltro[len(aRetFiltro),01] := VV1->VV1_CHAINT // Chaint

aRetFiltro[len(aRetFiltro),02] := VV1->VV1_ESTVEI // Estado do Veiculo (Novo/Usado)

aRetFiltro[len(aRetFiltro),03] := VV1->VV1_CODMAR // Marca

aRetFiltro[len(aRetFiltro),04] := VV2->VV2_GRUMOD // Grupo do Modelo

aRetFiltro[len(aRetFiltro),05] := VV1->VV1_MODVEI // Modelo

aRetFiltro[len(aRetFiltro),06] := VV1->VV1_CORVEI // Cor

aRetFiltro[len(aRetFiltro),07] := "" // Codigo Progresso

aRetFiltro[len(aRetFiltro),08] := "1" // Tipo (1-Normal)

aRetFiltro[len(aRetFiltro),09] := aVeicVer[ni,09] // Valor do Veiculo

EndIf

Next

Else // Progresso de Veiculos ( VJ1 )

If len(aVJ1) > 0

VJ1->(DbSetOrder(1))

If VJ1->(DbSeek(xFilial("VJ1")+aVJ1[1]+aVJ1[2]))

aRetFiltro := {}

aAdd(aRetFiltro,{"","","","","","","","1",0})

VV2->(DbSetOrder(1))

VV2->(DbSeek(xFilial("VV2")+VJ1->VJ1_CODMAR+VJ1->VJ1_MODVEI))

aRetFiltro[len(aRetFiltro),01] := "" // Chaint

aRetFiltro[len(aRetFiltro),02] := "0" // Estado do Veiculo (0=Novo/1=Usado)

aRetFiltro[len(aRetFiltro),03] := VJ1->VJ1_CODMAR // Marca

aRetFiltro[len(aRetFiltro),04] := VV2->VV2_GRUMOD // Grupo do Modelo

aRetFiltro[len(aRetFiltro),05] := VJ1->VJ1_MODVEI // Modelo

aRetFiltro[len(aRetFiltro),06] := STRZERO(VJ1->VJ1_COREXT,2) // Cor

aRetFiltro[len(aRetFiltro),07] := VJ1->VJ1_CODPED // Codigo Progresso

aRetFiltro[len(aRetFiltro),08] := "3" // Tipo (3=VendaFutura)

// Valor do Veiculo -> FGX_VLRSUGV retorna o Valor Sugerido para Venda do Veiculo ( VVP (vlr tabela) + VVC (vlr cor adicional) )

aRetFiltro[len(aRetFiltro),09] := FGX_VLRSUGV( "" , VJ1->VJ1_CODMAR , VJ1->VJ1_MODVEI , VV2->VV2_SEGMOD , STRZERO(VJ1->VJ1_COREXT,2) , .t. , cCdCliAt , cLjCliAt )

EndIf

EndIf

EndIf

EndIf


FS_HAB_FX(.f.,{},"",0) // Desabilita Botos <F4> <F5> <F6> <F7> <F8> <F9> <F11> <F12>


DbSelectArea("VV9")

Return


/*

ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ

±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±

±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±

±±³Funcao ³FS_VALSELEC³ Autor ³ Andre Luis Almeida ³ Data ³ 06/06/12 ³±±

±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±

±±³Descricao ³ Valida se o usuario selecionou algum Veiculo ³±±

±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±

±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±

ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

*/

Static Function FS_VALSELEC()

Local lRet := .f.

Local ni := 0

If lAtend // Consulta chamada pelo Atendimento de Veiculos VEIXA018

For ni := 1 to len(aVeicVer)

If aVeicVer[ni,26] // Tik OK -> selecionado

lRet := .t.

Exit

EndIf

Next

If !lRet

MsgStop(STR0055,STR0050) // Veiculo não selecionado! / Atencao

EndIf

If lRet .and. ExistBlock("VXC01VAL" )

lRet := ExecBlock("VXC01VAL", .f., .f.)

EndIf

EndIf

Return lRet

Programa Fonte:

VEIXC001.PRW

Função:

FS_VALSELEC()

Parâmetros:

N/A

Retorno:
NomeTipoDescrição
lRet

Lógico

Retorna .t. / .f. para dar continuidade ao Processo

Exemplo:

Include totvs.ch

/*

===============================================================================================

###############################################################################################

##+----------+------------+-------+---------------------------------------+------+----------+##

##|Função | VXC01VAL | Autor | MIL | Data | 06/05/19 |##

##+----------+------------+-------+---------------------------------------+------+----------+##

##|Descrição | Ponto de entrada VXC01VAL localizado na rotina Veic. Atendimento (VEIXC001) |##

##| | que irá realizar uma validação no momento de confirmar/ salvar a janela de |##

##| | seleção de veículos. |##

##+----------+------------------------------------------------------------------------------+##

###############################################################################################

===============================================================================================

*/


User Function VXC01VAL()

Local lRet := .f.

Local ni


MsgInfo("O Ponto de Entrada VXC01VAL foi executado.","Ponto de Entrada VXC01VAL")


For ni := 1 to Len(aVeicVer)

If aVeicVer[ni,26] // Tik OK -> selecionado

lRet := .t.

Exit

EndIf

Next


Return lRet