Árvore de páginas

01. DADOS GERAIS

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


02. DESCRIÇÃO

Ponto de entrada para se informar taxa de cotação a ser utilizada no momento de baixa de título para conversão do IR.

Executado através da rotina FINA080 nas operações de:
- 4: Inclusão de Baixa; ou
- 5: Cancelamento e/ou Exclusão de Baixa.
Objetivo: Captar a taxa de conversão a ser usada exclusivamente no cálculo do IRRF.
Critérios: Somente operações originadas por EXECAUTO e títulos cujo campo E2_ORIGEM contenha a sequência "ESS" no conteúdo.


Importante

Parâmetros:

ParamIXB[1] - Chave localização do Título - Corresponde ao X2_UNICO da tabela SE2. // E2_FILIAL + E2_PREFIXO + E2_NUM + E2_PARCELA + E2_TIPO + E2_FORNECE + E2_LOJA
ParamIXB[2] - Data da Operação. Se OP = 4 corresponderá a variável dDataBase. E quando operação é de cancelamento corresponderá ao campo E2_BAIXA .
ParamIXB[3] - Código da Operação - 4 - Baixa Manual ; 5 - Cancelamento/Exclusão de Baixa.


Retorno:

Deverá ser do tipo numérico representando a taxa da moeda:

NomeTipoDescriçãoObrigatório
nRetNuméricoTaxa para conversão de outras moeda para moeda 01.Sim


03. EXEMPLO DE UTILIZAÇÃO


FI050POS
#INCLUDE "PROTHEUS.CH"
#INCLUDE "PARMTYPE.CH"

//---------------------------------------------------------------------------------------
/*/{Protheus.doc} F080TXIR
Ponto de Enntrada executado pela rotina FINA080 nas operações de: 
 - 4: Inclusão de Baixa; ou 
 - 5: Cancelamento e/ou Exclusão de Baixa.
Objetivo: Captar a taxa de conversão a ser usada exclusivamente no cálculo do IRRF.
Critérios: Somente operações originadas por EXECAUTO e títulos cujo campo SE2->E2_ORIGEM 
contenha a sequência "ESS" no conteúdo. 

@author Norberto M de Melo
@since 22/04/2020
@version 12
/*/
//---------------------------------------------------------------------------------------
User FUNCTION F080TXIR()
Local nRet := 0
Local cChaveSE2 := ParamIXB[1]  // E2_FILIAL + E2_PREFIXO + E2_NUM + E2_PARCELA + E2_TIPO + E2_FORNECE + E2_LOJA
Local dDataOp   := ParamIXB[2]  // Valor da Variável dDataBase qdo OP = 4 ou valor do campo SE2->E2_BAIXA qdo OP = 5
Local nOpc      := ParamIXB[3]  // 4 - Baixa Manual ; 5 - Cancelamento/Exclusão de Baixa

If !EMPTY(cChaveSE2) .and. !EMPTY(dDataOp) .and. !EMPTY(nOpc)
    Help("FINA080:F080TXIR",,"MESSAGE","PE: F080TXIR",;
        "Captação da Taxa de conversão para geração do título de IRRF.", 4, 0)
EndIf

nRet := 4

RETURN nRet
//---------------------------------------------------------------------------------------
Modelo Utilizado de Rotina Automática
#include 'protheus.ch'
#INCLUDE 'TBICONN.CH'

User function UFINA080()

// VARIÁVEIS DA ROTINA
// --------------------------------------------------------------------------
Local aBaixa        := {}
Local cPref         := "NMM"
Local cTitulo       := "M2000    "
Local cParcela      := " "
Local cTipo         := "NF "
Local cForne        := "000014"
Local cLoja         := "01"

Local cBanco        := "001"
Local cAgencia      := "001  "
Local cConta        := "001       "
Local nOp           := 3

// VARIÁVEIS DE CONTROLE DE ERRO
// --------------------------------------------------------------------------
Private lMsErroAuto     := .F.
Private lAutoErrNoFile  := .T.

PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01"
    
    AADD( aBaixa, { "E2_PREFIXO"    , cPref         , Nil } )   // 01
    AADD( aBaixa, { "E2_NUM"        , cTitulo       , Nil } )   // 02
    AADD( aBaixa, { "E2_PARCELA"    , cParcela      , Nil } )   // 03
    AADD( aBaixa, { "E2_TIPO"       , cTipo         , Nil } )   // 04
    AADD( aBaixa, { "E2_FORNECE"    , cForne        , Nil } )   // 05
    AADD( aBaixa, { "E2_LOJA"       , cLoja         , Nil } )   // 06
    AADD( aBaixa, { "AUTMOTBX"      , "DEBITO CC"   , Nil } )   // 07
    AADD( aBaixa, { "AUTBANCO"      , cBanco        , Nil } )   // 08
    AADD( aBaixa, { "AUTAGENCIA"    , cAgencia      , Nil } )   // 09
    AADD( aBaixa, { "AUTCONTA"      , cConta        , Nil } )   // 10
    AADD( aBaixa, { "AUTDTBAIXA"    , dDataBase     , Nil } )   // 11
    AADD( aBaixa, { "AUTHIST"       , "TESTE CAOA"  , Nil } )   // 12
    AADD( aBaixa, { "AUTDESCONT"    , 0             , Nil } )   // 13
    AADD( aBaixa, { "AUTMULTA"      , 0             , Nil } )   // 14
    AADD( aBaixa, { "AUTJUROS"      , 0             , Nil } )   // 15
    AADD( aBaixa, { "AUTOUTGAS"     , 0             , Nil } )   // 16
    AADD( aBaixa, { "AUTCHEQUE"     , ""            , Nil } )   // 19

    MSExecAuto({|x,y| Fina080(x,y)},aBaixa,nOp)

     
 If lMsErroAuto
    MostraErro()
 Else
     Alert("Operação concluída com sucesso! " + cTitulo)
 Endif

 RESET ENVIRONMENT
 
Return NIL


04. DEMAIS INFORMAÇÕES

Não há


05. ASSUNTOS RELACIONADOS

Não há