Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3314 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

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

Editado por Data Lider
  • Curtir 3

 www.datalider.com.br - [email protected] - Macgayver Armini

 

Postado

Olá, quero parabeniza-los pela iniciativa, e que após a disponibilização iremos analisar o ponto citado por você sobre as adaptações, pois esses componentes são puramente pascal sendo compatíveis tanto com Delphi e Lazarus,

 

Sobre os registros do Bloco F, são sim necessários eles fazem parte do manual, só não estão implementados ainda.

 

Ficamos no aguardo para analise.

  • Curtir 1

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Postado

Prezados, gostaria de pedir a ajuda de vocês, poderiam encaminhar algum arquivo do SPED Contribuições que utilizem blocos menos usados, ou de situações muito específicas, o arquivo será utilizado para o teste de consistência de alguns registros.

 

Quando as informações dos clientes, acredito que apenas o bloco de identificação da empresa (Reg0100) e contador (Reg0140) e todos os registros "?010" que identifica o CNPJ da empresa seja necessário alterar, caso isso seja um problema para quem tiver o arquivo.

 

O teste é realizado da seguinte forma, importamos o arquivo, depois pedimos para o componente da ACBr gerar novamente o arquivo, então com o aplicativo "TortoiseMerge.exe" (Esse aplicativo faz parte da instalação do TortoiseSVN) verificamos se houve diferença significativa, assim identificando qualquer erro no código de importação.

  • Curtir 1

 www.datalider.com.br - [email protected] - Macgayver Armini

 

  • 1 mês depois ...
  • Consultores
Postado (editado)

Componente Finalizado.

 

Olá Data Lider,

 

   Eu não estou conseguindo descompactar o seguinte arquivo zip.gif  ACBrSPEDPisCofins_24-02-2015_2.7z.

Será que você poderia verificar por favor?

 

EDIT: Deixa pra lá. Já consegui. Era um problema no WinRAR. Utilizando o 7zip deu certo.

Editado por EMBarbosa
  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Consultores
Postado

Se precisar de alguma alteração e não dispor de tempo, estamos a disposição.

Eu subi as alterações do componente ACBrSPEDPISCONFINS para o SVN hoje. Na verdade eu gostaria que você verificasse se ficaram alterações para trás. No caso se identificar alguma coisa, explicasse o que faltou e o motivo das alterações. Pois notei algumas modificações no código que você não explicou ali a cima.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado (editado)

Sim, eu verifiquei e realmente as conversões dos tipos não foram enviadas, vou tentar explicar os motivos.

 

  1. Algumas funções que existem ACBrEPCBlocos fazem a conversão do tipo "TACBrX" para string, porém não existe a função inversa, que converte string para "TACBrX".
  2. Algumas funções são tratadas como índice durante a conversão, porém quando é realizada a leitura diretamente do arquivo texto, e tento converter para a classe "TACBrX" a informação vem com um índice incorreto.

Agora, como exemplo para o item 2º temos o seguinte código:

var
  Tipo: TACBrIndNatPJ;
  Tipo2: TACBrIndNatPJ;
const
  IndNat = '04'; //Sociedade Cooperativa Participante SCP
begin
  Tipo := StrToIndNatPJ(IndNat); //Retorno: Geral participante de SCP (03)
  Tipo2 := StrToIndNatPJImporta(IndNat); // Retorno: Sociedade Cooperativa Participante SCP (04)
end;

A função StrToIndNatPJImporta é uma do conjunto novo de funções de conversões que foram criadas, nem todas funções estão preparadas para trazer a informação do arquivo texto.

 

Set de funções novas para as situações acima:

 

  • function StrToIndCodIncidencia(const AValue: string): TACBrIndCodIncidencia;

    function StrToIndMov(const AValue: string): TACBrIndMov;

    function StrToNaturezaConta(const AValue: string): TACBrNaturezaConta;

    function StrToIndCTA(const AValue: string): TACBrIndCTA;

    function StrToOrigemProcesso(const AValue: string): TACBrOrigemProcesso;

    function StrToLocalExecServico(const AValue: string): TACBrLocalExecServico;

    function StrToIndEscrituracao(const AValue: string): TACBrIndEscrituracao;

    function StrToEmitente(const AValue: string): TACBrEmitente;

    function StrToDoctoImporta(const AValue: string): TACBrDoctoImporta;

    function StrToApuracaoIPI(const AValue: string): TACBrApuracaoIPI;

    function StrToNaturezaFrtContratado(const AValue: string): TACBrNaturezaFrtContratado;

    function StrToIndRec(const AValue: string): TACBrIndRec;

    function StrToIndTpOperacaoReceita(const AValue: string): TACBrIndTpOperacaoReceita;

    function StrToInd_Rec(const AValue: string):TACBrInd_Rec;

    function StrToIndNatRetFonte(const AValue: string):TACBrIndNatRetFonte;

    function StrToIndNatRec(const AValue: string):TACBrIndNatRec;

    function StrToIndOrigemDiversas(const AValue: string):TACBrIndOrigemDiversas;

    function StrToIndNatDeducao(const AValue: string):TACBrIndNatDeducao;

    function StrToCodCred(const AValue: string): TACBrCodCred;

    function StrToIndAJ(const AValue: string):TACBrIndAJ;

    function StrToCodAj(const AValue: string): TACBrCodAj;

    function StrToCodCont(const AValue: string): TACBrCodCont;

    function StrToIndTipCoop(const AValue: string): TACBrIndTipCoop;

    function StrToNatCredDesc(const AValue: string): TACBrNatCredDesc;

    function StrToIndCredOri(const AValue: string):TACBrIndCredOri;

    function StrToIndDescCred(const AValue: string):TACBrIndDescCred;

    function StrToIndNatPJImporta(const AValue: string): TACBrIndNatPJ;

 

Talvez seja mais interessante remover elas desse arquivo, e adicionar em um novo arquivo no componente de importação, ou não, a decisão é de vocês.

Editado por Data Lider

 www.datalider.com.br - [email protected] - Macgayver Armini

 

  • Consultores
Postado

Obrigado por ser claro e objetivo. Eu entendi perfeitamente.

Acho que vou deixar nesse arquivo mesmo, pelo menos até segunda ordem.

Tem mais alguma coisa no componente ACBrSPEDPisCofins que ficou pra trás?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado

Pode deixar no arquivo ACBrEPCBlocos.pas mesmo, as que não tiver conversões vice versa podem ser criadas, num segundo passo poderemos analisar as funções de conversões que são padrão entre os Speds, tomando assim uma decisão de padronizar em uma unica unit essas funções padrões.

  • Curtir 1

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Postado

Obrigado por ser claro e objetivo. Eu entendi perfeitamente.

Acho que vou deixar nesse arquivo mesmo, pelo menos até segunda ordem.

Tem mais alguma coisa no componente ACBrSPEDPisCofins que ficou pra trás?

 

Não, somente isso mesmo.

 www.datalider.com.br - [email protected] - Macgayver Armini

 

Postado

Boa noite,

 

Baixei os fontes do importador do SPED, porém não estou conseguindo fazer a instalação do componente no meu Delphi. Tem muitas dependências de arquivos que o dpk não está encontrando. Tem algum passo a passo de como devo proceder para instalar este componente.

 

Obrigado.

 

Outra coisa. Quando teremos essa opção de importação dentro do ACBr padrão?

Postado (editado)

Está dando erro dizendo que não encontra o arquivo ACBrSpedUtils.dcu. E realmente procurei nas pastas do ACBr e não existe um ACBrSpedUtils.pas.

 

Prezado, ACBrSpedUtils esse arquivo em nenhum momento é mencionado nas uses do projeto de importação, lembrando que o projeto de importação está para ser adicionado ainda na acbr, claro que isso não impede você de utilizar, tem como você ser mais específico quando a mensagem de erro ?

 

Acabei de fazer uma pesquisa minuciosa aqui na minha máquina, esse arquivo não existe na minha pasta de códigos fontes, como também não existe na pasta do projeto ACBr.

Editado por Data Lider

 www.datalider.com.br - [email protected] - Macgayver Armini

 

  • Consultores
Postado

Enviei ao SVN a contribuição. Favor testarem.

Não consegui instalar o pacote no Lazarus. Deve precisar de algum ajuste. Só que Lazarus ainda não é meu forte. :(

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado

Só gostaria de sugerir que o nomes das units, seguissem o padrão, ao invés de ACBrSpedPCImportar_Bloco0.pas fosse ACBrEPCBloco_0_Importa.pas, e assim por diante, se possível claro.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

  • Consultores
Postado

Só gostaria de sugerir que o nomes das units, seguissem o padrão, ao invés de ACBrSpedPCImportar_Bloco0.pas fosse ACBrEPCBloco_0_Importa.pas, e assim por diante, se possível claro.

 

Por mim tudo bem.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado

Obrigado. 

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Postado

Baixei os arquivos SVN, mas quando tento reinstalar o ACBrSPED.dpk (através do instalador) dá os seguintes erros:

 

C:\ACBr\Fontes\ACBrSPED\ACBrSPEDContabil\ACBrECDBloco_0_Class.pas(390) Error: E2003 Undeclared identifier: 'Result'

C:\ACBr\\Pacotes\Delphi\ACBrSPED\ACBr_SPED.dpk(38) Fatal: F2063 Could not compile used unit 'ACBrECDBloco_0_Class.pas'

Postado

Corrigido e já disponível no Rep.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Postado

Ok, obrigado Isaque.

 

A instalação funcionou perfeitamente agora. Mas tem um problema. Eu instalei o pacote de importação manualmente (já que o instalador não tem ele). A instalação do pacote ocorreu tudo certo (tirando os milhares de warning que tem). 

Ai então criei uma aplicação para testar a leitura do arquivo e quando vou compilar dá os seguintes erros:

 

[dcc32 Hint] ACBrSpedPCImportar_Base.pas(58): H2219 Private symbol 'Inicializa' declared but never used
[dcc32 Error] ACBrSpedPCImportar_BlocoC.pas(876): E2010 Incompatible types: 'Integer' and 'string'
[dcc32 Error] ACBrSpedPCImportar_BlocoC.pas(879): E2003 Undeclared identifier: 'DOC_FIN'
[dcc32 Fatal Error] ACBrSpedPCImportar.pas(55): F2063 Could not compile used unit 'ACBrSpedPCImportar_BlocoC.pas'
 
O estranho que na instalação do pacote isso não ocorre. Será que é alguma coisa com as referências na Library do Delphi?
 
Sabes o que pode ser
Postado

Bom dia, esse componente é novo, terá que sobre alguns ajustes, além se receber nomes no padrão ACBr, tanto das Units quanto do pacote, já foi passado para quem esta a frente do desenvolvimento, assim que esses passos forem dado, eu adiciono a instalação dele no ACBrInstall.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Postado

Bom dia Elton, na mudança dos nomes da Units mude também o nome do pacote para "ACBrEPC_Importa", assim que subir essas alterações, adiciono ele ao ACBrInstall.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

  • Este tópico foi criado há 3314 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.