Árvore de páginas

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Serviços
Módulo:Fiscal

02. DESCRIÇÃO

Ponto de Entrada para inserir registros F200/F205/F210 referentes a atividade imobiliária do SPED Contribuições.

03. ESPECIFICAÇÃO

Retorno:

NomeTipoDescriçãoObrigatório

aRetPE

[1] = Registro F200

[3] = Registro F205

[2] = Registro F210

ArrayRetorna registros F200/F205/F210Sim

Importante

No retorno do array F200, na última posição do array F200 informe se o item se enquadra no regime cumulativo 0 ou não cumulativo 1 para geração do bloco M.

Para não gerar os registros F500/F525 basta deixar os campos Apur. PIS (ED_APURPIS) e Apur. COFINS (ED_APURCOF) sem conteúdo.

04. EXEMPLO DE UTILIZAÇÃO

SPDPCIMOB
#Include 'Protheus.ch'
#include 'rwmake.ch'

User Function SPDPCIMOB()
	Local aRetF200 := {}
	Local aRetF205 := {}
	Local aRetF210 := {}
	Local nPosF200 := 0
	Local nPosF205 := 0
	Local nPosF210 := 0
	Local nX       := 0

    //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
    //³REGISTRO F200 (IMPORTANTE)                                        ³
    //³O ultimo campo NAO pertece ao layout do registro F200 porem eh    ³
    //³essencial para correta geracao do bloco M no arquivo magnetico    ³
    //³REGISTRO F205 (IMPORTANTE)                                        ³
    //³O primeiro campo NAO pertence ao layout do registro F205 porem eh ³
    //³essencial para correta geracao do arquivo magnetico               ³
    //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

    //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
    //REGISTRO F210 (IMPORTANTE)									     ³
    //³O primeiro campo NAO pertence ao layout do registro F210 porem eh ³
    //³essencial para correta geracao do arquivo magnetico               ³
    //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

    //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
    //³Neste exemplo sera gerado dois registros F200 e um F205/F210  para³
    //³cada F200 gerado                                                  ³
    //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

    //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
    //³REGISTRO F200 - Sera gerado 1 para cada F010 do SpedPisCofins     ³
    //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

	For nX:=1 To 2

		Aadd(aRetF200,{})
		nPosF200 := Len(aRetF200)
		If nX == 1
			Aadd(aRetF200[nPosF200],"F200") 						//01-REG
			Aadd(aRetF200[nPosF200],"01") 							//02-IND_OPER
			Aadd(aRetF200[nPosF200],"01")							//03-UNID_IMOB
			Aadd(aRetF200[nPosF200],"TOTVS")						//04-IDENT_EMP
			Aadd(aRetF200[nPosF200],"Descricao Resumida Totvs")		//05-DESC_UNID_IMOB
			Aadd(aRetF200[nPosF200],"123456789")					//06-NUM_CONT
			Aadd(aRetF200[nPosF200],"36403560808")					//07-CPF_CNPJ_ADQU
			Aadd(aRetF200[nPosF200],"13062018")						//08-DT_OPER
			Aadd(aRetF200[nPosF200],50000.00)						//09-VL_TOT_VEND
			Aadd(aRetF200[nPosF200],20000.00)						//10-VL_REC_ACUM
			Aadd(aRetF200[nPosF200],10000.00)						//11-VL_TOT_REC
			Aadd(aRetF200[nPosF200],"01")							//12-CST_PIS
			Aadd(aRetF200[nPosF200],50000.00)						//13-VL_BC_PIS
			Aadd(aRetF200[nPosF200],0.65)							//14-ALIQ_PIS
			Aadd(aRetF200[nPosF200],325.00)							//15-VL_PIS
			Aadd(aRetF200[nPosF200],"01")							//16-CST_COFINS
			Aadd(aRetF200[nPosF200],50000.00)						//17-VL_BC_COFINS
			Aadd(aRetF200[nPosF200],3.0)							//18-ALIQ_COFINS
			Aadd(aRetF200[nPosF200],1500.00)						//19-VL_COFINS
			Aadd(aRetF200[nPosF200],60.00)							//20-PERC_REC_RECEB
			Aadd(aRetF200[nPosF200],"1")							//21-IND_NAT_EMP
			Aadd(aRetF200[nPosF200],"Informações complementares")	//22-INF_COMP
			Aadd(aRetF200[nPosF200],"0")							//Informa se o registro eh de regime cumulativo (0) ou nao cumulativo (1)
		Else
			Aadd(aRetF200[nPosF200],"F200")							//01-REG
			Aadd(aRetF200[nPosF200],"02")							//02-IND_OPER
			Aadd(aRetF200[nPosF200],"01")							//03-UNID_IMOB
			Aadd(aRetF200[nPosF200],"TOTVS")						//04-IDENT_EMP
			Aadd(aRetF200[nPosF200],"Descricao Resumida Totvs")		//05-DESC_UNID_IMOB
			Aadd(aRetF200[nPosF200],"123456789")					//06-NUM_CONT
			Aadd(aRetF200[nPosF200],"36403560808")					//07-CPF_CNPJ_ADQU
			Aadd(aRetF200[nPosF200],"13062018")						//08-DT_OPER
			Aadd(aRetF200[nPosF200],50000.00)						//09-VL_TOT_VEND
			Aadd(aRetF200[nPosF200],20000.00)						//10-VL_REC_ACUM
			Aadd(aRetF200[nPosF200],10000.00)						//11-VL_TOT_REC
			Aadd(aRetF200[nPosF200],"01")							//12-CST_PIS
			Aadd(aRetF200[nPosF200],50000.00)						//13-VL_BC_PIS
			Aadd(aRetF200[nPosF200],1.65)							//14-ALIQ_PIS
			Aadd(aRetF200[nPosF200],825.00)							//15-VL_PIS
			Aadd(aRetF200[nPosF200],"01")							//16-CST_COFINS
			Aadd(aRetF200[nPosF200],50000.00)						//17-VL_BC_COFINS
			Aadd(aRetF200[nPosF200],7.6)							//18-ALIQ_COFINS
			Aadd(aRetF200[nPosF200],3800.00)						//19-VL_COFINS
			Aadd(aRetF200[nPosF200],60.00)							//20-PERC_REC_RECEB
			Aadd(aRetF200[nPosF200],"1")							//21-IND_NAT_EMP
			Aadd(aRetF200[nPosF200],"Informações complementares")	//22-INF_COMP
			Aadd(aRetF200[nPosF200],"1")							//Informa se o registro eh de regime cumulativo (0) ou nao cumulativo (1)
		EndIf

		//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
		//³REGISTRO F205 - Sera Gerado 1 para cada registro F200³
		//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
       
        Aadd(aRetF205,{})
		nPosF205 := Len(aRetF205)

		Aadd(aRetF205[nPosF205],nPosF200)   //Referencia do registro F200 Pai
		Aadd(aRetF205[nPosF205],"F205")		//01-REG
		Aadd(aRetF205[nPosF205],30000.00)	//02-VL_CUS_INC_ACUM_ANT
		Aadd(aRetF205[nPosF205],10000.00)	//03-VL_CUS_INC_PER_ESC
		Aadd(aRetF205[nPosF205],40000.00)	//04-VL_CUS_INC_ACUM
		Aadd(aRetF205[nPosF205],8000.00)	//05-VL_EXC_BC_CUS_INC_ACUM
		Aadd(aRetF205[nPosF205],32000.00)	//06-VL_BC_CUS_INC
		Aadd(aRetF205[nPosF205],"50")		//07-CST_PIS
		Aadd(aRetF205[nPosF205],1.65)		//08-ALIQ_PIS
		Aadd(aRetF205[nPosF205],528.00)		//09-VL_CRED_PIS_ACUM
		Aadd(aRetF205[nPosF205],40.00)		//10-VL_CRED_PIS_DESC_ANT
		Aadd(aRetF205[nPosF205],60.00)		//11-VL_CRED_PIS_DESC
		Aadd(aRetF205[nPosF205],428.00)		//12-VL_CRED_PIS_DESC_FUT
		Aadd(aRetF205[nPosF205],"50") 		//13-CST_COFINS
		Aadd(aRetF205[nPosF205],7.6)		//14-ALIQ_COFINS
		Aadd(aRetF205[nPosF205],2432.00)	//15-VL_CRED_COFINS_ACUM
		Aadd(aRetF205[nPosF205],100.00)		//16-VL_CRED_COFINS_DESC_ANT
		Aadd(aRetF205[nPosF205],200.00)		//17-VL_CRED_COFINS_DESC
		Aadd(aRetF205[nPosF205],2132.00)	//18-VL_CRED_COFINS_DESC_FUT
		
        //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
		//³REGISTRO F210 - Gerados N registros para cada F200       ³
		//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
		
        Aadd(aRetF210,{})		
        nPosF210 := Len(aRetF210)
		
        Aadd(aRetF210[nPosF210],nPosF200)   //Referencia do registro F200 Pai
		Aadd(aRetF210[nPosF210],"F210")		//01-REG
		Aadd(aRetF210[nPosF210],5000.00)	//02-VL_CUS_ORC
		Aadd(aRetF210[nPosF210],0.00)		//03-VL_EXC
		Aadd(aRetF210[nPosF210],5000.00)	//04-VL_CUS_ORC_AJU
		Aadd(aRetF210[nPosF210],10000.00)	//05-VL_BC_CRED
		Aadd(aRetF210[nPosF210],"50")		//06-CST_PIS
		Aadd(aRetF210[nPosF210],1.65)		//07-ALIQ_PIS
		Aadd(aRetF210[nPosF210],165.00)		//08-VL_CRED_PIS_UTIL
		Aadd(aRetF210[nPosF210],"50")		//09-CST_COFINS
		Aadd(aRetF210[nPosF210],7.6)		//10-ALIQ_COFINS
		Aadd(aRetF210[nPosF210],760.00)		//11-VL_CRED_COFINS_UTIL
	
	Next

Return {aRetF200,aRetF205,aRetF210}


05. DEMAIS INFORMAÇÕES

  • Não há.