#INCLUDE "TOTVS.ch"
#Include "PROTHEUS.ch"
#Include "PRTOPDEF.CH"
#INCLUDE "TBICONN.CH"
User FUNCTION COMPCR()
Local lRetOK := .T.
Local aArea := GetArea()
Local nTaxaCM := 0
Local aTxMoeda := {}
Local cCliente := "001 "
Local cLoja := "01"
Local cPrefixo := "TIT"
Local cNumDoc := '00001 '
Local cParcela := " "
Local cTipoDoc := "RA "
Private nRecnoNDF
Private nRecnoE1
dbSelectArea("SE1")
dbSetOrder(2) // E1_FILIAL, E1_CLIENTE, E1_LOJA, E1_PREFIXO, E1_NUM, E1_PARCELA, E1_TIPO, R_E_C_N_O_, D_E_L_E_T_
IF dbSeek(XFILIAL("SE1") + cCliente + cLoja + cPrefixo + cNumDoc + cParcela + cTipoDoc)
nRecnoRA := RECNO()
cTipoDoc := "NF"
IF dbSeek(XFILIAL("SE1") + cCliente + cLoja + cPrefixo + cNumDoc + cParcela + cTipoDoc)
nRecnoE1 := RECNO()
PERGUNTE("AFI340",.F.)
lContabiliza := .F.
lAglutina := .F.
lDigita := .F.
SE1->(dbSetOrder(1)) //E1_FILIAL+E1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO+E1_FORNECE+E1_LOJA
aRecRA := { nRecnoRA }
aRecSE1 := { nRecnoE1 }
nSaldoComp := 2000 // Valor da compensacao em moeda forte
nTaxaCM := 2 // Taxa considerada na compensacao
aAdd(aTxMoeda, {SE1->E1_MOEDA, nTaxaCM} ) // Taxas das moedas utilizadas
If !MaIntBxCR(3, aRecSE1,,aRecRA,,{lContabiliza,lAglutina,lDigita,.F.,.F.,.F.},,,,,nSaldoComp,,,, nTaxaCM, aTxMoeda)
Help("XAFCMPAD",1,"HELP","XAFCMPAD","Não foi possível a compensação"+CRLF+" do titulo do adiantamento",1,0)
lRetOK := .F.
Else
Alert("Compensação realizada.")
ENDIF
ENDIF
ENDIF
RestArea(aArea)
Return lRetOK
|