Gostaria de saber qual o tempo médio de geração do Sped ? Eu mandei gerar ontem o Sped de um supermercado que possui 3 ECF's e demorou quase 20 horas. Quando terminou, o arquivo possuía apenas 5,7 MB. Eu tenho certeza que tem algo errado, o problema é onde encontrar.
A maior demora está na contagem dos registros C460, C470 e C490, que são os registros referentes ao ECF.
Para cada registro eu possuo uma tabela. Vou explicar como procedo em meu aplicativo:
1º Dou um select na tabela C400, mando percorrer essa tabela do início ao fim (lista de ECF's);
2º Dou um select na tabela C405_C420 (lista os dados da redução Z e seus totalizadores parciais), por ECF (resultado da C400) no período de apuração e mando percorrer essa tabela;
3º Dou um select na tabela C460 (Cupons), por ECF (resultado da C400) e por dia (resultado da C405_C420), e mando percorrer;
4º Durante o percurso da C460, dou um select na tabela C470(itens dos cupons), por ECF (resultado da C400), por dia (resultado da C405_C420) e por cupom (resultado da C460), e mando percorrer essa tabela;
Se alguém tiver algum idéia para melhorar esse processo, fico agradecido.
No final o meu arquivo fica assim:
|C400|2D|MP-25 FI|BE0106000000000|002| |C405|10022011|003|001298|202324|3186179,49|3762,41| |C420|02T1200|671,55|02|| |C420|04T2500|89,15|04|| |C420|05T0700|77,25|05|| |C420|F1|464,59||| |C420|I1|422,63||| |C420|Can-T|261,62||| |C460|2D|02|202267||||||| |C460|2D|00|202318|10022011|0,03||||| |C470|00000000000906|3|0|UN|0,03|000|5102|0,00|0,00|0,00| |C470|07891091061789|1|1|UN|2,75|000|5102|17,00|0,00|0,00| |C470|07891091061789|2|2|UN|5,50|000|5102|17,00|0,00|0,00| |C460|2D|02|202319||||||| |C460|2D|02|202321||||||| |C460|2D|02|202322||||||| |C490|000|5102|0,00|0,03|0,03|0,00|| |C405|11022011|003|001299|202534|3192295,99|6116,50| |C420|02T1200|1245,11|02|| |C420|04T2500|109,01|04|| |C420|F1|937,99||| |C420|I1|947,44||| |C420|Can-T|76,98||| |C460|2D|00|202326|11022011|465,92||||| |C470|00000000000013|17,04|0|KG|27,09|040|5102|0,00|0,00|0,00| |C470|00000000000365|1|0|CX|1,00|000|5102|17,00|0,00|0,00| |C470|07501009224174|1|0|UN|3,75|060|5102|0,00|0,00|0,00| |C470|07893000042094|1|0|UN|11,99|000|5102|17,00|0,00|0,00| |C470|00000000000042|5,066|0|KG|43,56|000|5102|17,00|0,00|0,00| |C470|00000000000757|7,005|0|KG|43,78|020|5102|12,00|0,00|0,00| |C470|00000000000040|0,722|0|KG|7,47|000|5102|17,00|0,00|0,00| |C470|00000000000134|1,09|0|KG|12,48|000|5102|17,00|0,00|0,00| |C470|00000000000087|0,544|0|KG|9,22|000|5102|17,00|0,00|0,00| |C470|00000000000087|0,572|0|KG|9,69|000|5102|17,00|0,00|0,00| |C470|07898022500089|2|0|UN|9,10|000|5102|17,00|0,00|0,00| |C470|07898022500010|2|0|UN|4,50|000|5102|17,00|0,00|0,00| |C470|07898022500119|3|0|UN|8,97|000|5102|17,00|0,00|0,00| |C470|07898022500140|3|0|UN|8,40|000|5102|17,00|0,00|0,00| |C470|07898912405081|1|0|UN|2,75|040|5102|0,00|0,00|0,00| |C470|07896948100123|2|0|UN|7,50|040|5102|0,00|0,00|0,00| |C470|07891080000300|1|0|UN|2,33|060|5102|0,00|0,00|0,00| |C470|07891080000300|1|0|UN|2,33|060|5102|0,00|0,00|0,00| |C470|07897276900546|5|0|UN|12,45|020|5102|12,00|0,00|0,00| |C470|07898390620013|8|0|UN|15,92|020|5102|12,00|0,00|0,00| |C470|07898245530016|2|0|UN|4,30|040|5102|0,00|0,00|0,00| |C470|07898219640017|3|0|UN|6,30|040|5102|0,00|0,00|0,00| |C470|07898138980010|2|0|UN|4,58|060|5102|0,00|0,00|0,00| |C470|07896264600796|10|0|UN|13,80|060|5102|0,00|0,00|0,00| |C470|07891091011913|2|0|UN|5,50|020|5102|12,00|0,00|0,00| |C470|07898050580053|3|0|UN|8,25|000|5102|17,00|0,00|0,00| |C470|07898903594305|1|0|UN|8,25|000|5102|17,00|0,00|0,00| |C470|00000000000380|3|0|UN|14,97|000|5102|17,00|0,00|0,00| |C470|07896183000417|1|0|UN|2,60|000|5102|17,00|0,00|0,00| |C470|07896183000417|1|0|UN|2,60|000|5102|17,00|0,00|0,00| |C470|07896036090244|6|0|UN|19,14|020|5102|12,00|0,00|0,00| |C470|07896051131069|1|0|UN|2,95|000|5102|17,00|0,00|0,00| |C470|07898936717016|1|0|UN|4,80|000|5102|17,00|0,00|0,00| |C470|07896283002205|1|0|UN|3,99|000|5102|17,00|0,00|0,00| |C470|07898936717030|1|0|UN|2,85|000|5102|17,00|0,00|0,00| .... |C400|2D|MP-2100 TH FI|BE05100000000000|005| |C405|11022011|001|000003|000204|4950,62|4950,44| |C420|01T1700|2095,91|01|| |C420|02T1200|1055,45|02|| |C420|F1|1020,77||| |C420|I1|519,73||| |C420|Can-T|209,37||| |C460|2D|00|000024|11022011|401,38||||| |C470|07892840800406|2|0|UN|3,78|060|5102|0,00|0,00|0,00| |C470|07891991002561|2|0|UN|3,78|060|5102|0,00|0,00|0,00| |C470|00000000000093|2,425|0|KG|13,55|020|5102|12,00|0,00|0,00| |C470|00000000000037|1,11|0|KG|19,96|000|5102|17,00|0,00|0,00| |C470|00000000000086|1,33|0|KG|10,30|020|5102|12,00|0,00|0,00| |C470|00000000000065|1|1|KG|6,65|000|5102|17,00|0,00|0,00| |C470|00000000000065|1,26|0|KG|8,37|000|5102|17,00|0,00|0,00| |C470|00000000000056|1,015|0|KG|14,86|020|5102|12,00|0,00|0,00| |C470|00000000000052|1,035|0|KG|7,95|000|5102|17,00|0,00|0,00| |C470|00000000000056|1,07|0|KG|15,67|020|5102|12,00|0,00|0,00| |C470|00000000000046|1,33|0|KG|5,97|000|5102|17,00|0,00|0,00| |C470|00000000000056|1,35|0|KG|19,77|020|5102|12,00|0,00|0,00| |C470|00000000000641|1,5|0|KG|9,73|020|5102|12,00|0,00|0,00| |C470|00000000000049|0,64|0|KG|5,60|000|5102|17,00|0,00|0,00| |C470|00000000000001|0,93|0|KG|1,95|040|5102|0,00|0,00|0,00| |C470|00000000000013|2,41|0|KG|3,83|040|5102|0,00|0,00|0,00| |C470|00000000000014|0,815|0|KG|2,35|000|5102|17,00|0,00|0,00| |C470|00000000000010|1,505|0|KG|3,37|040|5102|0,00|0,00|0,00| |C470|00000000000011|0,755|0|KG|1,50|040|5102|0,00|0,00|0,00| |C470|00000000000030|0,385|0|KG|2,02|000|5102|17,00|0,00|0,00| |C470|00000000000021|1,425|0|KG|3,97|040|5102|0,00|0,00|0,00| |C470|00000000000008|1,545|0|KG|2,08|040|5102|0,00|0,00|0,00| |C470|07896213000189|5|0|UN|4,65|060|5102|0,00|0,00|0,00| |C470|07891152321197|3|0|UN|5,97|060|5102|0,00|0,00|0,00| |C470|07898366930023|3|0|UN|2,97|020|5102|12,00|0,00|0,00| |C470|07898080640222|5|0|UN|6,25|000|5102|17,00|0,00|0,00| |C470|07891000011287|1|0|UN|7,49|000|5102|17,00|0,00|0,00| |C470|07898327050074|1|0|UN|5,99|000|5102|17,00|0,00|0,00| |C470|07891008367027|1|0|UN|11,99|000|5102|17,00|0,00|0,00| |C470|07891152222456|3|0|UN|5,22|060|5102|0,00|0,00|0,00| |C470|07896012300268|1|0|UN|3,59|020|5102|12,00|0,00|0,00| |C470|07897276900546|1|0|UN|2,49|020|5102|12,00|0,00|0,00| |C470|07891152333084|3|0|UN|8,25|060|5102|0,00|0,00|0,00| |C470|07891152223149|2|0|UN|4,50|060|5102|0,00|0,00|0,00| |C470|07891152222142|1|0|UN|2,65|060|5102|0,00|0,00|0,00| |C470|07898080640413|3|0|UN|6,87|000|5102|17,00|0,00|0,00| |C470|07891000032428|1|0|UN|5,55|000|5102|17,00|0,00|0,00| |C470|07891000009437|1|0|UN|3,99|000|5102|17,00|0,00|0,00| ... |C990|86588| |D001|1| |D990|2| |E001|1| |E990|2| |G001|1| |G990|2| .... |H990|4267| |1001|1| |1990|2| |9001|0| |9900|0000|1| |9900|0001|1| |9900|0005|1| |9900|0100|1| |9900|0190|5| |9900|0200|4264| |9900|0500|1| |9900|0990|1| |9900|C001|1| |9900|C100|138| |9900|C170|45| |9900|C190|121| |9900|C400|4| |9900|C405|46| |9900|C410|18| |9900|C420|250| |9900|C460|11494| |9900|C470|74055| |9900|C490|415| |9900|C990|1| |9900|D001|1| |9900|D990|1| |9900|E001|1| |9900|E990|1| |9900|G001|1| |9900|G990|1| |9900|H001|1| |9900|H005|1| |9900|H010|4264| |9900|H990|1| |9900|1001|1| |9900|1990|1| |9900|9001|1| |9900|9900|36| |9900|9990|1| |9900|9999|1| |9990|39| |9999|95177|












