Árvore de páginas

01. DATOS GENERALES

Línea de producto:

Microsiga Protheus®

Segmento:

Servicios

Módulo:

Financiero

Rutina:

FINA080 - Baja por pagar manual 

02. DESCRIPCIÓN

El punto de entrada F80L9816 se puso a disposición para atender la Ley 9.816 de 1999, donde es posible que se informe la tasa de cambio que se utilizará en la formación de la base de cálculo del IRRF, que no es necesariamente la tasa utilizada en la baja del título por pagar. Este se ejecutará en las bajas manuales del cuentas por pagar y en su respectiva rutina automática (Execauto - FINA080).

Además de los parámetros informados en el punto de entrada, se puede utilizar cualquier información disponible del Título por pagar (campos de la tabla SE2) y Proveedor (campos de la tabla SA2) que se está procesando, pues los registros estarán marcados.


Observación:

El punto de entrada F80L9816 está disponible para la ejecución durante la baja manual (FINA080) de cualquier título, cabe a quién fuera implementar, crear los criterios y reglas para el uso de la nueva tasa.

Para las otras rutinas, como por ejemplo la baja automática (FINA090), debe utilizarse el punto de entrada FBXL9816 (disponible en el programa FINXIMP con fecha igual o superior al 29/12/2023).

03. PARÁMETROS      

Nombre

Tipo

Descripción

PARAMIXB[1]

Carácter

Clave del título - SE2→(E2_FILIAL+E2_PREFIXO+E2_NUM+E2_PARCELA+E2_TIPO+E2_FORNECE+E2_LOJA)

PARAMIXB[2]

Fecha

Fecha de pago

PARAMIXB[3]

Fecha

Fecha de débito:

PARAMIXB[4]

Numérico

Código de la operación = 4 - Baja manual

04. DEVOLUCIÓN

Tipo

Descripción

Numérico

Tasa que se utilizará para componer la base de cálculo del IRRF. En caso de no haber cambios en la tasa estándar del sistema, devolver 0 (cero).

05. EJEMPLO DE UTILIZACIÓN


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'
        //-- Devuelve la tasa en la fecha solicitada
        nTaxa:=RecMoeda(dDtTaxa,SE2->E2_MOEDA)
    EndIF
	RestArea(aAreaSED)
EndIF

RestArea(aArea)
Return(nTaxa)


06. OTRAS INFORMACIONES

IRRF - Tasa cambiaria en el cálculo del impuesto para proveedor extranjero

F080TXIR - Punto de entrada para informar tasa en bajas manuales (rutina automática)

07. ASUNTOS RELACIONADOS

RecMoeda() (SIGAFAT)