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 | 1 | 126 | 126 | 1 | 127 | 127 | 1 | 127 | 127 | 1 | 127 | 127 | 1 | 128 | 128 | 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 | | | | | | | | | | | | | |
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 | | | | |
|