Versões comparadas

Chave

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

...

Entry point AF251RIMP is called by routine AF251RatInf to allow adding new taxes to be used during the asset apportionment process. It receives the existing tax array and returns an array with new items or adjustments in taxes already calculated. This facilitates the adding of specific taxes, such as PIS and COFINS, which you may need for calculating apportionment values. The entry point validates the data types and hinders the duplication of records for the same tax type.

03. OTHER INFORMATION



Bloco de código
languagecpp
themeRDark
titleManipulaçã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
Bloco de código
languagecpp
themeRDark
titleExemplo 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
Aviso
titleImportante !!
  • 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. RELATED SUBJECTS

  • Not Applicable.