Jump to content

Promoção de Natal SAC Mensal

Contrate e ganhe 1 Kit agenda + Caneta
Saiba mais

LANÇAMENTO
Curso Completo - Dominando o ACBrMonitor

Conheça o Curso

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Leivio Fontenele

ANSWERED ACBrReinf - Fontes

Recommended Posts

Bom dia Pessoal,

Segue em anexo os fontes do ACBrReinf.

Eventos Implementados e testados:


1. R-1000 - Informações do Empregador/Contribuinte
2. R-1070 - Tabela de Processos Administrativos/Judiciais
3. R-2010 – Retenção Contribuição Previdenciária - Serviços Tomados
4. R-2020 – Retenção Contribuição Previdenciária - Serviços Prestados
7. R-2098 – Reabertura dos Eventos Periódicos
8. R-2099 – Fechamento dos Eventos Periódicos
9. R-9000 – Exclusão de Eventos

Faltando os eventos: (Não fiz por que o negocio não tem demanda para esse tipo de evento. mais caso alguém precise da pra fazer.)

  5. R-2030 – Recursos Recebidos por Associação Desportiva 
  6. R-2040 – Recursos Repassados para Associação Desportiva

 

-> Units do core do ACBr modificadas:

ACBrDFeUtil.pas

- Incluido no SignatureElement as tags necessárias para assinatura SHA256.

     function SignatureElement(const URI: String; AddX509Data: Boolean; IdSignature: String = ''; Asha256: Boolean = False): String;

ACBrDFeSSL.pas

- Criação de uma propriedade "property SSLDgst: TSSLDgst read FSSLDgst write FSSLDgst;" na TDFeSSL para informar o tipo de "Method Algorithm" a ser usado. Por padrão será SHA1.

- no metodo TDFeSSLXmlSignClass.AdicionarSignatureElement na chamada do SignatureElement e passado a propriedade "FpDFeSSL.FSSLDgst" do tipo a ser usado( ver Abaixo)

  Result := copy(ConteudoXML, 1, I - 1) + SignatureElement(URI, AddX509Data, IdSignature, FpDFeSSL.FSSLDgst = dgstSHA256) + TagEndDocElement;

ACBrDFeXsXmlSec.pas

- Incluido uma diretiva "REINF" para seleção do DTD para ser usado no REINF. O Projeto do REINF não segui o padrão do Id. (Isso pode mudar em versões futuras do REINF) .

  {$IFDEF REINF}
  cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& id ID #IMPLIED>]>';
  {$ELSE}
  cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& Id ID #IMPLIED>]>';
  {$ENDIF}

Espero que ajude e traga mais força ao projeto.

obs.: Tentei seguir ao máximo a implementação atual do ACBR (Delphi > 2009). porem não testei em FPC.

obs.: Para listas usei Generics haja vista que estou seguindo Delphi 2010 ou superior.

obs.: Antes que perguntem: Vou publicar os fontes do eSocial em outro tópico.

No aguardo da avaliação @Juliomar Marchetti  @EMBarbosa

Abraços.

ACBrReinf.zip

Edited by Leivio Fontenele
  • Like 1
  • Thanks 4

Share this post


Link to post
Share on other sites

Olá Leivio,

uma dúvida, não trabalho com Delphi ou Lazarus.

Vai ter a opção de eu gerar no meu sistema o XML, e eu enviar comando para o Acbr via TXT para pegar o arquivo meu gerado e enviar ao webservice e me dar retorno?

Share this post


Link to post
Share on other sites

calma que você está falando de outra coisa aqui.

Está falando do ACBrMonitorPLUS.

ainda tem que ser subido o componente, validado e então será visto se ele será ou não incorporado do Monitor.


Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP

Share this post


Link to post
Share on other sites
Em 25/08/2017 at 10:13, Leivio Fontenele disse:

Bom dia Pessoal,

Segue em anexo os fontes do ACBrReinf.

Eventos Implementados e testados:


1. R-1000 - Informações do Empregador/Contribuinte
2. R-1070 - Tabela de Processos Administrativos/Judiciais
3. R-2010 – Retenção Contribuição Previdenciária - Serviços Tomados
4. R-2020 – Retenção Contribuição Previdenciária - Serviços Prestados
7. R-2098 – Reabertura dos Eventos Periódicos
8. R-2099 – Fechamento dos Eventos Periódicos
9. R-9000 – Exclusão de Eventos

Faltando os eventos: (Não fiz por que o negocio não tem demanda para esse tipo de evento. mais caso alguém precise da pra fazer.)

  5. R-2030 – Recursos Recebidos por Associação Desportiva 
  6. R-2040 – Recursos Repassados para Associação Desportiva

 

-> Units do core do ACBr modificadas:

ACBrDFeUtil.pas

- Incluido no SignatureElement as tags necessárias para assinatura SHA256.

     function SignatureElement(const URI: String; AddX509Data: Boolean; IdSignature: String = ''; Asha256: Boolean = False): String;

ACBrDFeSSL.pas

- Criação de uma propriedade "property SSLDgst: TSSLDgst read FSSLDgst write FSSLDgst;" na TDFeSSL para informar o tipo de "Method Algorithm" a ser usado. Por padrão será SHA1.

- no metodo TDFeSSLXmlSignClass.AdicionarSignatureElement na chamada do SignatureElement e passado a propriedade "FpDFeSSL.FSSLDgst" do tipo a ser usado( ver Abaixo)

  Result := copy(ConteudoXML, 1, I - 1) + SignatureElement(URI, AddX509Data, IdSignature, FpDFeSSL.FSSLDgst = dgstSHA256) + TagEndDocElement;

ACBrDFeXsXmlSec.pas

- Incluido uma diretiva "REINF" para seleção do DTD para ser usado no REINF. O Projeto do REINF não segui o padrão do Id. (Isso pode mudar em versões futuras do REINF) .

  {$IFDEF REINF}
  cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& id ID #IMPLIED>]>';
  {$ELSE}
  cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& Id ID #IMPLIED>]>';
  {$ENDIF}

Espero que ajude e traga mais força ao projeto.

obs.: Tentei seguir ao máximo a implementação atual do ACBR (Delphi > 2009). porem não testei em FPC.

obs.: Para listas usei Generics haja vista que estou seguindo Delphi 2010 ou superior.

obs.: Antes que perguntem: Vou publicar os fontes do eSocial em outro tópico.

No aguardo da avaliação @Juliomar Marchetti  @EMBarbosa

Abraços.

ACBrReinf.zip

Bom dia

Seu código é compatível com o Delphi 7?


Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP

Share this post


Link to post
Share on other sites

Boa tarde Leivio Fontenele,

Neste exemplo do ACBrReinf você conseguiu transmitir algum evento ? Estou desenvolvendo para o Delphi 2010 e em paralelo em .NET mas meus testes sempre retonar <descricao>Versão do lote inválida. Deve ser utilizada a versão 1.01.01.</descricao>

Você passou por isso ?

Share this post


Link to post
Share on other sites
22 horas atrás, Luciano O M disse:

Boa tarde Leivio Fontenele,

Neste exemplo do ACBrReinf você conseguiu transmitir algum evento ? Estou desenvolvendo para o Delphi 2010 e em paralelo em .NET mas meus testes sempre retonar <descricao>Versão do lote inválida. Deve ser utilizada a versão 1.01.01.</descricao>

Você passou por isso ?

Sim, todos os eventos especificados acima foram transmitidos sem problemas.

Esse seu erro deve ser a especificação na mensagem SOAP.  "<Reinf xmlns="http://www.reinf.esocial.gov.br/schemas/envioLoteEventos/v1_01_01">"

 

Segue em anexo uma msg de envio valida para comparação.

E_Reinf_Soap-175429_9.xml

Em 11/09/2017 at 09:52, Juliomar Marchetti disse:

Bom dia

Seu código é compatível com o Delphi 7?

Não é compatível com Delphi 7. Porque uso Generics "TObjectList<T>" para coleção de objetos. Porem para se torna compatível as modificações não são tão grandes.

Share this post


Link to post
Share on other sites

Não podemos aceitar... sem a compatibilidade com o D7... isso quebraria a compilação do ACBr para muita gente, que atualmente usa o Projeto...

Acho que o código pode ser ajustado para TObjectList, ou TCollection. assim como nos demais componentes do ACBr..

  • Like 2

Consultor SAC ACBr

Daniel Simões de Almeida
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites

Parabéns a todos ! 

Testei com D7 , parabéns ao pessoal que desenvolveu ficou show, (pena que tive que fazer aqui em java) enviei o S1000 e peguei resposta com esse exemplo do @Leivio Fontenele, ficou legal... vamos ver se agora com mais tempo e com as coisas já encaminhadas eu consigo ajudar em alguma coisa ... 

 

 

 

Share this post


Link to post
Share on other sites
Em 22/09/2017 at 17:05, JOAO MARCOS Rueda disse:

Parabéns a todos ! 

Testei com D7 , parabéns ao pessoal que desenvolveu ficou show, (pena que tive que fazer aqui em java) enviei o S1000 e peguei resposta com esse exemplo do @Leivio Fontenele, ficou legal... vamos ver se agora com mais tempo e com as coisas já encaminhadas eu consigo ajudar em alguma coisa ... 

 

 

 

 

Em 26/09/2017 at 09:22, Osman Filho disse:

Não Estou conseguindo rodar no Delphi XE2, Faltando uma função ISO8601ToDate não tem em System.DateUtils

Também não consegui compilar o exemplo do Leivio no delphiXE2, então eu comentei a linha e depois em outra linha eu tirei a função ISO8601ToDate , desta forma não deu mais erro.

//        Evento.dadosRecepcaoEvento.dhProcessamento := ISO8601ToDate(Reader.rCampo(tcStr, 'dhProcessamento',''));
        Evento.dadosRecepcaoEvento.dhProcessamento := Reader.rCampo(tcStr, 'dhProcessamento','');
 

Share this post


Link to post
Share on other sites

eu iria comprar o componente do tecnospeed , mas apos essa otima informacao vou gastar esse dinheiro pagando o sac mensalmente.

O q achei legal do componente deles e a parte de auditoria que antes de enviar pra sefaz faz analise dos codigos st icms ipi pis e cofins

 

Jeferson

Share this post


Link to post
Share on other sites

Boa tarde

Acho difícil pois dai estaríamos trazendo responsabilidade para o Projeto onde o mesmo não se mantém e nem tem um contrato com as software houses para cobrir qualquer erro ou engano de legislação.


Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP

Share this post


Link to post
Share on other sites
Em 25/08/2017 at 10:13, Leivio Fontenele disse:

Bom dia Pessoal,

Segue em anexo os fontes do ACBrReinf.

Eventos Implementados e testados:


1. R-1000 - Informações do Empregador/Contribuinte
2. R-1070 - Tabela de Processos Administrativos/Judiciais
3. R-2010 – Retenção Contribuição Previdenciária - Serviços Tomados
4. R-2020 – Retenção Contribuição Previdenciária - Serviços Prestados
7. R-2098 – Reabertura dos Eventos Periódicos
8. R-2099 – Fechamento dos Eventos Periódicos
9. R-9000 – Exclusão de Eventos

Faltando os eventos: (Não fiz por que o negocio não tem demanda para esse tipo de evento. mais caso alguém precise da pra fazer.)

  5. R-2030 – Recursos Recebidos por Associação Desportiva 
  6. R-2040 – Recursos Repassados para Associação Desportiva

 

-> Units do core do ACBr modificadas:

ACBrDFeUtil.pas

- Incluido no SignatureElement as tags necessárias para assinatura SHA256.

     function SignatureElement(const URI: String; AddX509Data: Boolean; IdSignature: String = ''; Asha256: Boolean = False): String;

ACBrDFeSSL.pas

- Criação de uma propriedade "property SSLDgst: TSSLDgst read FSSLDgst write FSSLDgst;" na TDFeSSL para informar o tipo de "Method Algorithm" a ser usado. Por padrão será SHA1.

- no metodo TDFeSSLXmlSignClass.AdicionarSignatureElement na chamada do SignatureElement e passado a propriedade "FpDFeSSL.FSSLDgst" do tipo a ser usado( ver Abaixo)

  Result := copy(ConteudoXML, 1, I - 1) + SignatureElement(URI, AddX509Data, IdSignature, FpDFeSSL.FSSLDgst = dgstSHA256) + TagEndDocElement;

ACBrDFeXsXmlSec.pas

- Incluido uma diretiva "REINF" para seleção do DTD para ser usado no REINF. O Projeto do REINF não segui o padrão do Id. (Isso pode mudar em versões futuras do REINF) .

  {$IFDEF REINF}
  cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& id ID #IMPLIED>]>';
  {$ELSE}
  cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& Id ID #IMPLIED>]>';
  {$ENDIF}

Espero que ajude e traga mais força ao projeto.

obs.: Tentei seguir ao máximo a implementação atual do ACBR (Delphi > 2009). porem não testei em FPC.

obs.: Para listas usei Generics haja vista que estou seguindo Delphi 2010 ou superior.

obs.: Antes que perguntem: Vou publicar os fontes do eSocial em outro tópico.

No aguardo da avaliação @Juliomar Marchetti  @EMBarbosa

Abraços.

ACBrReinf.zip

Olá Leivio,

Gostaria de saber como está o projeto ACBR REINF.

Você está mexendo nos fontes ainda?

Tem algo que eu poderia ajudar?

Estou  com pressa para ter o componente funcionando.

Obrigado.

Share this post


Link to post
Share on other sites

Boa tarde @Leivio Fontenele e @Juliomar Marchetti,

Compatibilizei o fonte com o Delphi 7 para iniciar o desenvolvimento e testes aqui no sistema.
Falta testar a transmissão porque estou sem certificado no momento.

1. Mantidos os códigos originais utilizando {$IFDEF COMPILER14_UP};

2. Criadas classes com TObjectList, no padrão do ACBr, para suprir as situações das listas com Generics;

3. No ACBrReinfWebServices, não encontrei alternativa ainda para o ISO8601ToDate. Para o UTF8ToString, utilizei o UTF8ToAnsi;
 

Abraççç,

ACBrReinfD7UP.rar

  • Like 2

 

Renato Rubinho
Analista de Sistemas

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...