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 padrão do sistema, permitindo a manipulação da alíquota e da base de cálculo do PIS.
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:
Nome | Tipo | Descrição |
|---|---|---|
| ParamIXB[1] | Numérico | Número do Item |
| ParamIXB[2] | Carácter | Código do Produto |
| ParamIXB[3] | Carácter | Código da TES |
| ParamIXB[4] | Carácter | Tipo de Participante (C = Cliente/F = Fornecedor) |
| ParamIXB[5] | Carácter | Código do Participante |
| ParamIXB[6] | Carácter | Código da Loja do Participante |
| ParamIXB[7] | Carácter | Operação da Nota Fiscal (E = Entrada/S = Saída) |
Retorno:
O ponto de entrada deverá retornar um array de 3 posições:
| Nome | Tipo | Descrição |
|---|---|---|
| aRet[1] | Carácter | Indica se calcula ou não o PIS para o item. (S=Sim, N=Nao) |
| aRet[2] | Carácter | Indica o percentual de alíquota para cálculo de PIS para o item. Caso seja passado zerado, o sistema desconsiderará o retorno dessa posição, possibilitando que seja informado somente a base de cálculo. |
| aRet[3] | Carácter | Indica o valor de base de cálculo que será considerada para cálculo de PIS para o item. Caso seja passado zerado, o sistema desconsiderará o retorno dessa posição, possibilitando que seja informado somente a alíquota |
Observação:
Para a correta utilização do ponto de entrada, verifique se o parâmetro MV_TPALPIS está preenchido com 1.
04. EXEMPLO DE UTILIZAÇÃO
#INCLUDE "PROTHEUS.CH"
User Function MaCalcPIS()
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 cCalcPIS := "N" // S=Calcula PIS; N=Não Calcula PIS.
Local nAliqPIS := 0 // Retorna o percentual de alíquota do PIS.
Local nBasePIS := 0 // Retorna a base de cálculo do PIS.
If cProduto $ 'PA0000000000000000000000000001'
cCalcPIS := "S"
nAliqPIS := 1
nBasePIS := 1000
ElseIf cProduto $ 'PA0000000000000000000000000002'
cCalcPIS := "S"
nAliqPIS := 3
nBasePIS := 3000
EndIf
aAdd(aRet, cCalcPIS)
aAdd(aRet, nAliqPIS)
aAdd(aRet, nBasePIS)
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