Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Ola.. Estou efetuando cancelamento de nota fiscal por evento...
Estou informando a justificativa do cancelamento no campo xjust...
Porem tenho situações que necessito efetuar a consulta novamente desta nota que já foi efetuado o cancelamento..
Como proceder para ver a informação da justificativa de cancelamento .. qual o campo verificar ?

  • Moderadores
Postado

Olha pelo que eu sei não existe retorno do campo xJust. Este campo é enviado na schema de solicitação do cancelamento envEventoCancNFe_v9.99.xsd.
Já na  schema retEnvEventoCancNFe _v9.99.xsd (resposta da solicitação) não existe o campo.

Na schema de consulta consSitNFe_v2.01.xsd não existe o campo xJust e na anterior retConsSitNFe_v2.00.xsd também não existia. 
Então creio que vc terá que ter uma campo no teu banco de dados para vc salvar pelo teu sistema no momento em que o usuário/operador digitar a informação.

Se existe outra maneira eu desconheço até o momento! 


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Postado

Eu utilizo desta forma, olhe que é possível pegar tanto a correção quanto a justificativa a partir da consulta de uma nfe:

ACBrNFe.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.InfEvento.detEvento.xCorrecao;

ACBrNFe.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.InfEvento.detEvento.xJust;
with QryUpd_CCe, ACBrNFe.WebServices.Consulta do
    begin
      for i := 0 to procEventoNFe.Count - 1 do
      begin

        //Evento := procEventoNFe.Items[i].RetEventoNFe;

        //procEventoNFe.Items[i].RetEventoNFe.retEvento;//Leitor.Arquivo;


        AddMensagem('Retorno SEFAZ '+ procEventoNFe.Items[i].RetEventoNFe.xMotivo);

        //AddMensagem('Retorno: ' + ACBrNFe.WebServices.Consulta.procEventoNFe.Items[i]);

        Parameters.ParamByName('vCd_Empresa').value         := Cd_Empresa;
        Parameters.ParamByName('vCd_Filial').value          := Cd_Filial;
        Parameters.ParamByName('vNFe_Chave').value          := ChaveNFe;
        Parameters.ParamByName('vCd_Evento').value          := procEventoNFe.Items[i].RetEventoNFe.InfEvento.nSeqEvento;//   //QryCCe.FieldByName('Cd_Evento').AsInteger;
        Parameters.ParamByName('vCd_EventoSefaz').value     := procEventoNFe.Items[i].RetEventoNFe.InfEvento.TipoEvento;// CodigoEvento;
        Parameters.ParamByName('vNFe_Status').value         := procEventoNFe.Items[i].RetEventoNFe.cStat;
        Parameters.ParamByName('vNFe_Lote').value           := procEventoNFe.Items[i].RetEventoNFe.idLote;//idLote;
        Parameters.ParamByName('vNFe_Ambiente').value       := TpAmbToStr(TpAmb);
        Parameters.ParamByName('vNFe_Dt_Recepcao').DataType := ftDateTime;
        Parameters.ParamByName('vNFe_Dt_Recepcao').value    := procEventoNFe.Items[i].RetEventoNFe.retEvento.Items[0].RetInfEvento.dhRegEvento;//ACBrNFe.WebServices.EnvEvento.d;
        Parameters.ParamByName('vNFe_Pt_Recepcao').value    := procEventoNFe.Items[i].RetEventoNFe.retEvento.Items[0].RetInfEvento.nProt;

        case procEventoNFe.Items[i].RetEventoNFe.InfEvento.tpEvento of
          teCCe:
            Parameters.ParamByName('vNFe_Correcao').value       := procEventoNFe.Items[i].RetEventoNFe.InfEvento.detEvento.xCorrecao; //QryCCe.FieldByName('Ds_Correcao').AsString;
          teCancelamento:
            Parameters.ParamByName('vNFe_Correcao').value       := procEventoNFe.Items[i].RetEventoNFe.InfEvento.detEvento.xJust; //QryCCe.FieldByName('Ds_Correcao').AsString;
          else
            Parameters.ParamByName('vNFe_Correcao').value       := ''; //QryCCe.FieldByName('Ds_Correcao').AsString;
        end;
        Parameters.ParamByName('vNFe_Correcao').value       := procEventoNFe.Items[i].RetEventoNFe.InfEvento.detEvento.xCorrecao; //QryCCe.FieldByName('Ds_Correcao').AsString;

        Parameters.ParamByName('vNfe_Msg_Sefaz').value      := procEventoNFe.Items[i].RetEventoNFe.xMotivo;
        Parameters.ParamByName('vCd_XML').value := Cd_XML;
        ExecSQL;
      end;
      FreeAndNil(EventosXML);
    end;
  • Curtir 1

- Sou desenvolvedor.

- De que linguagem, delphi? .NET? Java?

- Qualquer uma, sou desenvolvedor.

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