Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Linha de Produto:Microsiga Protheus®
Segmento:Backoffice
Módulo:Financeiro
Função:

FINA050 - Contas a Pagar

Requisito/Story/Issue (informe o requisito relacionado) :DFINGRV-26568
Observações:

Ponto de entrada para manipulação da base de cálculo.
Deve ser utilizado para tratamento de redução da base por numero de dependentes.
Retornar Base de Cálculonovo valor calculado do IRRF.


02. DESCRIÇÃO

A finalidade do ponto de entrada F050CIRF é permitir validações de usuário na base de cálculo e valor do IRRF. 

03. PARÂMETROS

Não hánBaseIrrf

04. RETORNO

Nome

Tipo

Descrição

lRetnNewIRRF

LógicoNumérico

Novo valor calculado para o IRRF..T. valida a inclusão e continua o processo, caso contrário .F. e interrompe o processo.

05. EXEMPLO DE UTILIZAÇÃO

Bloco de código
languagevb
themeMidnight
firstline1
titleFA050INC
linenumberstrue
#include#INCLUDE 'totvs"protheus.ch'
"
//-------------------------------------------------------------------
/*/{Protheus.doc} FA050INC()

    A finalidade do ponto de entrada FA050INC é permitir validações de usuário
    na inclusão do Contas a Pagar (FINA050), localizado no TudoOK da rotina.

    @return lRet - lógico, .T. valida a inclusão e continua o processo,
        caso contrário .F. e interrompe o processo.
/*/
User Function FA050INC()
    Local lRet user function F50CIRFF
description Ponto de entrada para manipular o valor de IRRF (M->E2_IRRF). 
Deve retornar o valor da base e moeda corrente.
contexto de execução, alteração na emissão ou valor de título a pagar.
@author  diegos.sousa
@since   27/05/2022
@version 12.1.33
@return nNewIrrf, numerico.  Valor do campo M->E2_IRRF. 
/*/
//-------------------------------------------------------------------
user function F50CIRFF(nBaseIrrf) as numeric
    local nDependentes    := SA2->A2_NUMDEP   //Ex: 6
    local nValDedPorDep   := 100,00
    local nw              := 0
    local lAtivo          := .F.
    default nNewIrrf      := 0,00
    default nBaseIrrf     := SE2->E2_BASEIRF  // Validações de usuário

Ex: 10.000,00 

 
    lAtivo If:= !(FunName(lRet)
 = "FINA080" )
     // Mensagem de Help para
 esclarescer o motivo deIf interromperlAtivo
 a inclusão
        Help(For ,, 'Help',, "Inclusão Interrompida.", 1, 0 )

nw := 1 to nDependentes

           // AlterandonBaseIrrf lMsErroAuto para .T. (verdadeiro), devido aos casos de integrações ou ExecAuto-= nValDedPorDep

        Next nw

        lMsErroAutonNewIrrf := .T.(nBaseIrrf * 1.5) / 100  
    EndIf
 
Returnreturn lRetnNewIrrf





HTML
<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>