Árvore de páginas

Ponto de Entrada

Descrição:

Localização:

Atualizações \ Mov Atendimento \ Faturamento Direto (VEIXA030)

Eventos:

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

//³ Gravar VVA ³

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

For nCntFor := 1 to len(aVVA)

//

VV2->(DbSetOrder(1))

VV2->(MsSeek(xFilial("VV2")+aVVA[nCntFor,02]+aVVA[nCntFor,03]))

DbSelectArea("VVA")

If aVVA[nCntFor,01] > 0

DbGoTo(aVVA[nCntFor,01]) // RecNo("VVA")

RegToMemory("VVA",.f.,.f.)

lVVA := .f. // RecLock("VVA",.f.) -> Alterar VVA

Else

RegToMemory("VVA",.t.,.f.,.t.)

M->VVA_FILIAL := VV9->VV9_FILIAL

M->VVA_NUMTRA := VV9->VV9_NUMATE

M->VVA_TRACPA := "FATDIR"

M->VVA_SIMVDA := "V" // V=Venda

M->VVA_ITETRA := FM_SQL("SELECT MAX(VVA_ITETRA) FROM "+cNomeVVA+" WHERE VVA_FILIAL='"+VV9->VV9_FILIAL+"' AND VVA_NUMTRA='"+VV9->VV9_NUMATE+"'")

M->VVA_ESTVEI := "0" // Veiculo Novo ...

M->VVA_CODORI := "0" // Fabrica ...

If !Empty(aVVA[nCntFor,09])

VV1->(DbSetOrder(1))

If VV1->(MsSeek(xFilial("VV1")+aVVA[nCntFor,09]))

If !Empty(VV1->VV1_ESTVEI)

M->VVA_ESTVEI := VV1->VV1_ESTVEI

EndIf

If !Empty(VV1->VV1_CODORI)

M->VVA_CODORI := VV1->VV1_CODORI

EndIf

EndIf

EndIf

If !Empty(M->VVA_ITETRA)

M->VVA_ITETRA := Soma1(M->VVA_ITETRA)

Else

M->VVA_ITETRA := StrZero(1,TamSX3("VVA_ITETRA")[1])

EndIf

lVVA := .t. // RecLock("VVA",.t.) -> Incluir VVA

EndIf

//

M->VVA_CODMAR := aVVA[nCntFor,02]

M->VVA_MODVEI := aVVA[nCntFor,03]

M->VVA_CORVEI := aVVA[nCntFor,04]

M->VVA_GRUMOD := VV2->VV2_GRUMOD

M->VVA_VALTAB := aVVA[nCntFor,05] // Valor

M->VVA_VALVDA := aVVA[nCntFor,05] // Valor

M->VVA_VALMOV := aVVA[nCntFor,05] // Valor

M->VVA_FATTOT := aVVA[nCntFor,05] // Valor

M->VVA_CODPED := aVVA[nCntFor,06]

M->VVA_NUMPED := aVVA[nCntFor,07]

M->VVA_CHASSI := aVVA[nCntFor,08]

M->VVA_CHAINT := aVVA[nCntFor,09]

M->VVA_VALASS := aVVA[nCntFor,12]

M->VVA_DTLIBF := aVVA[nCntFor,13]

M->VVA_DTEPRV := aVVA[nCntFor,14]

M->VVA_HREPRV := aVVA[nCntFor,15]

M->VVA_FIEPRV := aVVA[nCntFor,16]

M->VVA_BOEPRV := aVVA[nCntFor,17]

M->VVA_USEPRV := aVVA[nCntFor,18]

M->VVA_DESVEI := FGX_DRECVEI(aVVA[nCntFor,09],"0",) // Levanta Despesas do Veiculo VVD

M->VVA_RECVEI := FGX_DRECVEI(aVVA[nCntFor,09],"1",) // Levanta Receitas do Veiculo VVD

//

For ni := 1 to len(aVVACust) // Campos do VVA customizados

&("M->"+aVVACust[ni,1]) := aVVA[nCntFor,23,ni]

Next

//

RecLock("VVA",lVVA)

FG_GRAVAR("VVA")

MSMM(VVA->VVA_OBSMEM,TamSx3("VVA_OBSERV")[1],,aVVA[nCntFor,19],1,,,"VVA","VVA_OBSMEM") // Opcionais Temporario

MsUnLock()

//

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

//³ Desposicionar, para considerar em SELECT no meio da transacao ³

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

VVA->(dbGoTo(VVA->(Recno())))

//

If lVVA

aVVA[nCntFor,01] := VVA->(Recno())

EndIf

//

aAdd(aIteTra,VVA->VVA_ITETRA+"="+Alltrim(VVA->VVA_CODMAR)+" "+Alltrim(VVA->VVA_MODVEI)+" "+Alltrim(VVA->VVA_CORVEI))

//

Next

If ExistBlock("VXX030DGR") // Ponto de Entrada para gravação de campos customizáveis

ExecBlock("VXX030DGR", .f., .f.)

EndIf

End Transaction

If lInc .and. len(aRecInter) > 0

VX030GRVOPO(@aRecInter,aIteTra) // Selecionar quais Oportunidades/Interesses foram atendidos

EndIf

VX030MAPAV() // Mapa de Avaliacao

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

//³ Solicitar TAREFAS ³

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

VEIVM130TAR(VV9->VV9_NUMATE,"1","2",VV9->VV9_FILIAL) // Tarefas: 1-Gravacao / 2-Faturamento Direto

Return()

Programa Fonte:

VEIXX030.PRW

Função:

VXX030GRV()

Exemplo:

Include totvs.ch

/*

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

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

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

##|Função | VXX030DGR | Autor | MIL | Data | 07/03/19 |##

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

##|Descrição | Gravação de campos customizáveis no final da função |##

## | VXX030GRV() da rotina Faturamento Direto |##

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

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

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

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

*/

User Function VXX030DGR()

MsgAlert("Ponto de Entrada VXX030DGR executado com sucesso!")

Return