Não será gerada correção monetária e não será permitida compensações com taxa contratada diferentes.
Aviso |
---|
| Para que seja considerada a taxa informada no momento da compensação, quando existem títulos com taxas contratadas, o parâmetro MV_CMTXCON precisa estar com seu conteúdo igual a .T. (Verdadeiro) |
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_TIPO | E5_VALOR | E5_VLMOED2 | E5_TXMOEDA | E5_TIPODOC |
---|
NF | 1000 | 2000 | 2 | CP | RA | 1000 | 2000 | 2 | BA | RA | -500 | -250 | 2 | CM |
Realizando a compensação partindo do Adiantamento teremos as seguintes gravações na tabela SE5: E5_TIPO | E5_VALOR | E5_VLMOED2 | E5_TXMOEDA | E5_TIPODOC |
---|
RA | 1000 | 2500 | 2,5 | BA | NF | 1000 | 2500 | 2,5 | CP | NF | 500 | 200 | 2,5 | CM |
Exemplo de compensação automática utilizando as taxas acima:
Bloco de código |
---|
language | java |
---|
theme | Midnight |
---|
title | Compensação Automática Taxa Contratada |
---|
collapse | true |
---|
| #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 |
---|
default | no |
---|
referencia | Passo3 |
---|
| Criado o parâmetro MV_RATXMOV para definir a taxa a ser considerada para adiantamentos sem taxa contratada na compensação. O parâmetro foi incorporado ao release 12.1.27 do Protheus e disponibilizado nas expedições contínuas para os releases anteriores vigentes.
MV_RATXMOV = .T. Com o seu conteúdo true .T. será considerada a taxa da sua movimentação de inclusão. Quando a compensação partir do adiantamento essa taxa será utilizada para os títulos listados da mesma moeda. Quando a compensação partir do título, esse utilizará a taxa do dia ou a informada no momento da compensação e os adiantamentos listados utilizaram a sua taxa de movimentação.
MV_RATXMOV = .F. Com o seu conteúdo false .F. será considerada a taxa do dia da compensação ou a utilizada no momento da compensação para todos os títulos envolvidos.
Especificação do parâmetro: Nome do parâmetro: | MV_RATXMOV |
---|
Tipo: | Lógico |
---|
Descrição: | Define se o adiantamento deve utilizar a taxa do seu movimento para compensação. ( .T. Utiliza do movimento / .F. Utiliza da compensação) |
---|
Valor Padrão: | .T. |
---|
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | Passo4 |
---|
| Taxas utilizadas e ordem de prioridades Taxa do dia (Tabela SM2): Configurada a taxa do dia para os títulos em moeda estrangeira, essa taxa será considerada no momento da compensação. Taxa do título (Contratada): A taxa definida no momento da inclusão dos títulos (E1_TXMOEDA) é respeitada na compensação. Quando esta taxa contratada é informada, a compensação passa a usá-la, mesmo que se tenha configurado uma taxa de moeda para as datas envolvidas (Tabela SM2); Taxa na compensação: Esta taxa pode ser configurada pela opção Taxas Moedas, antes de selecionar os títulos para a compensação. Mesmo que o título possua taxa do dia (Tabela SM2) para moeda em questão, ou taxa contratada (E1_TXMOEDA), é considerada a taxa definida no momento da compensação, se caso a mesma for informada;
O critério de conversão de taxa é a ordem de configuração da mesma, sendo: 1º - Taxa na Compensação 2º - Taxa do Título (Contratada) 3º - Taxa do dia (Tabela SM2)
Totvs custom tabs box |
---|
tabs | Taxa do dia (SM2), Taxa contratada, Taxa informada na compensação |
---|
ids | Taxa1,Taxa2,Taxa3 |
---|
| Totvs custom tabs box items |
---|
default | yes |
---|
referencia | Taxa1 |
---|
| Exemplo utilizando taxa do dia (SM2) Compensação de RA em Dólar com NF em reais. Taxa do dia de 2,0000 para moeda 2 (Dólar) – Inclusão.
Título RA em moeda estrangeira (Dólar): Image Added Título NF em moeda forte (Reais): Image Added
Realizando a compensação em um dia diferente da inclusão: Taxa do dia de 3,0000 para moeda 2 (Dólar) – Compensação. Image Added Image Added
O sistema considerou a taxa do dia da compensação para o RA, esse comportamento pode ser parametrizado através do MV_RATXMOV (Nesse exemplo o parâmetro está com seu conteúdo .F.). Movimentação SE5: Image Added Foi utilizado a taxa do dia da compensação para as movimentações e gerado uma correção monetária em relação a taxa utilizada na inclusão do RA. Valor compensado do RA: $ 5.000,00 (Dólar) x Taxa da inclusão (2,0000) = R$ 10.000,00 (Reais) Valor compensado do RA: $ 5.000,00 (Dólar) x Taxa da Compensação (3,0000) = R$ 15.0000,00 (Reais) Correção monetária: 15.000,00 – 10.000,00 = 5.000,00 (Reais) convertendo 1.666,67 (Dólar) |
Totvs custom tabs box items |
---|
| Exemplo utilizando taxa contratada (E1_TXMOEDA) Compensação de RA em Dólar com NF em reais. Taxa do dia de 2,0000 para moeda 2 (Dólar). Título com taxa contratada de 2,5000.
Título RA em moeda estrangeira (Dólar): Image Added Título NF em moeda forte (Reais): Image Added
Realizando a compensação em um dia diferente da inclusão: Taxa do dia de 3,0000 para moeda 2 (Dólar) – Compensação. Image Added Image Added
O sistema considerou a taxa contratada para o RA. Quando o título possui taxa contratada a compensação passa a usá-la, mesmo que se tenha configurado uma taxa de moeda para as datas envolvidas. Movimentação SE5: Image Added Foi utilizado a taxa contratada nas movimentações, nesse caso não é gerado correção monetária pois o RA não teve variação em sua taxa. |
Totvs custom tabs box items |
---|
| Exemplo utilizando taxa informada na compensação Compensação de RA em Dólar com NF em reais. Taxa do dia de 2,0000 para moeda 2 (Dólar). Título com taxa contratada de 2,5000.
Título RA em moeda estrangeira (Dólar): Image Added Título NF em moeda forte (Reais): Image Added
Realizando a compensação em um dia diferente da inclusão: Taxa do dia de 3,0000 para moeda 2 (Dólar) – Compensação. Informando uma taxa de 3,2000 no momento da compensação. Image Added Image Added
O sistema considerou a taxa informada para o RA. Quando informado uma taxa no momento da compensação o sistema passa a utiliza-la, mesmo que o título possua taxa contratada (E1_TXMOEDA), ou que se tenha configurado uma taxa de moeda para as datas envolvidas. Movimentação SE5: Image Added Foi utilizado a taxa informada na compensação para as movimentações e gerado uma correção monetária em relação a taxa informada na compensação e a taxa contratada do título. Valor compensado do RA: $ 4687,5 (Dólar) x Taxa Contratada (2,5000) = R$ 11.718,75 (Reais) Valor compensado do RA: $ 4687,5 (Dólar) x Taxa da Compensação (3,2000) = R$ 15.0000,00 (Reais) Correção monetária: 15.000,00 – 11.718,75 = 3.281,25 (Reais) convertendo 1.025,39 (Dólar) |
|
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | Passo5 |
---|
| A comissão sobre a compensação CR poderá ser calculada desde que o título financeiro (NF) esteja configurado corretamente com vendedor e percentual e as perguntas abaixo estejam configuradas com Sim conforme o tipo de título que será compensado - NCC ou RA.
Calc comiss s/ NCC? Informar se o Sistema deve calcular comissão nas compensações com títulos de crédito do tipo NCC. Pergunta = SIM - O sistema calcula comissão. Pergunta = NÃO - O sistema não calcula comissão.
Calc comiss s/ RA? Informar se o Sistema deve calcular comissão nas compensações com títulos de crédito do tipo RA. Pergunta = SIM - O sistema calcula comissão. Pergunta = NÃO - O sistema não calcula comissão.
PARÂMETROS MV_COMISCR - indicador que permitirá o cálculo de comissão para vendedor na compensação CR. "S" para calcular e "N" não calcular.
TABELA MOTIVOS DE BAIXA Cadastre na tabela de motivos de baixa (Miscelânea -> Arquivos), o motivo CMP e habilite o cálculo de comissão no motivo de baixa. Exemplo: Sigla: CMP Descrição: Compensac Carteira: A (Ambas) Mov. Bancaria: N Comissão: S Cheque: N
Obs.: Nesse processo não serão considerados os dados de Vendedor e Percentual de comissão dos títulos de crédito (NCC/RA), somente do título financeiro (NF, RC, etc.)
|
|