Ir para conteúdo
  • Cadastre-se

dev botao

Erro EFD-REINF


Ver Solução Respondido por Márcio M Gomes,
  • Este tópico foi criado há 2409 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • 2 semanas depois ...
Postado

Bom dia.

A aplicação exemplo do Reinf está me retornando o seguinte erro:

Capturar.PNG.514758a5e13195851927a8b15922ab68.PNG

Debugando, cheguei ao seguinte método:

OBS: Observe as variáveis, a schema está vazia.

Capturar_delphi.thumb.PNG.c89a506cdce631049b449841c987b5f0.PNG

Já atualizei os fontes, reinstalei tudo, baixei schemas atualizados (versão 1.03.00) e nada. :(

Peço a ajuda da comunidade.

Grato.

Márcio M. Gomes

  • Moderadores
Postado
16 minutos atrás, Márcio M Gomes disse:

A aplicação exemplo do Reinf está me retornando o seguinte erro:

Como está a configuração do path dos Schemas?

Funciona se informar SSLXmlSignLib = xsMsXML?

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado
17 minutos atrás, BigWings disse:

Como está a configuração do path dos Schemas?

Funciona se informar SSLXmlSignLib = xsMsXML?

19 minutos atrás, Daniel Simoes disse:

lembrando que xsLibXML2, não suporta Paths de rede, como por exemplo: //SERVIDOR/PastaSchemas... é necessário um Path regular Ex: (C:\Schemas\)

O caminho do schema: C:\ACBR_Atualizado\Exemplos\ACBrDFe\ACBrReinf\Delphi\Schemas).

A variável ArqSchema está OK. Tanto que não dá erro ao atribuir à parser_ctxt.

Com xsMsXML dá a mensagem: "Necessário DigestMethod Algorithm = sha256 -> SSLLib = libOpenSSL."
Não posso utilizar a OpenSSL devido a utilização de Certificado A3.

 

  • Consultores
Postado

Confirma se seu caminho está correto realmente.

O que você postou: C:\ACBR_Atualizado\Exemplos\ACBrDFe\ACBrReinf\Delphi\Schemas

está fora do padrão do componente "..\Acbr\Exemplos\ACBrDFe\Schemas\Reinf"

  • Curtir 2
  • Solution
Postado
3 minutos atrás, Renato Rubinho disse:

Confirma se seu caminho está correto realmente.

O que você postou: C:\ACBR_Atualizado\Exemplos\ACBrDFe\ACBrReinf\Delphi\Schemas

está fora do padrão do componente "..\Acbr\Exemplos\ACBrDFe\Schemas\Reinf"

Rubinho, você me deu uma luz. rsrsrsr.

Na minha pasta "customizada" de schemas, estava faltando o "xmldsig-core-schema.xsd". Coloquei ele lá e funcionou. :)

Grato a todos.

Postado

Bom dia Senhores, existe alguma forma de gerar o XML do Reinf em uma pasta qualquer sem o certificado digital para que posteriormente eu envie o mesmo?

Gostaria de gerar o XML para que eu pudesse validar o mesmo e após enviar o mesmo para a receita, existe essa possibilidade?

  • 2 semanas depois ...
Postado
45 minutos atrás, Felipe Wollmann disse:

Sim, estou conseguindo enviar o evento R2099, mas ainda não encontrei a forma correta de buscar o código de recibo dos eventos.

Para pegar o Recibo e Consultar,  fiz assim:

ACBrReinf.WebServices.EnvioLote.RetEnvioLote.Leitor.Grupo :=  ACBrReinf.WebServices.EnvioLote.RetEnvioLote.Leitor.rExtrai( 1, 'infoTotal') ; ;
Recibo := ACBrReinf.WebServices.EnvioLote.RetEnvioLote.Leitor.rCampo( tcStr, 'nrRecArqBase' ) ;

ACBrReinf.Consultar(Recibo) ;

Não fiz um teste completo ainda devido a equipe que está desenvolvendo o XML (em outro sistema) não ter finalizado ainda.

Espero que ajude.

Att,

 

 

Postado

Boa tarde realmente o exemplo esta comentado e não encontrei as propriedades para capturar os dados do retorno. Há alguma previsão para esta implementação?

 

grato

 

Cleyton

Postado
Em 24/03/2018 at 12:11, Paulo Alves N Junior disse:

Bom dia, só consegui tratar corretamente o retorno dos  eventos quando realizei algumas alterações no código fonte da Unit ACBrReinfWebServices.pas (em anexo). Quando tentei usar da mesma forma que está no fonte de exemplo, não consegui recuperar as informações de retorno, nem as mensagens de inconsistências e nem o número de recibo quando a validação pela Sefaz ocorre com sucesso. Favor analisarem as alterações, as mesmas ocorreram na function TEnvioLote.TratarResposta: Boolean;

 

ACBrReinfWebServices.pas

Boa tarde Paulo estou usando seu exemplo da function TratarResposta: pode me dizer onde você criou o tipo TRetornoLoteEventos? poderia por favor postar a unit da declaração deste tipo?

Postado
16 horas atrás, cleyton44 disse:

Boa tarde realmente o exemplo esta comentado e não encontrei as propriedades para capturar os dados do retorno. Há alguma previsão para esta implementação?

 

grato

 

Cleyton

Analisando o código do componente encontrei um jeito de pegar os retornos das ocorrências e creio que do recibo tbm, por favor me corrijam caso não seja a forma indicada.

TR5001(ACBr_Reinf.WebServices.EnvioLote.RetEnvioLote.evento.Items[0].Evento).EvtTotal.InfoTotal.nrRecArqBase; // recibo

TR5001(ACBr_Reinf.WebServices.EnvioLote.RetEnvioLote.evento.Items[0].Evento).EvtTotal.IdeStatus.regOcorrs.Items[wi_Evento] // ocorrencias 

codResp;
dscResp;
tpOcorr;
localErroAviso;
 

 

 

Postado

Olá pessoal.

Eu estou fazendo um teste com dados fictícios pelo programa de exemplo, Evento R-2010 e me deparei com o erro abaixo:

Erro: ProjectExemploReinf.exe raised exception class EOleException with message 'Erro não especificado'.

// Assinando com MSXML e CryptoLib //
signedKey := xmldsig.sign(dsigKey, CERTIFICATES);

os valores passados são:

dsigKey = Pointer($4415C90) as IXMLDSigKey
CERTIFICATES = 2

Grato pela atenção,

Clemente Neri

Postado
Em 17/04/2018 at 09:36, Márcio M Gomes disse:

Para pegar o Recibo e Consultar,  fiz assim:

ACBrReinf.WebServices.EnvioLote.RetEnvioLote.Leitor.Grupo :=  ACBrReinf.WebServices.EnvioLote.RetEnvioLote.Leitor.rExtrai( 1, 'infoTotal') ; ;
Recibo := ACBrReinf.WebServices.EnvioLote.RetEnvioLote.Leitor.rCampo( tcStr, 'nrRecArqBase' ) ;

ACBrReinf.Consultar(Recibo) ;

Não fiz um teste completo ainda devido a equipe que está desenvolvendo o XML (em outro sistema) não ter finalizado ainda.

Espero que ajude.

Att,

 

 

Obrigado Márcio! Me ajudou!

  • Curtir 2
Postado
Em 17/04/2018 at 15:39, cleyton44 disse:

Boa tarde Paulo estou usando seu exemplo da function TratarResposta: pode me dizer onde você criou o tipo TRetornoLoteEventos? poderia por favor postar a unit da declaração deste tipo?

Boa tarde, não posso postar toda a Unit, devido cláusula de confidencialidade da empresa onde trabalho, mas segue trecho do código:

 

procedure carregaRetornoEvento(var Reg: RegRetornoEvento; TipoEvento: string; Evento: IEventoReinf);
var
  evtR5001: TR5001;
  i: integer;
  mensagem: string;
begin

  if TipoEvento = 'R5001' then
     begin
        evtR5001 := TR5001(Evento);
        Reg.Recibo := evtR5001.EvtTotal.InfoTotal.nrRecArqBase;
        Reg.TipoEvento := 'R' + evtR5001.EvtTotal.InfoRecEv.tpEv;
        Reg.xml := evtR5001.Xml;
        Reg.Ocorrencias.status := StrToInt(evtR5001.EvtTotal.IdeStatus.cdRetorno);

        if Reg.Ocorrencias.status = 1 then
           begin
              Reg.Ocorrencias.QtdOcorencias := evtR5001.EvtTotal.IdeStatus.regOcorrs.Count;

              for i := 0 to Reg.Ocorrencias.QtdOcorencias - 1 do
                 begin
                    mensagem := FormataString(Reg.TipoEvento, 8, 1);
                    mensagem := mensagem + ' ' + FormataString(Reg.Identificador, 37, 1);
                    mensagem := mensagem + ' ' + FormataString(evtR5001.EvtTotal.IdeStatus.regOcorrs.Items.codResp, 11, 1);
                    mensagem := mensagem + ' ' + FormataString(evtR5001.EvtTotal.IdeStatus.regOcorrs.Items.dscResp, 200, 1);

                    Avisos(mensagem);
                 end;
           end;
     end;
end;

  • Este tópico foi criado há 2409 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.