Ir para conteúdo
  • Cadastre-se

dev botao

Desempenho Consulta Nfe Destinadas


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

Recommended Posts

Amigos, sem querer ser redundante, mas correndo o risco abro este tópico para tentar discutir sobre o desempenho do serviço de Consulta de NFe Destinadas, pois já tentei otimizar o processo ao máximo mais tenho que fazer milhares de requisições para conseguir recuperar os eventos.

 

Vamos aos fatos:

Este é o código da minha procedure:

procedure TProcessaNFe.ConsultarNFeDestinatario(Cd_Empresa, Cd_Filial: Integer);
var
  CNPJ, IndNFe, IndEmi, ultimoNSU, sSQL: string;
  ok: boolean;
  i, Qt_Loops, Qt_Eventos: Integer;
  retorno: TRetCollectionItem;

  Impresso, sChave, sCNPJ, sNome,
  NFe_DigVal,
  sIEst, sNSU, sTipoNFe: String;
  Valor: Double;
  Dt_Emissao:TDateTime;

  Cd_Evento:Integer;
  Cd_EventoSefaz:Integer;
  NFe_Manifesto:Integer;
  NFe_Correcao: string;
  NFe_DescEvento: string;

  {vChave : String;
  Origem, DiretorioMes: string;
  PathDestino: string;
  XMLRecebido: TStrings;
  Cd_XML: Integer;
  }
begin
  try
    CNPJ := QryFilial.FieldByName('Nr_CGC').AsString;

    (*veja NT 2012/002 pág. 11 para identificar os valores possíveis
    Indicador de NF-e consultada:
    0=Todas as NF-e;
    1=Somente as NF-e que ainda não tiveram manifestação do destinatário
      (Desconhecimento da operação, Operação não Realizada ou Confirmação da Operação);
    2=Idem anterior, incluindo as NF-e que também não tiveram a Ciência da Operação.*)
    indNFe := '2';

    (*veja NT 2012/002 pág. 11 para identificar os valores possíveis
    Indicador do Emissor da NF-e:
    0=Todos os Emitentes / Remetentes;
    1=Somente as NF-e emitidas por emissores / remetentes que não tenham a mesma
      raiz do CNPJ do destinatário (para excluir as notas fiscais de transferência
      entre filiais).*)
    IndEmi := '1';

    (*veja NT 2012/002 pág. 11 para identificar os valores possíveis
     Último NSU recebido pela Empresa.
     Caso seja informado com zero, ou com um NSU muito antigo, a consulta retornará
     unicamente as notas fiscais que tenham sido recepcionadas nos últimos 15 dias.*)
    ultimoNSU := QryFilial.FieldByName('NFe_NSU').AsString;

    Qt_Loops := 0;
    Qt_Eventos := 0;
    AddMensagem('Primeiro NSU: ' + ultimoNSU);
    with ACBrNFe.WebServices.ConsNFeDest.retConsNFeDest do
    begin
      repeat

        Inc(Qt_Loops);

        ACBrNFe.ConsultaNFeDest(CNPJ,
                                 StrToIndicadorNFe(ok,indNFe),
                                 StrToIndicadorEmissor(ok,IndEmi),
                                 UltNSu);


        for i := 0 to ret.Count - 1 do
        begin
          sChave := '';
          NFe_DigVal := '';
          retorno :=  ret.Items[i];
          Cd_Evento := 0;
          NFe_DigVal := '';
          Valor := 0;
          sNome := '';
          sCNPJ := '';
          Cd_EventoSefaz := 0;
          sNSU := '';
          NFe_Correcao := '';
          NFe_DescEvento := '';

          if not(retorno.resNFe = nil) and
            not(retorno.resNFe.chNFe = EmptyStr) then
          begin
            // Conjunto de informações resumo da NF-e localizadas.
            // Este conjunto de informação será gerado quando a NF-e for autorizada ou denegada.
            sChave := retorno.resNFe.chNFe;
            NFe_DigVal := retorno.resNFe.digVal;
            //sSerie  := Copy(sChave, 23, 3);
            //sNumero := Copy(sChave, 26, 9);
            sCNPJ := retorno.resNFe.CNPJCPF;
            sNome := retorno.resNFe.xNome;
            sIEst := retorno.resNFe.IE;
            case retorno.resNFe.tpNF of
              tnEntrada: sTipoNFe := 'E';
              tnSaida:   sTipoNFe := 'S';
            end;
            sNSU  := retorno.resNFe.NSU;
            Dt_Emissao := retorno.resNFe.dEmi;
            Valor := retorno.resNFe.vNF;
            case retorno.resNFe.cSitNFe of
              snAutorizado: Impresso := 'A';
              snDenegado:   Impresso := 'D';
              snCancelada:  Impresso := 'C';
            end;   

            case retorno.resCanc.cSitNFe of
              snAutorizado: Cd_EventoSefaz := 110100;
              snDenegado:   Cd_EventoSefaz := 110101;
              snCancelada:  Cd_EventoSefaz := 110111;
            end;
          end;
          if not(retorno.resCanc = nil) and
            not(retorno.resCanc.chNFe = EmptyStr) then
          begin  
            // Conjunto de informações resumo da NF-e localizadas.
            // Este conjunto de informação será gerado quando o Cancelamento da NF-e for homologado.
            sChave := retorno.resCanc.chNFe;
            NFe_DigVal := retorno.resCanc.digVal;
            //sSerie  := Copy(sChave, 23, 3);
            //sNumero := Copy(sChave, 26, 9);
            sCNPJ := retorno.resCanc.CNPJCPF;
            sNome := retorno.resCanc.xNome;
            sIEst := retorno.resCanc.IE;
            case retorno.resCanc.tpNF of
              tnEntrada: sTipoNFe := 'E';
              tnSaida:   sTipoNFe := 'S';
            end;
            sNSU  := retorno.resCanc.NSU;
            Dt_Emissao := retorno.resCanc.dEmi;
            Valor := retorno.resCanc.vNF;
            case retorno.resCanc.cSitNFe of
              snAutorizado: Impresso := 'A';
              snDenegado:   Impresso := 'D';
              snCancelada:  Impresso := 'C';
            end;

            case retorno.resCanc.cSitNFe of
              snAutorizado: Cd_EventoSefaz := 110100;
              snDenegado:   Cd_EventoSefaz := 110101;
              snCancelada:  Cd_EventoSefaz := 110111;
            end;



         
          end;
          if not(retorno.resCCe = nil) and
            not(retorno.resCCe.chNFe = EmptyStr) then
          begin
            // Conjunto de informações resumo da NF-e localizadas.
            // Este conjunto de informação será gerado quando o Cancelamento da NF-e for homologado.
            sChave := retorno.resCCe.chNFe;
            Dt_Emissao := retorno.resCCe.dhEvento;
            sNSU  := retorno.resCCe.NSU;
            case retorno.resCCe.tpNF of
              tnEntrada: sTipoNFe := 'E';
              tnSaida:   sTipoNFe := 'S';
            end;                         
            Cd_Evento  := retorno.resCCe.nSeqEvento;
            Cd_EventoSefaz := StrToInt(TpEventoToStr(retorno.resCCe.tpEvento));
            NFe_DescEvento := retorno.resCCe.descEvento;
            NFe_Correcao := retorno.resCCe.xCorrecao;
          end;

          if not(sChave = EmptyStr) then
          begin
            with QryUpd_Manifestacao do
            begin
              //@pCd_Empresa	   = :vCd_Empresa
              Parameters.ParamByName('vCd_Empresa').Value := Cd_Empresa;
              //@pCd_Filial		   = :vCd_Filial
              Parameters.ParamByName('vCd_Filial').Value := Cd_Filial;
              //@pNFe_Chave		   = :vNFe_Chave
              Parameters.ParamByName('vNFe_Chave').Value := sChave;
              //@pNFe_Dt_Recepcao  = :vNFe_Dt_Recepcao
              Parameters.ParamByName('vNFe_Dt_Recepcao').Value := Dt_Emissao;
              //@pNFe_Tipo		   = :vNFe_Tipo
              Parameters.ParamByName('vNFe_Tipo').Value := sTipoNFe;
              //@pNFe_DigVal	   = :vNFe_DigVal
              Parameters.ParamByName('vNFe_DigVal').Value := NFe_DigVal;
              //@pNFe_Valor		   = :vNFe_Valor
              Parameters.ParamByName('vNFe_Valor').Value := Valor;
              //@pNFe_Emissor	   = :vNFe_Emissor
              Parameters.ParamByName('vNFe_Emissor').Value := sNome;
              //@pNFe_CNPJCPF	   = :vNFe_CNPJCPF
              Parameters.ParamByName('vNFe_CNPJCPF').Value := sCNPJ;
              //@pCd_Evento		   = :vCd_Evento
              Parameters.ParamByName('vCd_Evento').Value := Cd_Evento;
              //@pCd_EventoSefaz   = :vCd_EventoSefaz
              Parameters.ParamByName('vCd_EventoSefaz').Value := Cd_EventoSefaz;
              //@pNFe_NSU		   = :vNFe_NSU
              Parameters.ParamByName('vNFe_NSU').Value := sNSU;
              //@pNFe_Correcao	   = :vNFe_Correcao
              Parameters.ParamByName('vNFe_Correcao').Value := NFe_Correcao;
              //@pNFe_DescEvento   = :vNFe_DescEvento
              Parameters.ParamByName('vNFe_DescEvento').Value := NFe_DescEvento;
              ExecSQL;
              Inc(Qt_Eventos);
            end;
          end;
        end;



        ultimoNSU := ultNSU;

      until indCont = icNaoPossuiMaisDocumentos;
    end;

    sSQL :=
      'Update A ' +
      'Set ' +
      '	NFe_NSU = :vNFe_NSU ' +
      'From ' +
      '	dbo.Parametros A ' +
      'Where ' +
      '	A.Cd_Filial = :vCd_Filial';

    with CriarQuery(sSql) do
    begin
      Parameters.ParamByName('vNFe_NSU').Value := ultimoNSU;
      Parameters.ParamByName('vCd_Filial').Value := Cd_Filial;
      ExecSQL;
    end;

    AddMensagem('Eventos importados: ' + IntToStr(Qt_Eventos));
    AddMensagem('Quantidade de requisições necessárias: ' + IntToStr(Qt_Loops));
    AddMensagem('Último NSU: ' + ultimoNSU);



  except
    On E:Exception do
    begin   
      sSQL :=
        'insert into dbo.Comandos_DFe (Ds_Comando) Values (:vDs_Comando)';

      with CriarQuery(sSql) do
      begin
        Parameters.ParamByName('vDs_Comando').Value := Cmd.Comando;
        ExecSQL;
      end; 

      sSQL :=
        'Update A ' +
        'Set ' +
        '	NFe_NSU = :vNFe_NSU ' +
        'From ' +
        '	dbo.Parametros A ' +
        'Where ' +
        '	A.Cd_Filial = :vCd_Filial';

      with CriarQuery(sSql) do
      begin
        Parameters.ParamByName('vNFe_NSU').Value := ultimoNSU;
        Parameters.ParamByName('vCd_Filial').Value := Cd_Filial;
        ExecSQL;
      end;
      AddMensagem('Eventos importados: ' + IntToStr(Qt_Eventos));
      AddMensagem('Quantidade de requisições necessárias: ' + IntToStr(Qt_Loops));
      AddMensagem('Último NSU: ' + ultimoNSU);
      raise Exception.Create('Erro ao Consultar Notas Destinadas! ' + #10#13 +
        e.Message);
    end;
  end;                         

end;

 

Percebam que sempre inicio a consulta a partir do último NSU, mesmo quando a ultima consulta der erro.

Pois bem, tenho, a princípio, 14 CNPJ's para consultar e, pasmem, não consigo chegar ao "indCont = icNaoPossuiMaisDocumentos;" nem com 10 horas de processamento.

 

Vejam um dos processamentos que tive em uma madrugada destas:

 

 

 

 

01:23:31 -> Primeiro NSU: 6103070473

01:30:31 -> Eventos importados: 18

01:30:31 -> Quantidade de requisições necessárias: 323

01:30:31 -> Último NSU: 6241708334

01:30:31 -> Erro ao Processar Comando: NFe.ConsultarNFeDestinatario(1,6)

Exceção: Erro ao Consultar Notas Destinadas! 

 

WebService Consulta NF-e Destinadas:

- Inativo ou Inoperante tente novamente.

 

 

 

Sempre há um erro antes de finalizar, raros casos eu consegui chegar ao final, tenho centenas destas estatísticas para confirmar que alguma coisa está errada, convenhamos que realizar 323 requisições ao WS para pegar 18 eventos é um desperdício.

 

Conto com o apoio da galera!

- Sou desenvolvedor.

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

- Qualquer uma, sou desenvolvedor.

Link para o comentário
Compartilhar em outros sites

Ninguém? será que só eu estou tendo este problema ou a galera está satisfeita com o desempenho???

Olá,

 

Em qual estado você realizou a consulta?

 

Aqui estou tendo problema, mas o inverso rsrs... mando realizar a consulta de todas as notas, sendo que tenho 10 emitidas pro meu proprio cnpj (o mesmo do certificado digital) e só me retornam alguns. A emissão dessas notas em homologação estão com menos de 15 dias e só me é retornado 4, mesmo iniciando a pesquisa com NSU = 0, com indNfe = inTodas e IndEmi = ieTodos.

 

Isso no WS do Ceará.

Link para o comentário
Compartilhar em outros sites

  • 4 meses depois ...

Na verdade eu creio que o problema não é no fonte pois o meu é bastante parecido.. creio que o processo de retorno do WS da Sefaz seja muito "instável" (pra essa rotina de NF-e destinadas)... pois tem horas que retorna várias vezes a mesma nota...

tem documentos que não retornam, etc..

Editado por Alex Pereira
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 1 mês depois ...

Bom dia pessoal.

 

Estou com uma dúvida, o ultNSU devo salvar para em nova pesquisa usa-lo, ou inicio a pesquisa com o ultNSU igual a 0 e nas repetições utilizo o valor retornado da consulta ?

 

 

Bom dia,

 

é uma boa pergunta Ricardo, eu o inicio com o valor 0 e nas repetições utilizo o valor retornado da consulta.

 

Att.

Rômulo Mayworm

 

Bom dia,

 

é uma boa pergunta Ricardo, eu o inicio com o valor 0 e nas repetições utilizo o valor retornado da consulta.

 

Att.

Rômulo Mayworm

 

 

Galera, é simples: iniciando-se com 0 o processamento demorará mais, visto que iniciará do evento mais antigo até o mais atual, caso inicie-se do ultimo NSU o processamento continuará a partir do ultimo ponto consultado.

- Sou desenvolvedor.

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

- Qualquer uma, sou desenvolvedor.

Link para o comentário
Compartilhar em outros sites

Valeu pela explicação Mark.

 

Agora estou apanhando no for i := 0 to ret.Count - 1 do, na primeira consulta não gera erro mas nas próximas gera um erro de Access violation at address 00423A30 in module 'Teste.exe'. Read of address 00000008.

 

Não sei mais o que fazer. Alguém já passou por isso... pode dar uma luz.

 

        while ( vezes < 10 ) do
        begin
 
          dtACBr.acbrnf1.ConsultaNFeDest( CNPJ, StrToIndicadorNFe(ok,indNFe),StrToIndicadorEmissor(ok,IndEmi), IntToStr( ultimoNSU ) );
 
          for i := 0 to ret.Count - 1 do
          begin
Link para o comentário
Compartilhar em outros sites

Está dificil descobrir, adicionei uma simples condição antes do for e o erro já ocorre na condição. Pior que se eu fico persistindo em executar esse bloco o erro some.
 
dtACBr.acbrnf1.ConsultaNFeDest( CNPJ, StrToIndicadorNFe( ok, indNFe ), StrToIndicadorEmissor( ok, IndEmi ), '0' );
 
if ( dtACBr.acbrnf1.WebServices.ConsNFeDest.retConsNFeDest.ret.Count = 0 ) then
begin
   UnitBiblioteca.Mensagem(' Contador não é um valor válido', mtError,[mbOK],0);
   Exit;
end;
 
for i := 0 to ret.Count - 1 do
begin
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Ricardo,

 

Cuidado para não confundir as coisas:

 

O Emitente ao consultar a nota que emitiu obtem o status dela, ou seja autorizada, denegada, rejeitada e os eventos associados a ela, cancelamento, carta de correção etc.

 

O Destinatário apenas realiza uma consulta de notas destinadas a ele e realiza a manifestação.

Se você configurou o componente para salvar os arquivos de envio e de retorno, você tem essa informação salva nele.

 

Pegando o retorno após o envio:

 

     DM_VEN.IncAltDel.Params[1].AsDateTime := DMNFe.NFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento;
     DM_VEN.IncAltDel.Params[2].AsString       := DMNFe.NFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.nProt;
     (...)

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde Italo,

 

Não sei se o rumo que tomei é o mais indicado, estou salvando as nfe's retornadas através da consulta de destinatário em um tabela onde o usuário vai selecionar algumas ou todas e manifesta-las. Fiz um teste e retornou o stat como 135, então para confirmar pensei em fazer um nova busca através da consulta de destinatário.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Ricardo,

 

De uma lida no item 4.9.9, página 9, da NT 2012/002.

 

Trata do final do processamento do lote, ou seja o envio da manifestação do destinatário para SEFAZ.

 

Temos 3 situações em uma delas temos como retorno o status 135, o que vem a ser o status 135?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Galera, é simples: iniciando-se com 0 o processamento demorará mais, visto que iniciará do evento mais antigo até o mais atual, caso inicie-se do ultimo NSU o processamento continuará a partir do ultimo ponto consultado.

Mark boa noite

 

Enquanto vc questiona o desempenho, eu não consegui nem uma resposta positiva utilizando-se do nfemonitor, fiz vários testes e jamais recebi uma reposta que não seja: 

 

<retConsNFeDest versao="1.01">

<tpAmb>1</tpAmb>

<verAplic>1.0.0</verAplic>

<cStat>137</cStat>

<xMotivo>Nenhum documento localizado para o destinatario</xMotivo>

<dhResp>2013-07-25T21:21:12</dhResp>

<indCont>1</indCont>

<ultNSU>7457866225</ultNSU>

</retConsNFeDest>

 

Como por enquanto pra mim não está impactando, pois a quantidade de notas recebidas de forncedores são pouca e as que não recemos o xml, cobramos, então, vamos acompanhando o processo, esperando que ele funcione bem como os demais.

 

[]s,

  • Curtir 1

Jorge Andrade

 

"Quem tem medo de perguntar, está fadado a eternizar-se na dúvida - [Jorge Andrade]";
 

"A soberba,  é o sentimento caracterizado pela pretensão de superioridade sobre as demais pessoas, levando a manifestações ostensivas de arrogância, por vezes sem fundamento algum em fatos ou variáveis reais - [Desconhecido";
 

"Aquele  que pesquisa antes de indagar, tem a grande chance de dirimir as suas dúvidas, fixar o aprendizado da pesquisa e evoluir para outros conhecimentos inesperados - [Jorge Andrade]";
 

"Os políticos e as fraldas devem ser trocados frequentemente e pela mesma razão - [Éça de Queiroz]".

Link para o comentário
Compartilhar em outros sites

Bom dia Jorge.

Só por curiosidade, você está fazendo essas consultas dentro de um laço de repetição até que o indCont seja igual a 0, usando o ultNSU resultante da consulta anterior? Por exemplo: na primeira consulta, vc usa ultNSU = 0, na segunda 7457866225 (supondo que a resposta acima foi resultado da primeira consulta), na terceira ultNSU = ultNSU resultante da 2ª consulta e assim por diante, até que o indCont seja igual a 0. Pergunto isso porque uso essa lógica desde que o webservice foi liberado pela Receita e, apesar de sofrer os mesmos problemas de desempenho relatados pelos colegas, meus clientes sempre conseguiram obter a lista de NFe  destinadas para eles.

Claro que no meu caso é via componente, mas acredito que no monitor seja o mesmo processo - peço desculpas se dei um pitaco fora, mas estou tentando ajudar apenas.

Editado por Astrogildo82
Link para o comentário
Compartilhar em outros sites

Bom dia pessoal.

 

Estou com uma dúvida, o ultNSU devo salvar para em nova pesquisa usa-lo, ou inicio a pesquisa com o ultNSU igual a 0 e nas repetições utilizo o valor retornado da consulta ?

Bom dia pessoal,

 

Eu ainda tenho dúvidas sobre esta pergunta do Ricardo, estou fazendo testes no ambiente de homologação (SP), vou explicar a situação que esta ocorrendo... Faço a pesquisa da nfe destinadas ate q o indicador de continuação me retorne com 0, feito isso guardo o ultNSU retornado para que a próxima pesquisa seja feita a partir do mesmo... Feito isso, acesso o emissor de NFe do próprio SEFAZ (Ambiente de Teste) e duplico uma determinada nota, assino e transfiro... Após este processo, faço a pesquisa da NFe destinada a partir do ultNSU retornado na ultima consulta, porém o WS não me retorna mais nenhuma nota encontrada, eu apenas encontro esta nota que eu dupliquei por ultimo, realizando a consulta com o ultNSU zerado... este comportamento no ambiente de teste é normal?

Link para o comentário
Compartilhar em outros sites

Bom dia pessoal,

 

Eu ainda tenho dúvidas sobre esta pergunta do Ricardo, estou fazendo testes no ambiente de homologação (SP), vou explicar a situação que esta ocorrendo... Faço a pesquisa da nfe destinadas ate q o indicador de continuação me retorne com 0, feito isso guardo o ultNSU retornado para que a próxima pesquisa seja feita a partir do mesmo... Feito isso, acesso o emissor de NFe do próprio SEFAZ (Ambiente de Teste) e duplico uma determinada nota, assino e transfiro... Após este processo, faço a pesquisa da NFe destinada a partir do ultNSU retornado na ultima consulta, porém o WS não me retorna mais nenhuma nota encontrada, eu apenas encontro esta nota que eu dupliquei por ultimo, realizando a consulta com o ultNSU zerado... este comportamento no ambiente de teste é normal?

Galera, vamos imaginar:

 

Para que serve o serviço? Para consultar todas as notas emitidas CONTRA o seu CNPJ.

 

Existe notas emitidas contra seu CNPJ em ambiente de homologação? 

 

Experimente realizar os testes em ambiente de produção.

- Sou desenvolvedor.

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

- Qualquer uma, sou desenvolvedor.

Link para o comentário
Compartilhar em outros sites

Galera, vamos imaginar:

 

Para que serve o serviço? Para consultar todas as notas emitidas CONTRA o seu CNPJ.

 

Existe notas emitidas contra seu CNPJ em ambiente de homologação? 

 

Experimente realizar os testes em ambiente de produção.

Mark, sim existem notas emitidas contra o meu CNPJ no ambiente de homologação. Como eu disse, eu apenas duplico uma nota pelo emissor de NF-e (Ambiente de Teste) da própria SEFAZ. Exemplo: Ao realizar a pesquisa, o WS me retornou 10 notas... Eu guardo este NSU que foi retornado, acesso o programa de emissão de nota e duplico uma nota, apenas alterando o número dela, assino e transmito. Ao realizar a pesquisa novamente a partir do NSU da ultima consulta realizada, o WS não me retorna nenhuma nota encontrada... imagino que WS teria que retornar 1 nota encontrada, que seria a que eu dupliquei no caso, porém, se eu realizar a consulta novamente com o NSU zerado, eu encontro as 11 notas, sendo 10 ao qual ele já tinha encontrada anteriormente e mais 1 que foi a que eu dupliquei.

Link para o comentário
Compartilhar em outros sites

Guilherme,

 

a consulta que você está realizando é com o mesmo certificado utilizado para emitir (duplicar) a nota em teste no ambiente de homologação?

 

Caso afirmativo, o destinatário é o mesmo que o emitente (CNPJ) e a nota é transmitida retornando o cStat = 100, Autorizado o uso da NF-e?

Caso negativo, o certificado que está utilizando para a consulta é relacionado ao CNPJ do destinatário da nota emitida em homologação?

 

Att.

Rômulo Mayworm

Editado por FocusRJ
  • Curtir 1

"Não me envergonho de mudar de opinião, porque não me envergonho de pensar" (Blaise Pascal)

Link para o comentário
Compartilhar em outros sites

Fiz alguns teste, e quando selecionei para trazer só as notas sem manifestação veio muito mais notas do que quando selecionei para trazer todas as notas. Vai entender.

 

Isso no modo produção.

 

 

Outra dúvida é qual a melhor forma de saber se quais as notas que eu emite não foram manifestadas ?

 

Abraços pessoal.

Link para o comentário
Compartilhar em outros sites

Ricardo qtd muito a mais? Vc verificou a data de Recebimento da Sefaz? Nesse intervalo que consultou pode ter sido emitidas mais notas contra o CNPJ testado.

 

Att.

Rômulo Mayworm

Editado por FocusRJ

"Não me envergonho de mudar de opinião, porque não me envergonho de pensar" (Blaise Pascal)

Link para o comentário
Compartilhar em outros sites

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