Árvore de páginas

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Serviços
Módulo:Fiscal


02. DESCRIÇÃO

Ponto de entrada utilizado para permitir a alteração do cálculo de PIS Apuração(PS2) padrão do sistema, permitindo a manipulação da alíquota e da base de cálculo do PIS Apuração.


Importante

A utilização desse ponto de entrada é de responsabilidade exclusiva do cliente, pois terá impacto direto na escrituração das notas e dos livros fiscais.

Utilize com cautela!

Importante!

É importante que, ao haver a necessidade de deslocar algum registro das tabelas físicas dentro do Ponto de Entrada, esse tenha o tratamento de GetArea() e RestArea() para que o sistema siga o fluxo normal.


03. Especificação

Parâmetros do ponto de entrada:

NomeTipoDescrição
ParamIXB[1]NuméricoNúmero do Item
ParamIXB[2]CarácterCódigo do Produto
ParamIXB[3]CarácterCódigo da TES
ParamIXB[4]CarácterTipo de Participante (C = Cliente/F = Fornecedor)
ParamIXB[5]CarácterCódigo do Participante
ParamIXB[6]CarácterCódigo da Loja do Participante
ParamIXB[7]CarácterOperação da Nota Fiscal E/S

Retorno:

O ponto de entrada deverá retornar um array de 3 posições:

NomeTipoDescrição
aRet[1]CarácterIndica se calcula ou não o PIS para o item. (S=Sim, N=Nao)
aRet[2]Numérico

Indica o percentual de alíquota para cálculo de PIS Apuração para o item. 

aRet[3]Numérico

Indica o valor de base de cálculo que será considerada para cálculo de PIS Apuração para o item. 

04. EXEMPLO DE UTILIZAÇÃO


PE MaCalcPIS
#INCLUDE "PROTHEUS.CH"

User Function MaCPISAPU()
    Local nItem      := PARAMIXB[1] //Número do Item
    Local cProduto   := PARAMIXB[2] //Código do Produto
    Local cTes       := PARAMIXB[3] //Código da TES
    Local cCliFor    := PARAMIXB[4] //Tipo de Participante (C = Cliente/F = Fornecedor)
    Local cCodCliFor := PARAMIXB[5] //Código do Participante
    Local cLoja      := PARAMIXB[6] //Código da Loja do Participante
    Local cOperNF    := PARAMIXB[7] //Operação da Nota Fiscal (E = Entrada/S = Saída)

    Local aRet     := {}

    Local cCalcPS2 := "N" // S=Calcula PIS; N=Não Calcula PIS.
    Local nAliqPS2 := 0  // Retorna o percentual de alíquota do PIS.
    Local nBasePS2 := 0  // Retorna a base de cálculo do PIS.

    If cProduto $ 'PA0000000000000000000000000001'
        cCalcPS2 := "S"
        nAliqPS2 := 1
        nBasePS2 := 1000
    ElseIf cProduto $ 'PA0000000000000000000000000002'
        cCalcPS2 := "S"
        nAliqPS2 := 3
        nBasePS2 := 3000
    EndIf

    aAdd(aRet, cCalcPS2)
    aAdd(aRet, nAliqPS2)
    aAdd(aRet, nBasePS2)

Return aRet



05. DEMAIS INFORMAÇÕES

Por meio desse Ponto de Entrada, também é possível acessar o aHeader[] e o aCols[] para tomada de decisões.

06. ASSUNTOS RELACIONADOS

RESTAREA()

GETAREA()