Árvore de páginas

Ponto de Entrada

Descrição:

Localização:

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

Eventos:

Function VX002BTVLN(cTp,nOpc,aPar1,aPar2,aPar3,aPar4,aPar5)

Local nSlvOpc := nOpc

Local lGravou := .f.

Default aPar1 := {}

Default aPar2 := {}

Default aPar3 := {}

Default aPar4 := {}

Default aPar5 := {}

If !VX002TUDOK(nOpc,.f.)

Return

EndIf

If VV9->VV9_STATUS $ "POLFC"

nOpc := 2

EndIf

VX002X3LOAD( "VS9" , .t. , @aPar2 , 1 , "VS9_FILIAL+VS9_NUMIDE+VS9_TIPOPE", xFilial("VS9")+PadR(M->VV9_NUMATE,TamSX3("VS9_NUMIDE")[1]," ")+"V")

DbSelectArea("VS9")

Do Case

Case cTp == "1" // Financiamento FI / Leasing

If nOpc == 3 .or. nOpc == 4

If ( M->VV9_CODCLI + M->VV9_LOJA ) == ( cCliPadrao + cLojPadrao )

MsgAlert(STR0055,STR0011) // Para utilizar corretamente o Financiamento/Leasing, o Cliente/Loja informado no Atendimento deve ser diferente do Cliente/Loja Padrao informado nos Parametros da Rotina. / Atencao

EndIf

EndIf

If VEIXX005(nOpc,@aPar1,@aPar2,@aPar3,.f.) // ( nOpc / aParFin / aVS9 / aVSE / lZerar )

VX002RPGRV(cTp,@aPar1,@aPar2,@aPar3) // Preenche M-> para Financiamento FI / Leasing

VX002GRV(nOpc,.f.,"VS9/VSE",@aPar2,@aPar3) // nOpc / Tabelas a Serem Alteradas / aVS9 / aVSE

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿

//³ LEASING -> Fiscal para Cliente: Banco ³

//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

If M->VV0_CATVEN == "7" .and. !Empty(M->VV0_CLIALI+M->VV0_LOJALI)

VX002GRV(nOpc,.f.,"",,) // Gravar M-> que possuem relacao com o FISCAL ( Cliente: Banco )

EndIf

lGravou := .t.

EndIf

Case cTp == "2" // Finame

If VEIXX015(nOpc,@aPar1,@aPar2) // ( nOpc / aParFna / aVS9 )

VX002RPGRV(cTp,@aPar1,@aPar2) // Preenche M-> para Finame

VX002GRV(nOpc,.f.,"VS9",@aPar2) // nOpc / Tabelas a Serem Alteradas / aVS9

lGravou := .t.

EndIf

Case cTp == "3" // Financiamento Proprio

If VEIXX009(nOpc,@aPar1,@aPar2) // ( nOpc / aParPro / aVS9 )

VX002RPGRV(cTp,@aPar1,@aPar2) // Preenche M-> para Financiamento Proprio

VX002GRV(nOpc,.f.,"VS9",@aPar2) // nOpc / Tabelas a Serem Alteradas / aVS9

lGravou := .t.

EndIf

Case cTp == "4" // Consorcio

If VEIXX010(nOpc,@aPar1,@aPar2,@aPar3) // ( nOpc / aParCon / aVS9 / aVSE )

VX002GRV(nOpc,.f.,"VS9/VSE",@aPar2,@aPar3) // nOpc / Tabelas a Serem Alteradas / aVS9 / aVSE

lGravou := .t.

EndIf

Case cTp == "5" // Veiculo Usado

If VEIXX008(nOpc,@aPar1,@aPar2) // ( nOpc / aParUsa / aVS9 )

VX002GRV(nOpc,.f.,"VS9",@aPar2) // nOpc / Tabelas a Serem Alteradas / aVS9

lGravou := .t.

EndIf

Case cTp == "6" // Entrada

If VEIXX011(nOpc,@aPar1,@aPar2,@aPar3) // ( nOpc / aParEnt / aVS9 / aVSE )

VX002GRV(nOpc,.f.,"VS9/VSE",@aPar2,@aPar3) // nOpc / Tabelas a Serem Alteradas / aVS9 / aVSE

lGravou := .t.

EndIf

EndCase

If lGravou

If ExistBlock("VX002TABG") // Ponto de Entrada para gravar as informações em tabelas customizadas

ExecBlock("VX002TABG", .f., .f., {cTp, nOpc})

EndIf

EndIf

nOpc := nSlvOpc

Return

Programa Fonte:

VEIXX002.PRW

Função:

VX002BTVLN()

Parâmetros:
NomeTipoDescrição
cTipoBtnCaractereBotão selecionado (Financiamento FI/Leasing / Finame / Financiamento Próprio / Consórcio / Veículo Usado / Entrada)
nOpcTelaNuméricoOpção selecionada (Inclusão / Alteração / Exclusão / Visualização)

Exemplo:

Include totvs.ch

/*

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

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

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

##|Função | VX002TABG | Autor | MIL | Data | 01/02/19 |##

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

##|Descrição | Tratamento e Gravação em tabelas customizadas na rotina |##

##+----------| Atendimento de Veículo (VEIXA018) |##

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

##|Observação| Os dados já foram gravados, logo já podem ser usados da base |##

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

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

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

*/

User Function VX002TABG()

Local cTipoBtn := ParamIxb[1] // Botão selecionado

Local nOpcTela := ParamIxb[2] // Opção selecionada (Inclusão / Alteração / Exclusão / Visualização)

Do Case

Case cTipoBtn == "1" // Financiamento FI / Leasing

// Tratar e gravar corretamente

Case cTipoBtn == "2" // Finame

// Tratar e gravar corretamente

Case cTipoBtn == "3" // Financiamento Próprio

// Tratar e gravar corretamente

Case cTipoBtn == "4" // Consórcio

// Tratar e gravar corretamente

Case cTipoBtn == "5" // Veículo Usado

// Tratar e gravar corretamente

Case cTipoBtn == "6" // Entrada

// Tratar e gravar corretamente

EndCase

MsgInfo("Ponto de entrada VX002TABG executado com sucesso!", "Atenção")

Return