Pesquisar na Comunidade
Showing results for tags 'sped contabil'.
Encontrado 3 registros
-
Boa tarde, Desenvolvido Bloco_K. Obs: Atenção, pois nos manuais da v5 disponibilizados até 05/2017, os Registros K200 e K210 estão com o nível hierárquico errado. CERTO - VALIDADOR ------------------- 1:K001 2: K030 3: K100 4: K110 5: K115 3: K200 -- NIVEL 3 CERTO 4: K210 -- NIVEL 4 CERTO 3: K300 4: K310 5: K315 1:K990 ERRADO - MANUAL ---------------- 1:K001 2: K030 3: K100 4: K110 5: K115 2: K200 -- NIVEL 2 ERRADO 3: K210 -- NIVEL 3 ERRADO 3: K300 4: K310 5: K315 K990 Renato Rubinho Analista de Sistemas http://linkedin.com.br/in/renatorubinho ACBrSpedContabil.pas ACBrECDBloco_K_Class.pas ACBrECDBloco_K.pas
- 2 replies
-
- 2
-
- sped contabil
- ecd
-
(e 1 mais)
Tags:
-
Bom dia pessoal! Estou com o seguinte problema na empresa em que trabalho: - Geramos o SPED Contábil para um cliente que possui muitas movimentações, assim os blocos I200 e I250 chegam a ter 2 milhões de registros. Ao gerar o SPED de 12 meses, em cerca de 50 minutos ocorre o estouro de memória. Debugando as units, identifiquei que o problema ocorre na hora de carregar as informações para a StringList, exatamente na função SaveStringList, na unit ACBrSpedContabil, quando carrega os registros na chamada : if Bloco_I.RegistroI200.Count > 0 then AStringList.Add(Trim(WriteRegistroI200)); Para resolver este problema aqui na empresa, por enquanto, alterei a forma de salvar: em vez da StringList, estou utilizando um arquivo txt, que a cada linha informada do bloco I200 eu salvo no arquivo txt. Não validamos aqui todas as informações do arquivo, mas a estrutura do arquivo já está ok. Existe alguma alteração e/ou correção para este ponto? Ou alguém que utiliza a mesma rotina e tem um volume parecido de informações, já passou por isso? O PC que utilizamos para teste é um Dell Vostro - Pentium Dual Core - 3 GB de Ram. Desde já agradeço a atenção de todos.
-
Na function TBloco_0.WriteRegistro0000 que fica na unit ACBrECDBloco_0_Class está retornando desse forma: Result := LFill('0000') + LFill('LECD') + LFill(DT_INI) + LFill(DT_FIN) + LFill(NOME) + LFill(CNPJ) + LFill(UF) + LFill(IE) + LFill(COD_MUN, 7) + LFill(IM) + LFill(IND_SIT_ESP, 1) + Delimitador + #13#10; E dessa forma o campo IND_SIT_ESP se estiver em branco, ele vai para o Sped como '0'. Este campo deve deve receber o valor de 0 até 4 apenas se houve uma situação especial, caso contrário, deverá ficar "vazio"n conforme exemplificado na página 33 do manual do sped (http://www1.receita.fazenda.gov.br/sistemas/sped-contabil/download/Manual_de_Orientacao_da_ECD.pdf). Ajustei o código para atender a regra e o código ficou assim: Result := LFill('0000') + LFill('LECD') + LFill(DT_INI) + LFill(DT_FIN) + LFill(NOME) + LFill(CNPJ) + LFill(UF) + LFill(IE) + LFill(COD_MUN, 7) + LFill(IM) + IND_SIT_ESP + Delimitador + #13#10; Espero com isso, ajudar mais pessoas.