Histórico da Página
Ponto de Entrada
Descrição: | Este Ponto de Entrada será executado na rotina Faturamento Direto (VEIXA030) ao ser executada a funcionalidade Incluir ou Alterar. A mesma será executada no final da gravação das tabelas VV9 e VV0, permitindo a atualização de campos customizáveis pelo cliente. |
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