Home

Linha Microsiga Protheus

Páginas filhas
  • PL510BM1 - Tratar Exceções de Impostos

Ponto-de-Entrada: PL510BM1 - Tratar Exceções de Impostos
Versões: Advanced Protheus 7.10 , Microsiga Protheus 8.11
Descrição:

Ponto de Entrada

            PL510BM1

 

Descrição

            Foi desenvolvido ponto de entrada para tratar exceções de impostos de opcionais.

 

Exemplo

            Este ponto de entrada so deve conter os opcionais que fogem da regra de impostos valida para a maioria dos opcionais, cadastrada no lançamento de faturamento 102.

 

USER FUNCTION PL510BM1()

LOCAL aDados             := aClone(Paramixb)

LOCAL aRet                 := {}       

LOCAL nPos                := 0

           

/* Pricipais dados do aDados

 

[1] - 1 = Debito / 2 = Credito

[2] - Valor

[3] - Lançamento de faturamento

[4] - Produto

[5] - Descr. Produto

[6] - Idade usr

[7] - Matricula usr.

[8] - Nome usr

 

Estrutura do retorno.

[1] - Lançamento de faturamento.

[2] - Produto

[3] - Tipo do serviço - 0 = Serviço acessório, 1 = Serviço medico, 2 = outros serviços

[4][1] - Apura IR - .T. = Apura IR, .F. = não apura IR.

   [2] - Incidência do IR

[5][1] - Apura ISS - .T. = Apura ISS, .F. = não apura ISS.

   [2] - Incidência do ISS

[6][1] - Apura INSS - .T. = Apura INSS, .F. = não apura INSS.

   [2] - Incidência do INSS

[7][1] - Apura demais impostos - .T. = Apura demais impostos, .F. = não apura demais impostos.

   [2] - Incidência  

*/

 

For nCnt := 1 To len(aDados)

           

            If aDados[nCnt][3] == '102' .and. aDados[nCnt][4] == '1056' // OPCIONAL PLANO MEDICAMENTO

                        If (nPos := Ascan(aRet, {|x| x[1] == '102' .and. x[2] == '1056'})) == 0

                                   Aadd( aRet, {'102','1056','2',{.F.,0},{.F.,0},{.F.,0},{.F.,0}} )

                        Endif

            Endif

 

Next

 

Return(aRet)

Programa Fonte
.PRW
Sintaxe

PL510BM1 - Tratar Exceções de Impostos ( < aDados> ) --> aRet

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
aDados Array of Record X
Retorno
    aRet(vetor)
  • [1] - Lançamento de faturamento.
    [2] - Produto
    [3] - Tipo do serviço - 0 = Serviço acessório, 1 = Serviço medico, 2 = outros serviços
    [4][1] - Apura IR - .T. = Apura IR, .F. = não apura IR.
    [2] - Incidência do IR

    [5][1] - Apura ISS - .T. = Apura ISS, .F. = não apura ISS.
    [2] - Incidência do ISS

    [6][1] - Apura INSS - .T. = Apura INSS, .F. = não apura INSS.
    [2] - Incidência do INSS

    [7][1] - Apura demais impostos - .T. = Apura demais impostos, .F. = não apura demais impostos.
    [2] - Incidência