Árvore de páginas

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Serviços
Módulo:Financeiro
Rotina:FINA080 - Baixa a Pagar Manual 

02. DESCRIÇÃO

O ponto de entrada F80L9816 foi disponibilizado para atender a Lei 9.816 de 1999, onde é possível que seja informada a taxa do câmbio a ser utilizada na formação da base de calculo do IRRF, que não é necessariamente a taxa utilizada na baixa do título a pagar. Ele será executado nas baixa manuais do contas a pagar e em sua respectiva rotina automática (Execauto - FINA080). 

Além dos parâmetros informados no ponto de entrada, pode-se utilizar de qualquer informação disponível do Título a Pagar (campos da tabela SE2) e Fornecedor (campos da tabela SA2) que esta sendo processado, pois os registros estarão posicionados.


Observação:

O ponto de entrada F80L9816 esta disponível para execução durante a baixa manual (FINA080) de qualquer título, cabe a quem for implementar criar os critérios e regras para o uso da nova taxa.

Para as demais rotinas, como por exemplo a baixa automática (FINA090), deve ser utilizado o ponto de entrada FBXL9816 (disponível no programa FINXIMP com data igual ou superior a 29/12/2023).

03. PARÂMETROS      

NomeTipoDescrição
PARAMIXB[1]CaracterChave do título - SE2→(E2_FILIAL+E2_PREFIXO+E2_NUM+E2_PARCELA+E2_TIPO+E2_FORNECE+E2_LOJA)
PARAMIXB[2]DataData do Pagamento
PARAMIXB[3]DataData do Débito
PARAMIXB[4]NuméricoCódigo da Operação = 4 - Baixa Manual

04. RETORNO

TipoDescrição
NuméricoTaxa a ser utilizada para compor a base de cálculo do IRRF. No caso de não haver mudança da taxa padrão do sistema, retornar 0 (zero).

05. EXEMPLO DE UTILIZAÇÃO


F80L9816
#INCLUDE "PROTHEUS.CH"

User Function F80L9816() as numeric
Local cChave    := ParamIXB[1] as character
Local dDtBaixa  := ParamIXB[2] as date
Local dDtDebito := ParamIXB[3] as date
Local nOpc      := ParamIXB[4] as numeric
Local dDtTaxa   := dDataBase as date
Local aArea     := GetArea() as array
Local aAreaSED  := {} as array
Local nTaxa     := 0 as numeric

dDtTaxa:=dDtBaixa-2

If SA2->A2_TIPO=='X' .And. SE2->E2_MOEDA > 1 
    dbSelectArea('SED')
	aAreaSED := SED->(GetArea())
    SED->(dbSetOrder(1))
    SED->(dbSeek(xFilial('SED')+SE2->E2_NATUREZ))
    If SED->ED_CALCIRF=='S'
        //-- Retorna taxa na data solicitada
        nTaxa:=RecMoeda(dDtTaxa,SE2->E2_MOEDA)
    EndIF
	RestArea(aAreaSED)
EndIF

RestArea(aArea)
Return(nTaxa)


06. DEMAIS INFORMAÇÕES

IRRF - Taxa Cambial no cálculo do imposto para fornecedor estrangeiro

F080TXIR - Ponto de entrada para informar taxa em baixas manuais (rotina automática)

07. ASSUNTOS RELACIONADOS

RecMoeda() (SIGAFAT)