Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Portuguese

Pagetitle
SPED1300 - Movimentação diária de combustíveis
SPED1300 - Movimentação diária de combustíveis

Ponto-de-Entrada: SPED1300 - Movimentação diária de combustíveis

 

Abrangências:Microsiga Protheus 10
Versões:Microsiga Protheus 10
Compatível Países:Brasil
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Idiomas:Português (Brasil)

 

Descrição:
Registro apresentado pelos contribuintes do ramo varejista de combustíveis (postos de combustíveis), refere-se à movimentação diária de combustíveis, havendo apenas um registro por tipo de combustível e por data do fechamento da movimentação (campo COD_ITEM e campo DT_FECH), independente de ocorrerem intervenções.Não pode haver mais de um registro com o mesmo código de combustível e mesma data de fechamento.
Eventos
Exemplo da tabela SPED1300C.DBF criada para alimentar os registros 1300, 1310 e 1320

MV_COMB = Movimentação Diária de Combustíveis
MV_TANQUE = Movimentação por Tanque
MV_VENDAS = Volume de Vendas

 

 MV_COMB    MV_TANQUE     MV_VENDAS
1126126
1127127
1127127
1127127
1128128

 

Programa Fonte
SPED1300.PRW
Sintaxe

SPED1300 - Movimentação diária de combustíveis ( [ cAlias ], [ dDataDe ], [ dDataAte ], [ aReg0200 ], [ aReg0190 ] )

Parâmetros:

 

 Nome  Tipo  Descrição  Default  Obrigatório  Referência 
 cAlias  Array of Record  Alias da tabela          
 dDataDe  Data  Código do produto          
 dDataAte  Data  Data inicial          
 aReg0200  Array of Record  Data final          
 aReg0190  Array of Record             

 

Retorno
    ()
Exemplos
User Function SPED1300 () Local 	cAlias		:=(ParamIxb[1])   	Local 	dDataDe		:=(ParamIxb[2])Local	dDataAte	                      :=(ParamIxb[3])Local	aReg0200	                      :=(ParamIxb[4])Local	aReg0190	                      :=(ParamIxb[5])	Local	aReg1300	                      := {}	nPos1300 := Reg1300P(cAlias,dDataDe,dDataAte,@aReg1300)GrvReg(cAlias,dDataDe,dDataAte,nPos1300,aReg1300)Reg1350P(cAlias,dDataDe,dDataAte,aReg0200,aReg0190) Return ()     //////////////////////////////////////////////////////////// Registro 1300 MOVIMENTACAO DIARIA DE COMBUSTIVEIS    ////////////////////////////////////////////////////////////Function Reg1300P(cAlias,dDataDe,dDataAte,aReg1300)			Local 	nPos   		:=0Local	dData		:= ctod("25/12/2011")aAdd(aReg1300, {})nPos:= Len(aReg1300)aAdd (aReg1300[nPos], "1300"				)	 	//01 - REGaAdd (aReg1300[nPos], "GAS1"				)	 	//02 - COD_ITEMaAdd (aReg1300[nPos], dData			   	)	 	//03 - DT_FECHaAdd (aReg1300[nPos], 10				)	 	//04 - ESTQ_ABERTaAdd (aReg1300[nPos], 100				)	 	//05 - VOL_ENTRaAdd (aReg1300[nPos], 110				)	 	//00 - VOL_DISPaAdd (aReg1300[nPos], 50				)	 	//00 - VOL_SAIDASaAdd (aReg1300[nPos], 60				)	 	//00 - ESTQ_ESCRaAdd (aReg1300[nPos], 0				)	 	//00 - VAL_AJ_PERDAaAdd (aReg1300[nPos], 0	   			)	 	//00 - VAL_AJ_GANHOaAdd (aReg1300[nPos], 60				)	 	//00 - FECH_FISICOReturn (nPos)/////////////////////////////////////////////////////////////////// Registro 1310 MOVIMENTACAO DIARIA DE COMBUSTIVEIS POR TANQUE/////////////////////////////////////////////////////////////////// Function GrvReg(cAlias,dDataDe,dDataAte,nPos1300,aReg1300)Local 	aReg1310	:= {}Local 	aReg1320	:= {}Local 	nRectan	:= 0Local 	nRecven	:= 0 Local 	nPos1310	:= 0//Le o arquivo dbf	C:\P10\Protheus_Data\DBFdbUseArea( .T.,"DBFCDXADS", "SPED1300C.DBF","SSS",.T., .F. )       dbSelectArea("SSS")DbGoTop ()While !Eof()nRectan := SSS->MV_TANQUE  	While !Eof() .And. nRectan == SSS->MV_TANQUE		    	    nPos1310 := SPED1310(cAlias,dDataDe,dDataAte,nRectan,@aReg1310,nPos1300)     //1310		nRecven := SSS->MV_VENDAS						While !Eof() .And. SSS->MV_VENDAS == nRecven .And. nRectan == SSS->MV_TANQUE						SPED1320(cAlias,dDataDe,dDataAte,@aReg1320,nPos1310)	 //1320						DbSkip()		EndDo	EndDoEndDoSSS->(DbCloseArea ())SPEDRegs(cAlias,{aReg1300,aReg1310,aReg1320})Return()Function SPED1310 (cAlias,dDataDe,dDataAte,nRectan,aReg1310,nPos1300)  	Local 	nPos	:= 0Local	nTanque	:= nRectanaAdd(aReg1310, {})nPos:= Len(aReg1310)aAdd (aReg1310[nPos], nPos1300		)	 	//00 - RELACAOaAdd (aReg1310[nPos], "1310"		)	 	//01 - REGaAdd (aReg1310[nPos], nTanque		)	 	//02 - NUM_TANQUEaAdd (aReg1310[nPos], 10	   	)	 	//03 - ESTQ_ABERTaAdd (aReg1310[nPos], 10		)	 	//04 - VOL_ENTRaAdd (aReg1310[nPos], 20		)	 	//05 - VOL_DISPaAdd (aReg1310[nPos], 10		)	 	//06 - VOL_SAIDASaAdd (aReg1310[nPos], 10		)	 	//07 - ESTQ_ESCRaAdd (aReg1310[nPos], 0		)	 	//08 - VAL_AJ_PERDAaAdd (aReg1310[nPos], 0		)	 	//09 - VAL_AJ_GANHOaAdd (aReg1310[nPos], 0		)	 	//10 - FECH_FISICO  dbSelectArea("SSS")Return (nPos)      /////////////////////////////////////////////////////////////////// Registro 1320 VOLUME DE VENDAS/////////////////////////////////////////////////////////////////// Function SPED1320 (cAlias,dDataDe,dDataAte,aReg1320,nPos1310)  	Local 	nPos	:= 0		aAdd(aReg1320, {})nPos:= Len(aReg1320)aAdd (aReg1320[nPos], nPos1310				)	 	//00 - RELACAOaAdd (aReg1320[nPos], "1320"				)	 	//01 - REGaAdd (aReg1320[nPos], "123"				)	 	//02 - NUM_BICOaAdd (aReg1320[nPos], "192"  			  	)	 	//03 - NR_INTERVaAdd (aReg1320[nPos], "mo intervencao"      	                                           )	 	//04 - MOT_INTERVaAdd (aReg1320[nPos], "Nom do Interventor"	   	                     )	 	//05 - NOM_INTERVaAdd (aReg1320[nPos], "79427589000320"			)	 	//06 - CNPJ_INTERVaAdd (aReg1320[nPos], "45723220667"			)	 	//07 - CPF_INTERVaAdd (aReg1320[nPos], 100				)	 	//08 - VAL_FECHAaAdd (aReg1320[nPos], 20				)	 	//09 - VAL_ABERTaAdd (aReg1320[nPos], 10  				)	 	//10 - VOL_AFERIaAdd (aReg1320[nPos], "70"				)	 	//11 - VOL_VENDASdbSelectArea("SSS") Return (aReg1320)Function Reg1350P(cAlias,dDataDe,dDataAte,aReg0200,aReg0190)Local 	cProd	:= "GAS1"Local	aReg1350	:= {}Local	aReg1360	:= {}Local	aReg1370	:= {}Local	nPos	:= 0 //------------------------------- 1aAdd(aReg1350, {})nPos:= Len(aReg1350)aAdd (aReg1350[nPos], "1350"				)	 	//01 - REGaAdd (aReg1350[nPos], "01"				)	 	//02 - SERIEaAdd (aReg1350[nPos], "nome fabricante 1"      	                     )	 	//03 - FABRICANTEaAdd (aReg1350[nPos], "mod bomba 1"			)	 	//04 - MODELOaAdd (aReg1350[nPos], "0"				)	 	//04 - TIPO_MEDICAO aAdd(aReg1360, {})nPos:= Len(aReg1360)aAdd (aReg1360[nPos], "1360"				)	 	//01 - REGaAdd (aReg1360[nPos], "01"				)	 	//02 - NUM_LACREaAdd (aReg1360[nPos], dDataAte			  	)	 	//03 - DT_APLICACAOaAdd(aReg1360, {})nPos:= Len(aReg1360)aAdd (aReg1360[nPos], "1360"				)	 	//01 - REGaAdd (aReg1360[nPos], "011"				)	 	//02 - NUM_LACREaAdd (aReg1360[nPos], dDataAte			  	)	 	//03 - DT_APLICACAOaAdd(aReg1370, {})nPos:= Len(aReg1370)aAdd (aReg1370[nPos], "1370"				)	 	//01 - REGaAdd (aReg1370[nPos], "01"				)	 	//02 - NUM_BICOaAdd (aReg1370[nPos], cProd			  	)	 	//03 - COD_ITEMaAdd (aReg1370[nPos], "10"            			)//geracao do 0200SPEDSeek("SB1",,xFilial("SB1")+cProd)SFRG0200(cAlias,@aReg0200,@aReg0190,dDataDe,dDataAte,,cProd)GrvRegTrS (cAlias,1,aReg1350)GrvRegTrS (cAlias,1,aReg1360)GrvRegTrS (cAlias,1,aReg1370)//-------------------------------------------- 2aReg1350	:= {}aReg1360	:= {}aReg1370	:= {}aAdd(aReg1350, {})nPos:= Len(aReg1350)aAdd (aReg1350[nPos], "1350"				)	 	//01 - REGaAdd (aReg1350[nPos], "02"				)	 	//02 - SERIEaAdd (aReg1350[nPos], "nome fabricante 2"      	                     )		//03 - FABRICANTEaAdd (aReg1350[nPos], "mod bomba 2"			)	 	//04 - MODELOaAdd (aReg1350[nPos], "0"				)	 	//04 - TIPO_MEDICAO aAdd(aReg1360, {})nPos:= Len(aReg1360)aAdd (aReg1360[nPos], "1360"				)	 	//01 - REGaAdd (aReg1360[nPos], "02"				)	 	//02 - NUM_LACREaAdd (aReg1360[nPos], dDataAte			  	)	 	//03 - DT_APLICACAOaAdd(aReg1370, {})nPos:= Len(aReg1370)aAdd (aReg1370[nPos], "1370"				)	 	//01 - REGaAdd (aReg1370[nPos], "02"				)	 	//02 - NUM_BICOaAdd (aReg1370[nPos], cProd				)	 	//03 - COD_ITEMaAdd (aReg1370[nPos], "10"             			)//geracao do 0200SPEDSeek("SB1",,xFilial("SB1")+cProd)SFRG0200(cAlias,@aReg0200,@aReg0190,dDataDe,dDataAte,,cProd)aAdd(aReg1370, {})nPos:= Len(aReg1370)aAdd (aReg1370[nPos], "1370"				)	 	//01 - REGaAdd (aReg1370[nPos], "022"				)	 	//02 - NUM_BICOaAdd (aReg1370[nPos], cProd			  	)	 	//03 - COD_ITEMaAdd (aReg1370[nPos], "10"             			)//geracao do 0200SPEDSeek("SB1",,xFilial("SB1")+cProd)SFRG0200(cAlias,@aReg0200,@aReg0190,dDataDe,dDataAte,,cProd)GrvRegTrS (cAlias,2,aReg1350)GrvRegTrS (cAlias,2,aReg1360)GrvRegTrS (cAlias,2,aReg1370)//-------------------------------- 3aReg1350	:= {}aReg1360	:= {}aReg1370	:= {}aAdd(aReg1350, {})nPos:= Len(aReg1350)aAdd (aReg1350[nPos], "1350"				)	 	//01 - REGaAdd (aReg1350[nPos], "03"				)	 	//02 - SERIEaAdd (aReg1350[nPos], "nome fabricante 3"      	                     )	 	//03 - FABRICANTEaAdd (aReg1350[nPos], "mod bomba 3"			)	 	//04 - MODELOaAdd (aReg1350[nPos], "0"				)	 	//04 - TIPO_MEDICAO aAdd(aReg1360, {})nPos:= Len(aReg1360)aAdd (aReg1360[nPos], "1360"				)	 	//01 - REGaAdd (aReg1360[nPos], "03"				)	 	//02 - NUM_LACREaAdd (aReg1360[nPos], dDataAte			  	)	 	//03 - DT_APLICACAOaAdd(aReg1360, {})nPos:= Len(aReg1360)aAdd (aReg1360[nPos], "1360"				)	 	//01 - REGaAdd (aReg1360[nPos], "033"				)	 	//02 - NUM_LACREaAdd (aReg1360[nPos], dDataAte			  	)	 	//03 - DT_APLICACAOaAdd(aReg1370, {})nPos:= Len(aReg1370)aAdd (aReg1370[nPos], "1370"				)	 	//01 - REGaAdd (aReg1370[nPos], "03"				)	 	//02 - NUM_BICOaAdd (aReg1370[nPos], cProd				)	 	//03 - COD_ITEMaAdd (aReg1370[nPos], "10"             			)//geracao do 0200SPEDSeek("SB1",,xFilial("SB1")+cProd)SFRG0200(cAlias,@aReg0200,@aReg0190,dDataDe,dDataAte,,cProd)aAdd(aReg1370, {})nPos:= Len(aReg1370)aAdd (aReg1370[nPos], "1370"				)	 	//01 - REGaAdd (aReg1370[nPos], "033"				)	 	//02 - NUM_BICOaAdd (aReg1370[nPos], cProd				)	 	//03 - COD_ITEMaAdd (aReg1370[nPos], "10"             			)//geracao do 0200SPEDSeek("SB1",,xFilial("SB1")+cProd)SFRG0200(cAlias,@aReg0200,@aReg0190,dDataDe,dDataAte,,cProd)GrvRegTrS (cAlias,3,aReg1350)GrvRegTrS (cAlias,3,aReg1360)GrvRegTrS (cAlias,3,aReg1370)                              Return ()
Variáveis

 

 Nome  Tipo  Escopo  Pode Alterar  descrição 
    Array of Record  Global  Não