Árvore de páginas

Ponto de Entrada

Descrição:

Este Ponto de Entrada será executado na rotina Entrada por Compra (VEIXA001) ao ser executada a funcionalidade Incluir. A mesma permite a inclusão/ manipulação dos dados na gravação do Contas a Pagar (SE2) no MsExecAuto do FINA050. Obs: Caso haja alteração em campos chave, usar o PE VM000EXC para poder cancelar corretamente a nota se precisar.

Localização:

Atualizações \ Mov Entrada \ Entrada por Compra (VEIXA001)

Eventos:

For nCntFor := 1 to Len(aIteParc)

aVetDesp := {}

aAdd(aVetDesp,{"E2_PREFIXO" ,&(GetNewPar("MV_2DUPREF","cSerie")) ,Nil})

aAdd(aVetDesp,{"E2_NUM" ,VVF->VVF_NUMNFI ,Nil})

aAdd(aVetDesp,{"E2_TIPO" ,Iif(cX0OpeMov$"245","NCC","DP ") ,Nil})

aAdd(aVetDesp,{"E2_NATUREZ" ,VVF->VVF_NATURE ,Nil})

aAdd(aVetDesp,{"E2_PARCELA" ,Strzero(nCntFor,TamSx3("E2_PARCELA")[1]) ,Nil})

aAdd(aVetDesp,{"E2_FORNECE" ,M->VVF_CODFOR ,Nil})

aAdd(aVetDesp,{"E2_LOJA" ,M->VVF_LOJA ,Nil})

aAdd(aVetDesp,{"E2_EMISSAO" ,M->VVF_DATEMI ,Nil})

aAdd(aVetDesp,{"E2_VENCTO" ,aIteParc[nCntFor,1] ,Nil})

aAdd(aVetDesp,{"E2_VALOR" ,aIteParc[nCntFor,2] ,Nil})

aAdd(aVetDesp,{"E2_VLCRUZ" ,aIteParc[nCntFor,2] ,Nil})

aAdd(aVetDesp,{"E2_NUMBOR" ,cNumBord2 ,Nil})

aAdd(aVetDesp,{"E2_PORTADO" ,cCodBco2 ,Nil})


If ExistBlock("VX000ICP") // Ponto de Entrada para alterar informações do Contas a Pagar

aVetDesp := ExecBlock("VX000ICP", .f., .f., {aVetDesp})

EndIf


pergunte("FIN050",.F.)

MsExecAuto({|x,y,z| FINA050(x,y,z)},aVetDesp)

If lMsErroAuto

DisarmTransaction()

RollBackSX8()

Return .F.

EndIf

cAliAntG := alias()

DbSelectArea("SE2")

reclock("SE2",.f.)

SE2->E2_ORIGEM := "MATA100"

SE2->E2_LA := "S"

msunlock()

DBSelectArea(cAliAntG)

Next

Programa Fonte:

VEIXX000.PRW                                                                                                                                                                                                                                                                    

Função:

VX000EMINF()                                          

Parâmetros:
NomeTipoDescrição
aVetDespVetorVetor que compõe os dados do Contas a Pagar (SE2).

Retorno:

NomeTipoDescrição
aCoPagarVetorVetor que compõe as opções atualizadas pelo ponto de entrada dos dados do Contas a Pagar (SE2).


Exemplo:

/*

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

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

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

##|Função | VX000ICP | Autor | MIL | Data | 03/12/18 |##

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

##|Descrição | Alterações nas informações do Contas a Pagar na rotina de |##

##+----------| Entrada de Veículos por Compra (VEIXX000) a cada inclusão |##

##+----------| no MsExecAuto do FINA050-------------------------------------|##

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

##|Observação| Caso haja alteração em campos chave, usar o PE VM000EXC para |##

##+----------| poder cancelar corretamente a nota se precisar---------------|##

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

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

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

*/

User Function VX000ICP()

Local aCoPagar := ParamIxb[1] // Contas a Pagar


/*

// Exemplo de preenchimento do vetor

aAdd(aCoPagar, {"E2_PREFIXO", &(GetNewPar("MV_2DUPREF","cSerie")) , Nil})

aAdd(aCoPagar, {"E2_NUM" , VVF->VVF_NUMNFI , Nil})

aAdd(aCoPagar, {"E2_TIPO" , Iif(cX0OpeMov$"245","NCC","DP ") , Nil})

aAdd(aCoPagar, {"E2_NATUREZ", VVF->VVF_NATURE , Nil})

aAdd(aCoPagar, {"E2_PARCELA", Strzero(nCntFor,TamSx3("E2_PARCELA")[1]), Nil})

aAdd(aCoPagar, {"E2_FORNECE", M->VVF_CODFOR , Nil})

aAdd(aCoPagar, {"E2_LOJA" , M->VVF_LOJA , Nil})

aAdd(aCoPagar, {"E2_EMISSAO", M->VVF_DATEMI , Nil})

aAdd(aCoPagar, {"E2_VENCTO" , aIteParc[nCntFor,1] , Nil})

aAdd(aCoPagar, {"E2_VALOR" , aIteParc[nCntFor,2] , Nil})

aAdd(aCoPagar, {"E2_VLCRUZ" , aIteParc[nCntFor,2] , Nil})

aAdd(aCoPagar, {"E2_NUMBOR" , cNumBord2 , Nil})

aAdd(aCoPagar, {"E2_PORTADO", cCodBco2 , Nil})

*/


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

Return aCoPagar