Prezados, estamos finalizando o código para importação do arquivo do SPED Contribuições para o componente da ACBr, na medida do possível estamos tentando seguir o padrão, mas é claro que algumas adaptações sejam necessárias, além dos testes em outras versões e no Lazarus, estamos abrindo o post para estar enviando futuramente e para informar e tirar algumas dúvidas nossas, além de evitar que alguém inicie esse trabalho agora já que estamos realizado.
o arquivo ACBrEPCBloco_C e *_Class receberam os registros 800,810,820,830,860,870,880,890 para que a importação já fique atualizada com o novo padrão (o comando Write não foi elaborado).
o arquivo ACBrEPCBlocos.pas recebeu até agora 13 novas funções de conversão de string para outro formato.
O motivo do componente é a integração com outros filiais utilizando o componente do SPED PIS COFINS da ACBr, e a possibilidade de somar blocos M etc... sem muito esforço.
Aproveitando o tópico gostaria de verificar se esses registros não são necessários pois não encontrei no bloco F da ACBr: F559, F519, F509, F569.
Obrigado.
ToDoList:
Implementar base da biblioteca
Implementar rotina de leitura do arquivo
Implementar Bloco 0
Implementar Bloco A
Adicionar Blocos C8XX na ACBr (sem write)
Implementar Bloco C
Implementar Bloco D
Adicionar Blocos FXXX9 na ACBr (sem write)
Implementar Bloco F
Implementar Bloco I
Implementar Bloco M
Implementar Bloco P
Implementar Bloco 1
Adicionar evento para leitura das colunas
Adicionar evento para leitura das linhas
Gerar estrutura do componente
Transferir código para Lazarus e testar compatibilidade.
Updates
24-02-2015 - Anexado ao tópico ACBrSPEDPisCofins_24-02-2015_1.Zz - Neste arquivo consta os novos blocos adicionados no C e F como mencionado anteriormente que estavam faltando, porém o procedimento Write não foi criado.
24-02-2015 - Adicionado tarefas pendentes para finalizar componente.
24-02-2015 - Finalizado Bloco M
24-02-2015 - Finalizado Blocos P e 1
24-02-2015 - [Corrigido] Registro 0000 o campo IND_NAT_PJ não deve ser um campo obrigatório, nos arquivos de teste foi identificado essa diferença depois de importado.
24-02-2015 - [Corrigido] Registro 0100 o campo FAX quando preenchido em branco, apresenta valor "0000000000" em vez de "Vazio".
24-02-2015 - [Corrigido] Campo ALIQ_ICMS no Registro 0200 deve ser do tipo "Variant", segundo o manual o campo não deve ser preenchido quando o cadastro do produto for por gênero (ativo imobilizado, por exemplo).
24-02-2015 - Adicionado arquivo com todas as implementações referente ao componente já existente ACBrSpedPisCofins, pronto para analisar e subir (ACBrSPEDPisCofins_24-02-2015_2.7z)
24-02-2015 21:55 - Adicionado evento para interceptar troca de linhas e o processamento de cada coluna, podendo esses valores serem interceptados e alterados antes de serem adicionados no componente ACBrSPEDPisCofins.
25-02-2015 - Componente finalizado (ACBRSpedPCImportar.7z). Arquivo disponibilizado, porém é necessário o arquivo _2 anteriormente enviado.
ATENÇÃO ! Não baixe mais esses arquivos, o componente já foi finalizado, subido no repositório do projeto ACBr, além de já ter sofrido alteração e correções como mencionado nas respostas abaixo.
ACBrSPEDPisCofins_24-02-2015_2.7z
ACBRSpedPCImportar.7z