Árvore de páginas

Versões comparadas

Chave

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

...

Totvs custom tabs box
tabsCompensar,Compensar Taxa Contratada x Taxa Contratada, Visualizar, Estornar
idsPasso1,Passo2
Totvs custom tabs box items
defaultyes
referenciaPasso1

Para fazer o processo de compensação é necessário selecionar o titulo principal que deseja que seja compensado.  

Escolha os parâmetros para efetuar o processo: 


Com os dados do titulo a ser compensado, podemos escolher o valor a ser compensado como limite para compensação, e ainda a data da baixa. 

O Flag 'Tit. Marcados' pode facilitar o processo já marcando os títulos conforme a composição de saldo, até atingir o saldo do título principal. 

Obs: em algumas situações, devido a forma de configuração do calculo de impostos, a sugestão inicial ('Tit. Marcados') não é feita pelo sistema, ficando a cargo do operador a seleção manual para que o cálculo do imposto seja feito em tempo de execução. Para mais informações sobre configuração de impostos acesse: http://tdn.totvs.com/x/tA2qC


Após a abertura da tela teremos as seguintes opções: 

  • Seleção individual de cada título, sendo essa consistido o saldo do título para confirmar ou não seleção do registro. Utilizando essa opção o sistema sugere automaticamente quanto posse ser abatido do títulos selecionado de acordo com o saldo do título principal.

  •  Marcar Todos - Com o seguinte comportamento
    • Nenhum registro selecionado - Marca todos os títulos da relação. 
    • Todos os registros selecionados - Não tem nenhuma ação. 
    • Ao menos um título marcado - Marca todos os títulos da relação. 
    • Ao menos um título desmarcado - Marca todos os títulos da relação. 
  • Inverte Seleção - Inverte logicamente todos as marcações, ou seja, as linhas marcadas serão desmarcadas e as linhas desmarcadas serão marcadas. 
  • Tanto o botão 'Inverter seleção' como 'Marcar todos' não consideram o saldo do título para efetuar o processo. 
  • Pesquisar - Pesquisa e posiciona no título informado na busca.
  • OK - Confirma a operação de compensação. 
  • Cancelar - Cancela a operação de compensação. 


Totvs custom tabs box items
defaultno
referenciaPasso2

Compensação com Taxa Contratada 

Parâmetros envolvidos:

MV_CMTXCON =Indica que será gerada correção monetária para títulos com taxa contratada na compensação CP.  T = Gera CM / F = Não gera CM

Para  o processo de compensação com Taxa Contratada, o parâmetro deverá estar configurado conforme abaixo:


MV_CMTXCON = T (True)

A correção monetária se dará a partir do documento selecionado:

Caso seja selecionado o título de adiantamento (RA) os títulos NF´s sofrerão a correção monetária com base na taxa do título RA selecionado.

Caso seja selecionado o título NF os títulos de adiantamentos (RA´s) sofrerão a correção monetária com base na taxa do título NF selecionado.

MV_CMTXCON = F (False)

Não será gerada correção monetária e não será permitida compensações com taxa contratada diferentes.


Exemplo:

Nota fiscal:

Valor: 1.000,00

Moeda: 2

Taxa: 2

Valor Convertido: 2.000,00


Adiantamento:

Valor: 1.000,00

Moeda: 2

Taxa: 2,5

Valor Convertido: 2.500,00


Realizando a compensação partindo da Nota Fiscal teremos as seguintes gravações na tabela SE5:

E5_TIPOE5_VALORE5_VLMOED2E5_TXMOEDAE5_TIPODOC
NF100020002CP
RA100020002BA
RA-500-2502CM


Realizando a compensação partindo do Adiantamento teremos as seguintes gravações na tabela SE5:

E5_TIPOE5_VALORE5_VLMOED2E5_TXMOEDAE5_TIPODOC
RA100025002,5BA
NF100025002,5CP
NF5002002,5CM


Exemplo de compensação automática utilizando as taxas acima:


Bloco de código
languagejava
themeMidnight
titleCompensação Automática Taxa Contratada x Taxa Contratada
collapsetrue
#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

Totvs custom tabs box items
defaultno
referenciaPasso3


...