Usina BRGuía AdvPL
Ingresar
← Todos los temas
PUNTO DE ENTRADAEn revisión

FA080PCC

User Function FA080PCC()

Consulta retenciones e importe del título tras calcular impuestos.

FA080PCCFINA080
01 · DESCRIPCIÓN GENERAL

Descripción general

El ejemplo oficial lee PARAMIXB directamente: posiciones 1–4 son PIS, COFINS, CSLL e IRRF; posición 5 es importe del título. Suma retenciones y muestra el neto conservando área. P12.2210 llama nSalImp al quinto identificador: comprobar diferencia en el release. El ejemplo no modifica importes ni documenta retorno array como mecanismo de grabación. (Refs. 1–2)

02 · SINTAXIS

Sintaxis

User Function FA080PCC()

Parámetros

PARAMIXB
ArrayContexto de ejecución

Contexto directo: PIS, COFINS, CSLL, IRRF e importe del título en el ejemplo. (Refs. 1–2)

Retorno

El ejemplo termina sin valor explícito; no se documenta retorno para modificar retenciones.

03 · EJEMPLO PRÁCTICO

Ejemplo editorial basado en la documentación

#Include "Protheus.ch"

User Function FA080PCC()
    // Calculo oficial adaptado; solo diagnostico en pruebas.
    Local aDatos := PARAMIXB
    Local aArea := GetArea()
    Local nRetenido := aDatos[1]+aDatos[2]+aDatos[3]+aDatos[4]
    Local nNeto := aDatos[5]-nRetenido
    ConOut("FA080PCC: neto demostrativo " + cValToChar(nNeto))
    RestArea(aArea)
Return Nil
Resultado esperado

Propuesta didáctica con el comportamiento descrito en los comentarios. Comprobar el contexto antes de compilar en pruebas. En revisión: ejemplo no compilado ni ejecutado en Protheus. Comprobar aliases, bloqueos, posición transaccional y compatibilidad en el release y patch utilizados.

04 · EJEMPLO PRÁCTICO

Llamada observada y contexto

// Fragmento del llamador P12.2210 (EURAI, ref. 2); no es una implementación del 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

El registro muestra argumentos y uso inmediato del retorno cuando existen. Omite el cuerpo completo del llamador y no demuestra el momento del commit.

BUENAS PRÁCTICAS
  • Usar contexto directo, no PARAMIXB[1] como array entero. El cálculo exige que posición 5 represente el importe del título. No convertir diagnóstico en regla fiscal.
  • Una llamada sin cuarto argumento no documenta una estructura de PARAMIXB. Conservar identificadores del llamador y no inventar campos ni posiciones.
  • Plan de pruebas: comparar el flujo estándar y personalizado, probar éxito, rechazo y repetición y comprobar saldos, movimientos y contabilidad según el proceso.
  • En revisión: ejemplo no compilado ni ejecutado en Protheus. Comprobar aliases, bloqueos, posición transaccional y compatibilidad en el release y patch utilizados.

Contenido relacionado

REFERENCIAS
  1. TOTVS. FA080PCC - Verifica valores do PIS, COFINS, CSLL, IRRF.. TDN. Consulta el 2026-10-24.
  2. EURAI. Pontos de Entrada P12.2210 - Parte 2. Universo do Desenvolvedor, 2023. Consulta el 2026-10-24.
Estado
En revisión
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR
0 comentario(s) aprobado(s)

Comentarios

Todavía no hay comentarios aprobados.

Inicia sesión con Google o Microsoft para comentar.

Desarrollado con Usina Docs · Alpha