Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Aviso
titleImportante!

É 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. 

...

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

...

Bloco de código
languagejava
themeMidnight
titlePE 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  Local aRet     := {}

    Local cCalcPS2 := "SN" // S=Calcula PIS; N=Não Calcula PIS.
    Local nAliqPS2 := 100  // Retorna o percentual de alíquota do PIS.
    Local nBasePS2 := 10000  // 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

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

06. ASSUNTOS RELACIONADOS

...