Usina BRAdvPL Guia
Entrar
← Todos os tópicos
PONTO DE ENTRADAEm revisão

FA080PCC

User Function FA080PCC()

Consulta retenções e valor do título após o cálculo dos impostos.

FA080PCCFINA080
01 · VISÃO GERAL

Visão geral

O exemplo oficial lê PARAMIXB diretamente: posições 1–4 são PIS, COFINS, CSLL e IRRF; a posição 5 é o valor do título. Soma as retenções e demonstra o valor líquido, preservando a área. P12.2210 registra o quinto identificador como nSalImp: conferir essa diferença no chamador do release. O exemplo não altera valores nem documenta retorno de array como mecanismo de gravação. (Refs. 1–2)

02 · SINTAXE

Sintaxe

User Function FA080PCC()

Parâmetros

PARAMIXB
ArrayContexto de execução

Contexto direto: PIS, COFINS, CSLL, IRRF e valor do título, no exemplo oficial. (Refs. 1–2)

Retorno

O exemplo oficial termina sem valor explícito; não é documentado retorno para modificar as retenções.

03 · EXEMPLO PRÁTICO

Exemplo editorial baseado na documentação

#Include "Protheus.ch"

User Function FA080PCC()
    // Adaptacao do calculo oficial; somente diagnostico em homologacao.
    Local aDados := PARAMIXB
    Local aArea := GetArea()
    Local nRetido := aDados[1]+aDados[2]+aDados[3]+aDados[4]
    Local nLiquido := aDados[5]-nRetido
    ConOut("FA080PCC: liquido demonstrativo " + cValToChar(nLiquido))
    RestArea(aArea)
Return Nil
Resultado esperado

Proposta didática com o comportamento descrito nos comentários. Conferir o contexto antes de compilar em homologação. Em revisão: exemplo não compilado nem executado em Protheus. Aliases, bloqueios, posição na transação e compatibilidade devem ser conferidos no release e patch utilizados.

04 · EXEMPLO PRÁTICO

Chamada observada e contexto

// Trecho do chamador P12.2210 (EURAI, ref. 2); não é implementação do PE.
// FINA080.PRX - FA080BUT() -> EXECBLOCK("FA080PCC",.F.,.F.,{NPIS, NCOFINS, NCSLL, NIRRF, NSALIMP})
// FINA080.PRX - FA080TIT*/() -> EXECBLOCK("FA080PCC",.F.,.F.,{NPIS, NCOFINS, NCSLL, NIRRF, NSALIMP})
// FINA080.PRX - FA080TITW() -> EXECBLOCK("FA080PCC",.F.,.F.,{NPIS, NCOFINS, NCSLL, NIRRF, NSALIMP})
// FINA080.PRX - FA080VAL() -> EXECBLOCK("FA080PCC",.F.,.F.,{NPIS, NCOFINS, NCSLL, NIRRF, NSALIMP})
// FINA080.PRX - FA080VALVR() -> EXECBLOCK("FA080PCC",.F.,.F.,{NPIS, NCOFINS, NCSLL, NIRRF, NSALIMP})
Resultado esperado

O registro mostra argumentos e uso imediato do retorno quando presentes. Não inclui o corpo completo do chamador nem comprova a posição do commit.

BOAS PRÁTICAS
  • Usar o contexto direto, não PARAMIXB[1] como se fosse o array inteiro. O cálculo demonstrativo depende de a quinta posição realmente representar o valor do título. Não transformar o diagnóstico em regra fiscal de retenção.
  • Uma chamada sem quarto argumento não documenta um layout de PARAMIXB. Preservar identificadores do chamador e não inventar campos ou posições.
  • Roteiro de homologação: comparar o fluxo padrão e o customizado, testar sucesso, recusa e repetição e conferir saldos, movimentos e contabilização conforme o processo.
  • Em revisão: exemplo não compilado nem executado em Protheus. Aliases, bloqueios, posição na transação e compatibilidade devem ser conferidos no release e patch utilizados.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. FA080PCC - Verifica valores do PIS, COFINS, CSLL, IRRF.. TDN. Consulta em 2026-10-24.
  2. EURAI. Pontos de Entrada P12.2210 - Parte 2. Universo do Desenvolvedor, 2023. Consulta em 2026-10-24.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha