01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:

Função:FXIMPGR 
NomeTipoDescrição
PARAMIXBArray

Posição 1 = Alias da tabela

Posição 2 = Recno do título de imposto

Ex.:
PARAMIXB[1] = {"SE1",100}
PARAMIXB[2] = {"SE1",101}

PARAMIXB[1,1] = "SE1"
PARAMIXB[1,2] = 100
PARAMIXB[2,1] = "SE1"
PARAMIXB[2,2] = 101

RetornoValor
NilNulo


02. DESCRIÇÃO

O Ponto de entrada FXIMPGR permite complementar dados dos títulos de impostos gerados, independentemente da carteira (Contas a Pagar ou Contas a Receber). A função processa um array contendo os RECNOs dos registros de impostos gerados pelo motor de retenções.


03. EXEMPLO DE UTILIZAÇÃO

#INCLUDE "TOTVS.CH"
 
/*/{Protheus.doc} User Function FXIMPGR
    (Ponto de entrada permite gravar dados complementares do
    registro posicionado nos recnos dos impostos gerados a partir do motor de retenções)
    @type  Function
    @author Fábio Henrique Andrade
    @since 17/09/2025
    @version 12
    @param aRecImpos, array contendo os recnos dos impostos gerados
    @return Nil
    @see https://tdn.totvs.com/display/PROT/Configurador+de+Tributos+-+Regras+Financeiras 
/*/
User Function FXIMPGR()
    Local cHist  As Character
    Local cCarteir As Character
    Local nI As Numeric
    Local nRecno As Numeric
    Local aRecImpos As Array

    aRecImpos := PARAMIXB //Array contendo os recnos dos impostos gerados
    cHist     := "Passou no Ponto de entrada FXIMPPG"
    cCarteir  := ""
    nI        := 0
    nRecno    := 0

    For nI := 1 to LEN( aRecImpos )

        cCarteir := aRecImpos[nI,1]
        nRecno   := aRecImpos[nI,2]

        If cCarteir == "SE1" // Receber
            DbSelectArea("SE1")
            SE1->(dbGoTo(nRecno) )
            RecLock("SE1", .F.)
            SE1->E1_HIST := cHist
            MsUnlock()
        ElseIf cCarteir == "SE2"
            DbSelectArea("SE2")
            SE2->(dbGoTo(nRecno) )
            RecLock("SE2", .F.)
            SE2->E2_HIST := cHist
            MsUnlock()
        EndIf

    Next

Return NIL