Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

        oModelDet - Modelo para seleção dos registros a serem conciliadosdos itens da conciliação bancária.


04. RETORNO

Nome

Tipo

Descrição

Nil

Nil

Nil

...

Bloco de código
languagevb
themeMidnight
firstline1
titleFA473003
linenumberstrue
#INCLUDE 'TOTVS.CH'#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.
 
@type       Function
@author     TOTVS
@since      18/11/2020
@return     @aItConc
/*/

User Function FA473003

	Local oModelDet   := Paramixb[1]

	MsgAlert("FA473003 - Crie aqui sua logica para manipular a conciliação manual")	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 Lancamento de Credito x Lancamento 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