01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Backoffice |
Módulo: | Financeiro |
Função: | FA473Marca - Conciliação Bancária |
Requisito/Story/Issue (informe o requisito relacionado) : | DFINTES-14434 |
02. DESCRIÇÃO
Ao utilizar o ponto de entrada FA473003 podemos criar uma nova lógica para a conciliação manual. Neste exemplo disponibilizamos a janela de seleção para o item a ser conciliado. Caso seja necessário, podemos incluir um campo de seleção nos pontos de entrada F473VIEW e FA473MOD e inserir uma nova lógica para efetivação da conciliação neste PE.
OBS. Caso o ponto de entrada esteja compilado o sistema não irá mais respeitar o processo padrão e sim a lógica aplicada ao ponto de entrada.
03. PARÂMETROS
oModelDet - Modelo dos itens da conciliação bancária (passado por referência).
04. RETORNO
Nome | Tipo | Descrição |
Nil | Nil | Nil |
05. EXEMPLO DE UTILIZAÇÃO
FA473003
#INCLUDE "PROTHEUS.CH" #INCLUDE "FINA473A.CH" #INCLUDE "fileio.ch" #INCLUDE "FWMVCDEF.CH" /*/{Protheus.doc} FA473001 Ponto de entrada para executar operações no final da rotina F473Concil após o controle de transação. oModelDet - Modelo dos itens da conciliação bancária (passado por referência). @type User Function @author TOTVS @since 18/11/2020 @return Nil /*/ User Function FA473003 Local oModelDet := Paramixb[1] Local lRet := .T. LOCAL nSequen := 0 LOCAL lIsBanco := .F. LOCAL lEfetiva := .F. Local nTamDet := oModelDet:Length() Local nLinOri := oModelDet:GetLine() Local nLinhaNov := 0 Local aSaveLines := FWSaveRows() Local nSeqOri := 0 Local cDCOri := "" Local nValOri := 0 Local dDataOri := cTod("") Local cNumOri := "" Local cAgeOri := "" Local cCtaOri := "" Local cHistOri := "" Local nRecnoSE5 := 0 Local nValDes := 0 Local dDataDes := cTod("") Local cNumDes := "" Local cAgeDes := "" Local cCtaDes := "" Local cHistDes := "" Local aArea := GetArea() Local aAreaSE5 := SE5->(GetArea()) Local nSeqDes := 0 Local cCor := "" Local lcanok := .F. Local lf473 := .T. DEFINE MSDIALOG oDlg1 FROM 69,70 TO 160,331 TITLE "Crie sua logica aqui" PIXEL @ 0, 2 TO 22, 165 OF oDlg1 PIXEL @ 7, 98 MSGET nSequen Picture "9999" VALID (nSequen <= nTamDet) .and. (nSequen > 0) SIZE 20, 10 OF oDlg1 PIXEL @ 8, 08 SAY STR0046 SIZE 90, 7 OF oDlg1 PIXEL //"Sequencia a Reconciliar" DEFINE SBUTTON FROM 29, 71 TYPE 1 ENABLE ACTION (nOpca1:=1,If((nSequen <= nTamDet ) .and. (nSequen > 0) ,oDLg1:End() , nOpca1:=0 ) ) OF oDlg1 DEFINE SBUTTON FROM 29, 99 TYPE 2 ENABLE ACTION (oDlg1:End()) OF oDlg1 ACTIVATE MSDIALOG oDlg1 CENTERED If nOpca1 == 1 //Verifica se a linha clicada ‚ Mov. Banco ou Sistema If !Empty(oModelDet:GetValue("IG_VLRMOV")) .And. Empty(oModelDet:GetValue("IG_VLREXT")) lIsBanco := .T. Endif nSeqOri := Val(oModelDet:GetValue("SEQDIG") ) cDCOri := oModelDet:GetValue("IG_CARTER") nValOri := IIF(lIsBanco, oModelDet:GetValue("IG_VLRMOV") , oModelDet:GetValue("IG_VLREXT") ) dDataOri := IIF(lIsBanco, oModelDet:GetValue("IG_DTMOVI"), oModelDet:GetValue("IG_DTEXTR") ) cNumOri := IIF(lIsBanco, oModelDet:GetValue("IG_DOCMOV"), oModelDet:GetValue("IG_DOCEXT")) cAgeOri := IIF(lIsBanco, oModelDet:GetValue("IG_AGEMOV") , oModelDet:GetValue("IG_AGEEXT")) cCtaOri := IIF(lIsBanco, oModelDet:GetValue("IG_CONMOV") , oModelDet:GetValue("IG_CONEXT")) cHistOri:= IIF(lIsBanco, oModelDet:GetValue("IG_HISMOV") , oModelDet:GetValue("IG_HISTEXT")) nRecnoSE5 := oModelDet:GetValue("RECSE5") oModelDet:GoLine(nSequen) //Verifica tentativa de reconciliar Banco x Banco ou SE5 x SE5 //ou Lançamento de Credito x Lançamento Débito ou vice-versa If (( !Empty(oModelDet:GetValue("IG_VLRMOV")) .And. Empty(oModelDet:GetValue("IG_VLREXT")) .and. lIsBanco) .or. ; ( Empty(oModelDet:GetValue("IG_VLRMOV")) .And. !Empty(oModelDet:GetValue("IG_VLREXT")) .and. !lIsBanco) .or. ; oModelDet:GetValue("IG_CARTER") != cDCOri ) Help(" ",1,"NORECONC") lRet := .F. Endif If lRet .And. (IIf(lIsBanco , oModelDet:GetValue("IG_VLREXT") != nValOri , oModelDet:GetValue("IG_VLRMOV") != nValOri)) Help(" ",1,"NORECONC") lRet := .F. Endif //Movimento Extrato If lRet .And. !lIsBanco nValDes := oModelDet:GetValue("IG_VLRMOV") dDataDes := oModelDet:GetValue("IG_DTMOVI") cNumDes := oModelDet:GetValue("IG_DOCMOV") cAgeDes := oModelDet:GetValue("IG_AGEMOV") cCtaDes := oModelDet:GetValue("IG_CONMOV") cHistDes := oModelDet:GetValue("IG_HISMOV") nRecnoSE5 := oModelDet:GetValue("RECSE5") oModelDet:DeleteLine() oModelDet:GoLine(nLinOri) oModelDet:LoadValue("IG_VLRMOV", nValDes) oModelDet:LoadValue("IG_DTMOVI", dDataDes) oModelDet:LoadValue("IG_DOCMOV", cNumDes) oModelDet:LoadValue("IG_AGEMOV", cAgeDes) oModelDet:LoadValue("IG_CONMOV", cCtaDes) oModelDet:LoadValue("IG_STATUS", "3") cCor := F473COR("3") oModelDet:LoadValue("COR", cCor) oModelDet:LoadValue("RECSE5", nRecnoSE5) oModelDet:LoadValue("IG_HISMOV", cHistDes) oModelDet:LoadValue("DESCONC", "") ElseIf lRet oModelDet:LoadValue("IG_VLRMOV", nValOri) oModelDet:LoadValue("IG_DTMOVI", dDataOri) oModelDet:LoadValue("IG_DOCMOV", cNumOri) oModelDet:LoadValue("IG_AGEMOV", cAgeOri) oModelDet:LoadValue("IG_CONMOV", cCtaOri) cCor := F473COR("3") oModelDet:LoadValue("IG_STATUS", "3") oModelDet:LoadValue("COR", cCor) oModelDet:LoadValue("RECSE5", nRecnoSE5) oModelDet:LoadValue("IG_HISMOV", cHistOri) oModelDet:LoadValue("DESCONC", "") oModelDet:GoLine(nLinOri) oModelDet:DeleteLine() Endif Endif Return
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas