Á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). 

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).


Importante

Parâmetros:

ParamIXB[1] - Chave do título - SE2→(E2_FILIAL+E2_PREFIXO+E2_NUM+E2_PARCELA+E2_TIPO+E2_FORNECE+E2_LOJA)
ParamIXB[2] - Data do Pagamento
ParamIXB[3] -
Data do Débito
ParamIXB[4] -
Código da Operação = 4 - Baixa Manual

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.


Retorno:

NomeTipoDescriçãoObrigatório
nTaxaNumé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)Sim


03. EXEMPLO DE UTILIZAÇÃO


F80L9816
#INCLUDE "PROTHEUS.CH"

User Function F80L9816()

Local cChave    := ParamIXB[1]
Local dDtBaixa  := ParamIXB[2]
Local dDtDebito := ParamIXB[3]
Local nOpc      := ParamIXB[4]
Local dDtTaxa   := dDataBase
Local aArea     := GetArea()
Local aAreaSED  := NIL
Local nTaxa     := 0

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)


04. 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)

05. ASSUNTOS RELACIONADOS

RecMoeda() (SIGAFAT)