Árvore de páginas

Carregando...

01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Protheus

Segmento:

Serviços

Módulo:

TOTVS Backoffice (Linha Protheus) - Ativo Fixo (SIGAATF)

Função:ATFA251
País:Brasil
Ticket:Interno
Requisito/Story/IssueDSERCTR1-46030

02. DESCRIÇÃO

O ponto de entrada AF251RIMP é invocado pela rotina AF251RatInf para permitir a inclusão de novos impostos que devem ser considerados durante o processo de rateio dos ativos. Ele recebe o array de impostos existentes e retorna um array com novos itens ou ajustes nos impostos já calculados. Isso facilita a inclusão de tributos específicos, como PIS e COFINS, que possam ser necessários no cálculo do rateio de valores. O ponto de entrada valida os tipos de dados e impede a duplicação de registros para o mesmo tipo de imposto.

03. DEMAIS INFORMAÇÕES


Manipulação de PE no sistema
aRetImp := ExecBlock( 'AF251RIMP', .F., .F., aClone(aAF251Imp) )
If ValType( aRetImp ) == 'A'
		For nA := 1 To Len( aRetImp )
			// Verifica se todos os tipos de dados estao corretos e se ja
			// nao existe a mesma linha retornada no array aAF251Imp
			If 	Len( aRetImp[nA] ) == 6 .and.;
				ValType(aRetImp[nA,1]) == 'C' .and.;
				ValType(aRetImp[nA,2]) == 'C' .and.;
				ValType(aRetImp[nA,3]) == 'N' .and.;
				ValType(aRetImp[nA,4]) == 'L' .and.;
				ValType(aRetImp[nA,5]) == 'N' .and.;
				ValType(aRetImp[nA,6]) == 'N' .and.;
				!('ICMS' $ Upper(aRetImp[nA,1]) )
				nPosImp :=  aScan( aAF251Imp, {|Imp| 	Imp[1] == aRetImp[nA,1] .and. Imp[2] == aRetImp[nA,2] .and.;
				Imp[3] == aRetImp[nA,3] .and. Imp[4] == aRetImp[nA,4] } )

				If nPosImp == 0
					Aadd( aAF251Imp, aClone( aRetImp[nA] ) )
				Else
					aAF251Imp[nPosImp][5] += aRetImp[nA][5]
					aAF251Imp[nPosImp][6] += aRetImp[nA][6]
				EndIF

			EndIf
		Next nA
	EndIf
Exemplo de PE
User Function AF251RIMP()

    Local aAF251Imp := PARAMIXB[1]

    // Adiciona um novo item de imposto para PIS
    AAdd( aAF251Imp , {"PIS","1",201,.T.,500.00,0})

    // Adiciona um novo item de imposto para COFINS
    AAdd( aAF251Imp , {"COFINS","1",202,.T.,1000.00,0})

Return  aAF251Imp

Importante !!

  • Observa-se que a utilização do PE e os impactos dele no sistema são de responsabilidade do cliente.
  • Os exemplos utilizados nessa documentação são apenas para fins de demonstração, cada cliente deve verificar qual comportamento deseja realizar de acordo com o escopo do ponto de entrada.

04. ASSUNTOS RELACIONADOS

  • Não se aplica.