Ir para conteúdo
  • Cadastre-se

Recommended Posts

Postado

Boa tarde! já procurei em vários tópicos  estou enviando o evento de cancelamento 

recebo o retorno

Requisição
Ambiente : 1 - Produção
Cidade   : Contagem/MG
Provedor : Pronim Versão: 1.01
Data/Hora: 06/02/2026 13:08:52
 
Método Executado: Enviar Evento u evento de cancelamento recebo o retorno mas não consigo 
 
Parâmetros de Envio
Chave NFSe : 31186011205901943000109000000000010826021481772028
Evento     : Cancelamento de NFS-e
 
Parâmetros de Retorno
Chave NFSe      : 31186011205901943000109000000000010826021481772028
Data            : 06/02/2026
Tipo Evento     : Cancelamento de NFS-e
Num. Seq. Evento: 0
ID do Evento    : 31186011205901943000109000000000010826021481772028101101
Sucesso         : True
Sucesso Canc.   : True
Desc. Situação  : Nota Cancelada
Nome Arquivo    : C:\Usialpha\Docs\05901943000109\202602\NFSe\05901943000109\202602\NFSe\Eventos\31186011205901943000109000000000010826021481772028101101-procEveNFSe.xml
 
NFS-e Numero....: 108
Cod. Verificacao: 31186011205901943000109000000000010826021481772028
Prestador.......: ALPHAINFO TECNOLOGIA LTDA
Tomador.........: A MODERNA LINGERIE LTDA .
Protocolo.......: 
Nome do arquivo.: C:\Usialpha\Docs\05901943000109\202602\NFSe\05901943000109\202602\NFSe\Notas\C:\Usialpha\Docs\05901943000109\202602\NFSe\05901943000109\202602\NFSe\Notas\31186011205901943000109000000000010826021481772028-nfse.xml
==> Xml da nota salvo na pasta e com o nome informado acima.

Estou tentando verificar desta forma se retornou como cancelada

if ACBrNFSeX1.NotasFiscais.Items[i].NFSe.SituacaoNfse = ACBrNFSeXConversao.snCancelado then

porem ACBrNFSeX1.NotasFiscais.Items[i].NFSe.SituacaoNfse -> retorna sempre normal

Tem alguma forma de recuperar este resultado?

como recupero estas variáveis tipo SucessoCanc?

      tmEnviarEvento:
        begin
          with EnviarEvento do
          begin
            memoLog.Lines.Add('Método Executado: ' + MetodoToStr(tmEnviarEvento));
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Envio');
            with InfEvento.pedRegEvento do
            begin
              memoLog.Lines.Add('Chave NFSe : ' + chNFSe);
              memoLog.Lines.Add('Evento     : ' + tpEventoToDesc(tpEvento));
            end;
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Retorno');
            memoLog.Lines.Add('Chave NFSe      : ' + idNota);
            memoLog.Lines.Add('Data            : ' + DateToStr(Data));
            memoLog.Lines.Add('Tipo Evento     : ' + tpEventoToDesc(tpEvento));
            memoLog.Lines.Add('Num. Seq. Evento: ' + IntToStr(nSeqEvento));
            memoLog.Lines.Add('ID do Evento    : ' + idEvento);
            memoLog.Lines.Add('Sucesso         : ' + BoolToStr(Sucesso, True));
            memoLog.Lines.Add('Sucesso Canc.   : ' + BoolToStr(SucessoCanc, True));
            memoLog.Lines.Add('Desc. Situação  : ' + DescSituacao);
            memoLog.Lines.Add('Nome Arquivo    : ' + PathNome);

            LoadXML(XmlEnvio, WBXmlEnvio, 'temp1.xml');
            LoadXML(XmlRetorno, WBXmlRetorno, 'temp2.xml');

            ListaDeErros(Erros);
            ListaDeAlertas(Alertas);
          end;
        end;

 

Muito obrigado.

  • Consultores
Postado

habilite os logs de webservice e pegue os soaps para entendermos o que está ocorrendo.
mas parece que não está nesse comando retornando se está cancelado . pode ser que tenha mudanças
 

 

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
7 horas atrás, GleysondsMota disse:

esse é o xml gerado do evento.

digo o código de soap , em webservice tem a propriedade para salvar

 

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 !!

Postado

Boa noite, criei uma basta nova com apenas uma a nota de testes com todos os arquivos que foram gerados. de envio e cancelamento.

acho que desta forma fica mais fácil de identificar onde estou errando, obrigado.  

Docs.7z

Postado
14 horas atrás, Juliomar Marchetti disse:

esse é o xml gerado do evento.

digo o código de soap , em webservice tem a propriedade para salvar

Bom dia, Sou novato no fórum, não sei se posso usar o (Citar), mas acho que é através dele que recebe a resposta, eu criei uma pasta e salvei todos os arquivos salvos de envio e cancelamento acho que assim fica melhor para analise,. 

Docs.7z

  • 2 semanas depois ...
  • Consultores
Postado

como é proprio tentou validar

      tmCancelarNFSe:
        begin
          with CancelaNFSe do
          begin
            memoLog.Lines.Add('Método Executado: ' + MetodoToStr(tmCancelarNFSe));
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Envio');
            memoLog.Lines.Add('Numero da NFSe: ' + InfCancelamento.NumeroNFSe);
            memoLog.Lines.Add('Série da NFSe : ' + InfCancelamento.SerieNFSe);
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Retorno');
            memoLog.Lines.Add('Situação: ' + Situacao);
            memoLog.Lines.Add('Link    : ' + Link);
            memoLog.Lines.Add('Sucesso : ' + BoolToStr(Sucesso, True));
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Retorno do Pedido de Cancelamento:');
            memoLog.Lines.Add('Situação : ' + RetCancelamento.Situacao);
            memoLog.Lines.Add('Data/Hora: ' + DateToStr(RetCancelamento.DataHora));
            memoLog.Lines.Add('Mensagem : ' + RetCancelamento.MsgCanc);
            memoLog.Lines.Add('Sucesso  : ' + RetCancelamento.Sucesso);
            memoLog.Lines.Add('Link     : ' + RetCancelamento.Link);
            memoLog.Lines.Add('Nome Arq.: ' + PathNome);

            LoadXML(XmlEnvio, WBXmlEnvio, 'temp1.xml');
            LoadXML(XmlRetorno, WBXmlRetorno, 'temp2.xml');

            ListaDeErros(Erros);
            ListaDeAlertas(Alertas); 

ou ainda se for Padrão nacional validar tudo

 

  tmEnviarEvento:
        begin
          with EnviarEvento do
          begin
            memoLog.Lines.Add('Método Executado: ' + MetodoToStr(tmEnviarEvento));
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Envio');
            with InfEvento.pedRegEvento do
            begin
              memoLog.Lines.Add('Chave NFSe : ' + chNFSe);
              memoLog.Lines.Add('Evento     : ' + tpEventoToDesc(tpEvento));
            end;
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Retorno');
            memoLog.Lines.Add('Chave NFSe      : ' + idNota);
            memoLog.Lines.Add('Data            : ' + DateToStr(Data));
            memoLog.Lines.Add('Tipo Evento     : ' + tpEventoToDesc(tpEvento));
            memoLog.Lines.Add('Num. Seq. Evento: ' + IntToStr(nSeqEvento));
            memoLog.Lines.Add('ID do Evento    : ' + idEvento);
            memoLog.Lines.Add('Sucesso         : ' + BoolToStr(Sucesso, True));
            memoLog.Lines.Add('Sucesso Canc.   : ' + BoolToStr(SucessoCanc, True));
            memoLog.Lines.Add('Desc. Situação  : ' + DescSituacao);
            memoLog.Lines.Add('Nome Arquivo    : ' + PathNome);

            LoadXML(XmlEnvio, WBXmlEnvio, 'temp1.xml');
            LoadXML(XmlRetorno, WBXmlRetorno, 'temp2.xml');

            ListaDeErros(Erros);
            ListaDeAlertas(Alertas);
          end;                      

 

 

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 !!

Postado
17 horas atrás, Juliomar Marchetti disse:

como é proprio tentou validar

      tmCancelarNFSe:
        begin
          with CancelaNFSe do
          begin
            memoLog.Lines.Add('Método Executado: ' + MetodoToStr(tmCancelarNFSe));
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Envio');
            memoLog.Lines.Add('Numero da NFSe: ' + InfCancelamento.NumeroNFSe);
            memoLog.Lines.Add('Série da NFSe : ' + InfCancelamento.SerieNFSe);
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Retorno');
            memoLog.Lines.Add('Situação: ' + Situacao);
            memoLog.Lines.Add('Link    : ' + Link);
            memoLog.Lines.Add('Sucesso : ' + BoolToStr(Sucesso, True));
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Retorno do Pedido de Cancelamento:');
            memoLog.Lines.Add('Situação : ' + RetCancelamento.Situacao);
            memoLog.Lines.Add('Data/Hora: ' + DateToStr(RetCancelamento.DataHora));
            memoLog.Lines.Add('Mensagem : ' + RetCancelamento.MsgCanc);
            memoLog.Lines.Add('Sucesso  : ' + RetCancelamento.Sucesso);
            memoLog.Lines.Add('Link     : ' + RetCancelamento.Link);
            memoLog.Lines.Add('Nome Arq.: ' + PathNome);

            LoadXML(XmlEnvio, WBXmlEnvio, 'temp1.xml');
            LoadXML(XmlRetorno, WBXmlRetorno, 'temp2.xml');

            ListaDeErros(Erros);
            ListaDeAlertas(Alertas); 

ou ainda se for Padrão nacional validar tudo

 

  tmEnviarEvento:
        begin
          with EnviarEvento do
          begin
            memoLog.Lines.Add('Método Executado: ' + MetodoToStr(tmEnviarEvento));
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Envio');
            with InfEvento.pedRegEvento do
            begin
              memoLog.Lines.Add('Chave NFSe : ' + chNFSe);
              memoLog.Lines.Add('Evento     : ' + tpEventoToDesc(tpEvento));
            end;
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Retorno');
            memoLog.Lines.Add('Chave NFSe      : ' + idNota);
            memoLog.Lines.Add('Data            : ' + DateToStr(Data));
            memoLog.Lines.Add('Tipo Evento     : ' + tpEventoToDesc(tpEvento));
            memoLog.Lines.Add('Num. Seq. Evento: ' + IntToStr(nSeqEvento));
            memoLog.Lines.Add('ID do Evento    : ' + idEvento);
            memoLog.Lines.Add('Sucesso         : ' + BoolToStr(Sucesso, True));
            memoLog.Lines.Add('Sucesso Canc.   : ' + BoolToStr(SucessoCanc, True));
            memoLog.Lines.Add('Desc. Situação  : ' + DescSituacao);
            memoLog.Lines.Add('Nome Arquivo    : ' + PathNome);

            LoadXML(XmlEnvio, WBXmlEnvio, 'temp1.xml');
            LoadXML(XmlRetorno, WBXmlRetorno, 'temp2.xml');

            ListaDeErros(Erros);
            ListaDeAlertas(Alertas);
          end;                      

 

Boa tarde, não sei se está correto mas consegui desta forma, Vou deixar aqui pois pode ajudar alguém que esteja com o mesmo problema:

      tmCancelarNFSe:
        begin
          with CancelaNFSe do
          begin
            memoLog.Lines.Add('Método Executado: ' + MetodoToStr(tmCancelarNFSe));
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Envio');
            memoLog.Lines.Add('Numero da NFSe: ' + InfCancelamento.NumeroNFSe);
            memoLog.Lines.Add('Série da NFSe : ' + InfCancelamento.SerieNFSe);
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Parâmetros de Retorno');
            memoLog.Lines.Add('Situação: ' + Situacao);
            memoLog.Lines.Add('Link    : ' + Link);
            memoLog.Lines.Add('Sucesso : ' + BoolToStr(Sucesso, True));
            memoLog.Lines.Add(' ');
            memoLog.Lines.Add('Retorno do Pedido de Cancelamento:');
            memoLog.Lines.Add('Situação : ' + RetCancelamento.Situacao);
            memoLog.Lines.Add('Data/Hora: ' + DateToStr(RetCancelamento.DataHora));
            memoLog.Lines.Add('Mensagem : ' + RetCancelamento.MsgCanc);
            memoLog.Lines.Add('Sucesso  : ' + RetCancelamento.Sucesso);
            memoLog.Lines.Add('Link     : ' + RetCancelamento.Link);
            memoLog.Lines.Add('Nome Arq.: ' + PathNome);

            if ACBrNFSeX1.WebService.CancelaNFSe.RetCancelamento.Situacao = 'Cancelado' then
            begin
              try
                Sucesso_Canc := true;
                cancelaNFS(vCodigoCanc, qryNFSE.FieldByName('nfs_Numero').AsString);
                exec;
              except
                on e: Exception do
                begin
                  If dtmUsinagem.AdoUsinarte.InTransaction then
                    dtmUsinagem.AdoUsinarte.RollbackTrans;
                  Alerta(ErroExcept, 'Atenção!!!',
                    'Erro ao cancelar NFSE.' + #13 + 'Motivo: ' + e.Message);
                  Exit;
                end;
              end;
            end
            else
            begin
              Sucesso_Canc := false;
              if (ACBrNFSeX1.Configuracoes.Geral.Layout = loABRASF) and
                (ACBrNFSeX1.Configuracoes.Geral.Provedor = proVersaTecnologia)  then
              begin
                if Erros.Count > 0 then
                begin
                  for i := 0 to Erros.Count -1 do
                  begin
                    if (Erros[i].Codigo = 'E906') and
                      (Erros[i].Descricao = 'Esta NFSe já foi cancelada') then
                    begin
                      Sucesso_Canc := true;
                      cancelaNFS(vCodigoCanc, qryNFSE.FieldByName('nfs_Numero').AsString);
                    end;
                  end;
                end;

              end;

            end;
            LoadXML(XmlEnvio, WBXmlEnvio, 'temp1.xml');
            LoadXML(XmlRetorno, WBXmlRetorno, 'temp2.xml');

            ListaDeErros(Erros);
            ListaDeAlertas(Alertas);
          end;

  • Curtir 1
  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

 

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 !!

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.

The popup will be closed in 10 segundos...