Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

estou usando versão capicom 7.17.2 que baixei hoje, ao cancelar recebo mensagem; Serviço desativado, usar o evento de cancelamento. Tentei também direto da janela do acbr, aba testes, botão Cancelamento NFE, também retornou o mesmo erro.

  • 11 meses depois ...
Postado

Também estou tentando enviar um evento de cancelamento e tá dando um erro dizendo que o campo cOrgao não informado, abaixo segue o código, desde já agradeço a ajuda.

 

// Carrega o XML da nota fiscal eletrônica
    ACBrNFe.NotasFiscais.Clear;
    ACBrNFe.NotasFiscais.LoadFromFile('c:\jrrnfe\xml.txt');
 
    ACBrNFe.EventoNFe.Evento.Clear;
    ACBrNFe.EventoNFe.idLote := NumeroLote;
 
 
// Preenche os parâmetros da NF'e
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.tpAmb            := ACBrNFe.NotasFiscais.Items[0].NFe.Ide.tpAmb;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.CNPJ             := ACBrNFe.NotasFiscais.Items[0].NFe.Emit.CNPJCPF;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.cOrgao           := ACBrNFe.NotasFiscais.Items[0].NFe.Ide.cUF;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.nSeqEvento       := 1;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.chNFe            := Copy(ACBrNFe.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44);
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.dhEvento         := NOW;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.tpEvento         := teCancelamento;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.detEvento.nProt  := Qry1PROTOCOLO_1.AsString;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.detEvento.xJust  := 'ERRO NA EMISSÃO DA NOTA FISCAL';
 
    // Enviar o evento de cancelamento
    if ACBrNFe.EnviarEventoNFe(NumeroLote) then
    begin
      with ACBrNFe.WebServices.EnvEvento do
      begin
        if EventoRetorno.retEvento.Items[0].RetInfEvento.cStat <> 13 then
        begin
          raise Exception.CreateFmt('Ocorreu o seguinte erro ao cancelar a nota fiscal eletrônica: ' + sLineBreak +
                                    'Código: %d' + sLineBreak +
                                    'Motivo: %s', [
                                    EventoRetorno.retEvento.Items[0].RetInfEvento.cStat,
                                    EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo]);
        end;
        // retornos
        DataHoraEvento  := EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento;
        numeroProtocolo := EventoRetorno.retEvento.Items[0].RetInfEvento.nProt;
        xmlCancelamento := EventoRetorno.retEvento.Items[0].RetInfEvento.XML;
        CodigoStatus    := EventoRetorno.retEvento.Items[0].RetInfEvento.cStat;
        MotivoStatus    := EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo;
      end;
 
      IBSQL1.Close;
      IBSQL1.SQL.Clear;
      IBSQL1.SQL.Add('update NFE set STATUS = :xStatus,');
      IBSQL1.SQL.Add('               CANC_DATAHORA = :xDataHora,');
      IBSQL1.SQL.Add('               CANC_PROTOCOLO = :xProtocolo,');
      IBSQL1.SQL.Add('               CANC_XML = :xXml.');
      IBSQL1.SQL.Add('               CANC_CODIGOSTATUS = :xCodigoStatus,');
      IBSQL1.SQL.ADd('               CANC_MOTIVOSTATUS = :xMotivoStatus');
      IBSQL1.SQL.Add('where CODIGO = :xCodigo');
 
      IBSQL1.ParamByName('xStatus').AsString        := 'CANCELADA';
      IBSQL1.ParamByName('xDataHora').AsDateTime    := DataHoraEvento;
      IBSQL1.ParamByName('xProtocolo').AsString     := numeroProtocolo;
      IBSQL1.ParamByName('xXml').AsString           := xmlCancelamento;
      IBSQL1.ParamByName('xCodigoStatus').AsInteger := CodigoStatus;
      IBSQL1.ParamByName('xMotivoStatus').AsString  := MotivoStatus;
      IBSQL1.ExecQuery;
      IBSQL1.Transaction.CommitRetaining;
 
    end
    else
    begin
      with ACBrNFe.WebServices.EnvEvento do
      begin
        raise Exception.Create (
        'Ocorreram erros ao tentar efetuar o cancelamento:' + sLineBReak +
        'Lote: '      + IntToStr(EventoRetorno.idLote) + sLineBreak +
        'Ambiente: '  + TpAmbToStr(EventoRetorno.tpAmb) + sLineBreak +
        'Orgao: '     + IntToStr(EventoRetorno.cOrgao) + sLineBreak +
        'Status: '    + IntToStr(EventoRetorno.cStat) + sLineBreak +
        'Motivo: '    + EventoRetorno.xMotivo);
      end;
    end;
  • Consultores
Postado

Bom dia

com certeza !!!

vejamos um trecho de seu código:

    ACBrNFe.EventoNFe.Evento.Add.InfEvento.tpAmb            := ACBrNFe.NotasFiscais.Items[0].NFe.Ide.tpAmb;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.CNPJ             := ACBrNFe.NotasFiscais.Items[0].NFe.Emit.CNPJCPF;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.cOrgao           := ACBrNFe.NotasFiscais.Items[0].NFe.Ide.cUF;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.nSeqEvento       := 1;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.chNFe            := Copy(ACBrNFe.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44);
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.dhEvento         := NOW;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.tpEvento         := teCancelamento;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.detEvento.nProt  := Qry1PROTOCOLO_1.AsString;
    ACBrNFe.EventoNFe.Evento.Add.InfEvento.detEvento.xJust  := 'ERRO NA EMISSÃO DA NOTA FISCAL';

agora faz um teste de mesa rápido e me diga o que vai acontecer?

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

As variáveis estão preenchidas incorretamente? Voei.

Não.

chegou a fazer o teste de mesa?

Veja lá no seu código primeiro você faz um Evento.Clear;

então temos uma lista certo?

agora olhe novamente para o código acima e refaça o teste de mesa? e me diga quantos eventos serão enviados !

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 4250 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.