Árvore de páginas


01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Serviços
Módulo:Financeiro - SIGAFIN
Função:FINXSPD- FinSpdF600
Ticket:4232725
Requisito/Story/Issue:DSERFINR-19192


02. SITUAÇÃO/REQUISITO

Solicitação de ponto de entrada no bloco F600 que permita que o cliente defina a regra de retorno do Código da Receita do PIS/COFINS retido.

03. SOLUÇÃO

Implementado o ponto de entrada SPDF6004 que irá possibilitar definir o código de receita por registro de acordo com regras definidas pelo cliente.

04. DEMAIS INFORMAÇÕES

O ponto de entrada SPDF6004 será executado para cada registro a ser considerado no bloco F600, permitindo que sejam definidas regras para determinar o código de receita para cada registro.

Para definição de regras poderá ser utilizado o conteúdo do array aF600, que será passado por parâmetro para o ponto de entrada.

  • Array passado como parâmetro contendo os seguintes dados:

    ElementoTipoDescrição
    aF600[1]ArrayIndicador de retenção
    aF600[2]ArrayData da emissão
    aF600[3]ArrayBase do imposto
    aF600[4]ArrayValor da retenção
    aF600[5]ArrayIndicador de cumulatividade
    aF600[6]ArrayCNPJ do cliente
    aF600[7]ArrayValor da retenção de PIS
    aF600[8]ArrayValor da retenção de COFINS
    aF600[9]ArrayIndicador da pessoa declarante
    aF600[10]ArrayTabela
    aF600[11]ArrayRecno
    aF600[12]ArrayCódigo da Receita


  • Passados por parâmetros o Array PARAMIXB contendo os seguintes dados:

    ElementoTipoDescrição
    PARAMIXB[1]ArrayArray com os registros que serão levados para o bloco F600.
  • Retorno: 

    ElementoTipoDescrição
    cPeCodRecCaracterCódigo da receita
  • Exemplo:

    User function SPDF6004()

    Local aF600 := ParamIxb[1]
    Local cArq := ""
    Local nRecSe5 := 0
    Local cCodRec := ""

    If Len(aF600) > 0
        cArq := aF600[10]
             If cArq == "SE5"
                   aAreaSE5 := SE5->(GetArea())
                   nRecSe5:= aF600[11]
                   DbSelectArea(cArq)
                   SE5->(dbGoto(nRecSe5))
                   If Alltrim(SE5->E5_NATUREZ) == "NATF600" .And. Alltrim(SE5->E5_CLIFOR)== "F600"
                         cCodRec := "1234"
                    Else
                         cCodRec := "9999"
                   EndIf
                   RestArea(aAreaSE5)
             EndIf
    EndIf
    Return cCodRec