Histórico da Página
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#include "rwmake.ch" #include "Topconn.ch" #include "protheus.ch" 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 := {} Local aReg1310 := {} Local aReg1320 := {} //Função responsavel pela geração do bloco 1300, movimentação diaria de combustivel nPos1300 := Reg1300P(cAlias,dDataDe,dDataAte,@aReg1300) //Função MovCom, ela sera responsavel pela geração dos blocos 1310 e 1320, onde o registro 1310 é a movimentação diaria de combustivel por tanque //Registro 1320 volume de venda MovCom(cAlias,dDataDe,dDataAte,nPos1300,aReg1300,@aReg1310,@aReg1320) //Função Reg1350P, responsável por inserir informações das bombas e seus respectivos lacres e também dos bicos. //Esta função não deverá ser chamada em loop Reg1350P(cAlias,dDataDe,dDataAte,@aReg0200,aReg0190@aReg0190) //Após a geração dos arrays com toda a movimentação do periodo será chamado a função SPEDRegs para adiciona-los corretamente no arquivo do SPED //Esta função não deverá ser chamada em loop SPEDRegs(cAlias,{aReg1300,aReg1310,aReg1320}) Return (aReg0200) ////////// Registro 1300 MOVIMENTACAO DIARIA DE COMBUSTIVEIS //////////// Function Reg1300P(cAlias,dDataDe,dDataAte,aReg1300) Local lConcFil := SuperGetMv("MV_COFLSPD",,.T.) //Soma filial ao codigo do produto Local cProd := PadR(Alltrim("001"+ Iif(lConcFil,xFilial("SB1"),"")),TamSX3("B1_COD")[1]) Local nPos := 0 Local dData := ctod("25/08/2022") aAdd(aReg1300, {}) nPos:= Len(aReg1300) aAdd (aReg1300[nPos], "1300" ) //01 - REG aAdd (aReg1300[nPos], cProd ) //02 - COD_ITEM aAdd (aReg1300[nPos], dData ) //03 - DT_FECH aAdd (aReg1300[nPos], {330.000,3} ) //04 - ESTQ_ABERT aAdd (aReg1300[nPos], 0 ) //05 - VOL_ENTR aAdd (aReg1300[nPos], {330.000,3} ) //00 - VOL_DISP aAdd (aReg1300[nPos], {150.000,3} ) //00 - VOL_SAIDAS aAdd (aReg1300[nPos], {180.000,3} ) //00 - ESTQ_ESCR aAdd (aReg1300[nPos], 0 ) //00 - VAL_AJ_PERDA aAdd (aReg1300[nPos], 0 ) //00 - VAL_AJ_GANHO aAdd (aReg1300[nPos], {180.000,3} ) //00 - FECH_FISICO Return (nPos) Function MovCom(cAlias,dDataDe,dDataAte,nPos1300,aReg1300,aReg1310,aReg1320) Local nRectan := 0 Local nPos1310 := 0 Local nCont := 0 Local ncontBic := 0 Default aReg1310 := {} Default aReg1320 := {} For nCont := 1 To 3 // Simulando 3 tanques nRectan := 126 + nCont nPos1310 := SPED1310(cAlias,dDataDe,dDataAte,nRectan,@aReg1310,nPos1300) //1310 deverá ser gerado apenas um registro diario por tanque For ncontBic := 1 To 2 // Simulando 2 Bicos SPED1320(cAlias,dDataDe,dDataAte,@aReg1320,nPos1310, ncontBic) //1320 deverá ser gerado um registro diario por bico Next Next Return() //////////// Registro 1310 MOVIMENTACAO DIARIA DE COMBUSTIVEIS POR TANQUE///////////////// Function SPED1310 (cAlias,dDataDe,dDataAte,nRectan,aReg1310,nPos1300) Local nPos := 0 Local cTanque := STRzero(nRectan,3) aAdd(aReg1310, {}) nPos:= Len(aReg1310) aAdd (aReg1310[nPos], nPos1300 ) //00 - RELACAO aAdd (aReg1310[nPos], "1310" ) //01 - REG aAdd (aReg1310[nPos], cTanque ) //02 - NUM_TANQUE aAdd (aReg1310[nPos], {330.000,3} ) //03 - ESTQ_ABERT aAdd (aReg1310[nPos], {0,3} ) //04 - VOL_ENTR aAdd (aReg1310[nPos], {330.000,3} ) //05 - VOL_DISP aAdd (aReg1310[nPos], { 50.000,3} ) //06 - VOL_SAIDAS aAdd (aReg1310[nPos], {280.000,3} ) //07 - ESTQ_ESCR aAdd (aReg1310[nPos], 0 ) //08 - VAL_AJ_PERDA aAdd (aReg1310[nPos], 0 ) //09 - VAL_AJ_GANHO aAdd (aReg1310[nPos], {280.000,3} ) //10 - FECH_FISICO Return (nPos) ///////////////// Registro 1320 VOLUME DE VENDAS///////////////// Function SPED1320 (cAlias,dDataDe,dDataAte,aReg1320,nPos1310,ncontBic) Local nPos := 0 Local nBico := 0 Local nInve := 0 aAdd(aReg1320, {}) nBico := 123 + ncontBic nPos:= Len(aReg1320) aAdd (aReg1320[nPos], nPos1310 ) //00 - RELACAO aAdd (aReg1320[nPos], "1320" ) //01 - REG aAdd (aReg1320[nPos], StrZero(nBico,3) ) //02 - NUM_BICO aAdd (aReg1320[nPos], "192" ) //03 - NR_INTERV aAdd (aReg1320[nPos], "mo intervencao" ) //04 - MOT_INTERV aAdd (aReg1320[nPos], "Nom do Interventor" ) //05 - NOM_INTERV aAdd (aReg1320[nPos], "79427589000320" ) //06 - CNPJ_INTERV aAdd (aReg1320[nPos], "45723220667" ) //07 - CPF_INTERV aAdd (aReg1320[nPos], 100 ) //08 - VAL_FECHA aAdd (aReg1320[nPos], 20 ) //09 - VAL_ABERT aAdd (aReg1320[nPos], 10 ) //10 - VOL_AFERI aAdd (aReg1320[nPos], "70" ) //11 - VOL_VENDAS Return (aReg1320) ///////////////// Registro 1350 Bombas | Registro 1360 Lacres das bombas | Registro 1370 Bicos da bomba ///////////////// Function Reg1350P(cAlias,dDataDe,dDataAte,aReg0200,aReg0190) Local lConcFil := SuperGetMv("MV_COFLSPD",,.T.) //Soma filial ao codigo do produto Local cProd := PadR(Alltrim("001"+ Iif(lConcFil,xFilial("SB1"),"")),TamSX3("B1_COD")[1]) Local aReg1350 := {} Local aReg1360 := {} Local aReg1370 := {} Local nPos := 0 //------------------------------- 1 aAdd(aReg1350, {}) nPos:= Len(aReg1350) aAdd (aReg1350[nPos], "1350" ) //01 - REG aAdd (aReg1350[nPos], "01" ) //02 - SERIE aAdd (aReg1350[nPos], "nome fabricante 1" ) //03 - FABRICANTE aAdd (aReg1350[nPos], "mod bomba 1" ) //04 - MODELO aAdd (aReg1350[nPos], "0" ) //04 - TIPO_MEDICAO aAdd(aReg1360, {}) nPos:= Len(aReg1360) aAdd (aReg1360[nPos], "1360" ) //01 - REG aAdd (aReg1360[nPos], "01" ) //02 - NUM_LACRE aAdd (aReg1360[nPos], dDataAte ) //03 - DT_APLICACAO aAdd(aReg1360, {}) nPos:= Len(aReg1360) aAdd (aReg1360[nPos], "1360" ) //01 - REG aAdd (aReg1360[nPos], "011" ) //02 - NUM_LACRE aAdd (aReg1360[nPos], dDataAte ) //03 - DT_APLICACAO aAdd(aReg1370, {}) nPos:= Len(aReg1370) aAdd (aReg1370[nPos], "1370" ) //01 - REG aAdd (aReg1370[nPos], "01" ) //02 - NUM_BICO aAdd (aReg1370[nPos], cProd ) //03 - COD_ITEM aAdd (aReg1370[nPos], "10" ) //geracao do 0200 SPEDSeek("SB1",,xFilial("SB1")+cProd) SFRG0200(cAlias,@aReg0200,@aReg0190,dDataDe,dDataAte,,cProd) GrvRegTrS (cAlias,1,aReg1350) GrvRegTrS (cAlias,1,aReg1360) GrvRegTrS (cAlias,1,aReg1370) //-------------------------------------------- 2 aReg1350 := {} aReg1360 := {} aReg1370 := {} aAdd(aReg1350, {}) nPos:= Len(aReg1350) aAdd (aReg1350[nPos], "1350" ) //01 - REG aAdd (aReg1350[nPos], "02" ) //02 - SERIE aAdd (aReg1350[nPos], "nome fabricante 2" ) //03 - FABRICANTE aAdd (aReg1350[nPos], "mod bomba 2" ) //04 - MODELO aAdd (aReg1350[nPos], "0" ) //04 - TIPO_MEDICAO aAdd(aReg1360, {}) nPos:= Len(aReg1360) aAdd (aReg1360[nPos], "1360" ) //01 - REG aAdd (aReg1360[nPos], "02" ) //02 - NUM_LACRE aAdd (aReg1360[nPos], dDataAte ) //03 - DT_APLICACAO aAdd(aReg1370, {}) nPos:= Len(aReg1370) aAdd (aReg1370[nPos], "1370" ) //01 - REG aAdd (aReg1370[nPos], "02" ) //02 - NUM_BICO aAdd (aReg1370[nPos], cProd ) //03 - COD_ITEM aAdd (aReg1370[nPos], "10" ) //geração do 0200 SPEDSeek("SB1",,xFilial("SB1")+cProd) SFRG0200(cAlias,@aReg0200,@aReg0190,dDataDe,dDataAte,,cProd) aAdd(aReg1370, {}) nPos:= Len(aReg1370) aAdd (aReg1370[nPos], "1370" ) //01 - REG aAdd (aReg1370[nPos], "022" ) //02 - NUM_BICO aAdd (aReg1370[nPos], cProd ) //03 - COD_ITEM aAdd (aReg1370[nPos], "10" ) //geração do 0200 SPEDSeek("SB1",,xFilial("SB1")+cProd) SFRG0200(cAlias,@aReg0200,@aReg0190,dDataDe,dDataAte,,cProd) GrvRegTrS (cAlias,2,aReg1350) GrvRegTrS (cAlias,2,aReg1360) GrvRegTrS (cAlias,2,aReg1370) //-------------------------------- 3 aReg1350 := {} aReg1360 := {} aReg1370 := {} aAdd(aReg1350, {}) nPos:= Len(aReg1350) aAdd (aReg1350[nPos], "1350" ) //01 - REG aAdd (aReg1350[nPos], "03" ) //02 - SERIE aAdd (aReg1350[nPos], "nome fabricante 3" ) //03 - FABRICANTE aAdd (aReg1350[nPos], "mod bomba 3" ) //04 - MODELO aAdd (aReg1350[nPos], "0" ) //04 - TIPO_MEDICAO aAdd(aReg1360, {}) nPos:= Len(aReg1360) aAdd (aReg1360[nPos], "1360" ) //01 - REG aAdd (aReg1360[nPos], "03" ) //02 - NUM_LACRE aAdd (aReg1360[nPos], dDataAte ) //03 - DT_APLICACAO aAdd(aReg1360, {}) nPos:= Len(aReg1360) aAdd (aReg1360[nPos], "1360" ) //01 - REG aAdd (aReg1360[nPos], "033" ) //02 - NUM_LACRE aAdd (aReg1360[nPos], dDataAte ) //03 - DT_APLICACAO aAdd(aReg1370, {}) nPos:= Len(aReg1370) aAdd (aReg1370[nPos], "1370" ) //01 - REG aAdd (aReg1370[nPos], "03" ) //02 - NUM_BICO aAdd (aReg1370[nPos], cProd ) //03 - COD_ITEM aAdd (aReg1370[nPos], "10" ) //geração do 0200 SPEDSeek("SB1",,xFilial("SB1")+cProd) SFRG0200(cAlias,@aReg0200,@aReg0190,dDataDe,dDataAte,,cProd) aAdd(aReg1370, {}) nPos:= Len(aReg1370) aAdd (aReg1370[nPos], "1370" ) //01 - REG aAdd (aReg1370[nPos], "033" ) //02 - NUM_BICO aAdd (aReg1370[nPos], cProd ) //03 - COD_ITEM aAdd (aReg1370[nPos], "10" ) //geração do 0200 SPEDSeek("SB1",,xFilial("SB1")+cProd) SFRG0200(cAlias,@aReg0200,@aReg0190,dDataDe,dDataAte,,cProd) GrvRegTrS (cAlias,3,aReg1350) GrvRegTrS (cAlias,3,aReg1360) GrvRegTrS (cAlias,3,aReg1370) Return () |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas