Ir para conteúdo
  • Cadastre-se

Recommended Posts

Postado

O zero é so na primeira vez, depois voce salva o ultimo e começa a partir dele, senao toma  bam mesmo.

Outra coisa a olhar, é o contador com robo ligado, as vezes está no intervalo seu.

tem programa que insiste em ficar dando ciência em notas que o cliente as vezes nem pediu. O robozinho do contador vai la e flega ela

  • Membros Pro
Postado
19 minutos atrás, Antonio Gomes disse:

O zero é so na primeira vez, depois voce salva o ultimo e começa a partir dele, senao toma  bam mesmo.

Outra coisa a olhar, é o contador com robo ligado, as vezes está no intervalo seu.

tem programa que insiste em ficar dando ciência em notas que o cliente as vezes nem pediu. O robozinho do contador vai la e flega ela

então, mas eu não consegui obter o ultimo nenhuma vez....como posso sair deste erro?

Postado

Se já atentou para o contador, e se não tinha outro contador antes, e voce está fazendo certo, e tem certeza do uso nao indevido do certificado, é rever o fonte, noutro caso, é revogar o certificado e fazer outro, ai acha o pai feio da criança.

Te dar uma dica: no cadastra da empresa eu salvo isso:

image.png.fc5969242698fcd9737d202e10881ce5.png

Na hora da pesquisa:

 if PesquisarAPartirUltimoNSU then // combo box na tela, qual forma
               UltimoNSU := ProximoNSU_NFe
            else
               UltimoNSU := 0;
            MaxNsu       := MaxNSU_NFe; // usado na funcao de tratar consumo indevido

 

RetornoConsulta := TRetDistDFeInt.Create(ResConsulta);
           

  FuncNFe.ConsultaDistribuicao(FuncNFe.ACBrNFe1,
                    Secao.Empresa.Cidade.UF,
                    Secao.Empresa.Cnpj,
                    UltimoNSU.ToString,
                    '',
                    '',
                    RetornoConsulta);

 

class procedure TFuncoesNFe.ConsultaDistribuicao(AACBrNFe: TACBrNFe;
  AUFEmpresa, ACNPJEmpresa                    : string;
  AUltimoNSU, ANSUEspecifico, AChaveEspecifica: string;
  var RetornoConsulta                         : TRetDistDFeInt);
var
  Av, I  : Integer;
  UFAutor: Integer;
  Doc    : TdocZipCollectionItem;
  Averb  : TitensAverbadosCollectionItem;
begin
  UFAutor := ACBrUtil.Base.UFparaCodigoUF(AUFEmpresa);

  AACBrNFe.DistribuicaoDFe(UFAutor, ACNPJEmpresa, AUltimoNSU, ANSUEspecifico, AChaveEspecifica);

  with AACBrNFe.WebServices.DistribuicaoDFe do
  begin
    RetornoConsulta.Versao   := retDistDFeInt.Versao;
    RetornoConsulta.tpAmb    := retDistDFeInt.tpAmb;
    RetornoConsulta.verAplic := retDistDFeInt.verAplic;
    RetornoConsulta.cStat    := retDistDFeInt.cStat;
    RetornoConsulta.xMotivo  := retDistDFeInt.xMotivo;
    RetornoConsulta.dhResp   := retDistDFeInt.dhResp;
    RetornoConsulta.maxNSU   := retDistDFeInt.maxNSU;
    RetornoConsulta.ultNSU   := retDistDFeInt.ultNSU;

    for I := 0 to retDistDFeInt.docZip.Count - 1 do
    begin
      Doc := RetornoConsulta.docZip.New;

      Doc.XML    := retDistDFeInt.docZip.Items[I].XML;
      Doc.NSU    := retDistDFeInt.docZip.Items[I].NSU;
      Doc.schema := retDistDFeInt.docZip.Items[I].schema;
      Doc.InfZip := retDistDFeInt.docZip.Items[I].InfZip;

      // retonro do resdfe
      // Doc.resDFe          := retDistDFeInt.docZip.Items[I].resDFe;

      Doc.resDFe.chDFe    := retDistDFeInt.docZip.Items[I].resDFe.chDFe;
      Doc.resDFe.CNPJCPF  := retDistDFeInt.docZip.Items[I].resDFe.CNPJCPF;
      Doc.resDFe.xNome    := retDistDFeInt.docZip.Items[I].resDFe.xNome;
      Doc.resDFe.IE       := retDistDFeInt.docZip.Items[I].resDFe.IE;
      Doc.resDFe.dhEmi    := retDistDFeInt.docZip.Items[I].resDFe.dhEmi;
      Doc.resDFe.tpNF     := retDistDFeInt.docZip.Items[I].resDFe.tpNF;
      Doc.resDFe.vNF      := retDistDFeInt.docZip.Items[I].resDFe.vNF;
      Doc.resDFe.digVal   := retDistDFeInt.docZip.Items[I].resDFe.digVal;
      Doc.resDFe.dhRecbto := retDistDFeInt.docZip.Items[I].resDFe.dhRecbto;
      Doc.resDFe.nProt    := retDistDFeInt.docZip.Items[I].resDFe.nProt;
      Doc.resDFe.cSitDFe  := retDistDFeInt.docZip.Items[I].resDFe.cSitDFe;

      // retonro de resevento
      // Doc.resEvento := retDistDFeInt.docZip.Items[I].resEvento;

      Doc.resEvento.cOrgao     := retDistDFeInt.docZip.Items[I].resEvento.cOrgao;
      Doc.resEvento.CNPJCPF    := retDistDFeInt.docZip.Items[I].resEvento.CNPJCPF;
      Doc.resEvento.chDFe      := retDistDFeInt.docZip.Items[I].resEvento.chDFe;
      Doc.resEvento.dhEvento   := retDistDFeInt.docZip.Items[I].resEvento.dhEvento;
      Doc.resEvento.tpEvento   := retDistDFeInt.docZip.Items[I].resEvento.tpEvento;
      Doc.resEvento.nSeqEvento := retDistDFeInt.docZip.Items[I].resEvento.nSeqEvento;
      Doc.resEvento.xEvento    := retDistDFeInt.docZip.Items[I].resEvento.xEvento;
      Doc.resEvento.dhRecbto   := retDistDFeInt.docZip.Items[I].resEvento.dhRecbto;
      Doc.resEvento.nProt      := retDistDFeInt.docZip.Items[I].resEvento.nProt;

      // retorno de procevento
      // Doc.procEvento            := retDistDFeInt.docZip.Items[I].procEvento;

      Doc.procEvento.ID         := retDistDFeInt.docZip.Items[I].procEvento.ID;
      Doc.procEvento.cOrgao     := retDistDFeInt.docZip.Items[I].procEvento.cOrgao;
      Doc.procEvento.tpAmb      := retDistDFeInt.docZip.Items[I].procEvento.tpAmb;
      Doc.procEvento.CNPJ       := retDistDFeInt.docZip.Items[I].procEvento.CNPJ;
      Doc.procEvento.chDFe      := retDistDFeInt.docZip.Items[I].procEvento.chDFe;
      Doc.procEvento.dhEvento   := retDistDFeInt.docZip.Items[I].procEvento.dhEvento;
      Doc.procEvento.tpEvento   := retDistDFeInt.docZip.Items[I].procEvento.tpEvento;
      Doc.procEvento.nSeqEvento := retDistDFeInt.docZip.Items[I].procEvento.nSeqEvento;
      Doc.procEvento.verEvento  := retDistDFeInt.docZip.Items[I].procEvento.verEvento;

      // detevento
      Doc.procEvento.detEvento.Versao     := retDistDFeInt.docZip.Items[I].procEvento.detEvento.Versao;
      Doc.procEvento.detEvento.descEvento := retDistDFeInt.docZip.Items[I].procEvento.detEvento.descEvento;
      Doc.procEvento.detEvento.nProt      := retDistDFeInt.docZip.Items[I].procEvento.detEvento.nProt;
      Doc.procEvento.detEvento.xJust      := retDistDFeInt.docZip.Items[I].procEvento.detEvento.xJust;
      Doc.procEvento.detEvento.xCorrecao  := retDistDFeInt.docZip.Items[I].procEvento.detEvento.xCorrecao;
      Doc.procEvento.detEvento.tpAutor    := retDistDFeInt.docZip.Items[I].procEvento.detEvento.tpAutor;
      Doc.procEvento.detEvento.verAplic   := retDistDFeInt.docZip.Items[I].procEvento.detEvento.verAplic;

      // eventos de cte
      Doc.procEvento.detEvento.CTe.chCTe    := retDistDFeInt.docZip.Items[I].procEvento.detEvento.CTe.chCTe;
      Doc.procEvento.detEvento.CTe.modal    := retDistDFeInt.docZip.Items[I].procEvento.detEvento.CTe.modal;
      Doc.procEvento.detEvento.CTe.dhEmi    := retDistDFeInt.docZip.Items[I].procEvento.detEvento.CTe.dhEmi;
      Doc.procEvento.detEvento.CTe.nProt    := retDistDFeInt.docZip.Items[I].procEvento.detEvento.CTe.nProt;
      Doc.procEvento.detEvento.CTe.dhRecbto := retDistDFeInt.docZip.Items[I].procEvento.detEvento.CTe.dhRecbto;

      Doc.procEvento.detEvento.emit.CNPJ  := retDistDFeInt.docZip.Items[I].procEvento.detEvento.emit.CNPJ;
      Doc.procEvento.detEvento.emit.IE    := retDistDFeInt.docZip.Items[I].procEvento.detEvento.emit.IE;
      Doc.procEvento.detEvento.emit.xNome := retDistDFeInt.docZip.Items[I].procEvento.detEvento.emit.xNome;

      for Av := 0 to retDistDFeInt.docZip.Items[I].procEvento.detEvento.itensAverbados.Count - 1 do
      begin
        Averb := Doc.procEvento.detEvento.itensAverbados.New;

        Averb.dhEmbarque   := retDistDFeInt.docZip.Items[I].procEvento.detEvento.itensAverbados.Items[Av].dhEmbarque;
        Averb.dhAverbacao  := retDistDFeInt.docZip.Items[I].procEvento.detEvento.itensAverbados.Items[Av].dhAverbacao;
        Averb.nDue         := retDistDFeInt.docZip.Items[I].procEvento.detEvento.itensAverbados.Items[Av].nDue;
        Averb.nItem        := retDistDFeInt.docZip.Items[I].procEvento.detEvento.itensAverbados.Items[Av].nItem;
        Averb.nItemDue     := retDistDFeInt.docZip.Items[I].procEvento.detEvento.itensAverbados.Items[Av].nItemDue;
        Averb.qItem        := retDistDFeInt.docZip.Items[I].procEvento.detEvento.itensAverbados.Items[Av].qItem;
        Averb.motAlteracao := retDistDFeInt.docZip.Items[I].procEvento.detEvento.itensAverbados.Items[Av].motAlteracao;
      end;

      Doc.procEvento.RetinfEvento.ID          := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.ID;
      Doc.procEvento.RetinfEvento.tpAmb       := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.tpAmb;
      Doc.procEvento.RetinfEvento.verAplic    := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.verAplic;
      Doc.procEvento.RetinfEvento.cOrgao      := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.cOrgao;
      Doc.procEvento.RetinfEvento.cStat       := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.cStat;
      Doc.procEvento.RetinfEvento.xMotivo     := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.xMotivo;
      Doc.procEvento.RetinfEvento.chDFe       := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.chDFe;
      Doc.procEvento.RetinfEvento.tpEvento    := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.tpEvento;
      Doc.procEvento.RetinfEvento.xEvento     := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.xEvento;
      Doc.procEvento.RetinfEvento.nSeqEvento  := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.nSeqEvento;
      Doc.procEvento.RetinfEvento.CNPJDest    := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.CNPJDest;
      Doc.procEvento.RetinfEvento.emailDest   := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.emailDest;
      Doc.procEvento.RetinfEvento.cOrgaoAutor := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.cOrgaoAutor;
      Doc.procEvento.RetinfEvento.dhRegEvento := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.dhRegEvento;
      Doc.procEvento.RetinfEvento.nProt       := retDistDFeInt.docZip.Items[I].procEvento.RetinfEvento.nProt;
    end;
  end;
end;

nota, apos a primeira pesquisa desde o inicio, voce precisa salvar o ultimo nsu e passar ele no lugar do zero, senao toma bam

  • Membros Pro
Postado

Eu estou fazendo a mesma consulta: Se informo o numero de NSU que tinha na empresa, retorna consumo indevido, e se tento passar 0 também já retorna indevido direto na consulta:

o erro já dá aqui: ACBrNFe1.DistribuicaoDFe( UFtoCUF(cUFAutor), CNPJ, AultNSU, '' );

  • Consultores
Postado
26 minutos atrás, Carlos Júnior disse:

O Contador não pode fazer as consultas tb?

Não. é só uma pessoa que deve fazer.
mas isso é definido nos manuais da distribuicaodfe

 

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

Semana passada aconteceu em um cliente meu... não sei se deu bug na hora de salvar o último NSU. Mas depois de aguardar e informar o NSU correto deu certo. 

Mas também já aconteceu do contador instalar um "programinha milagroso que buscava as notas do CNPJ" e ele estava usando essa consulta, conflitando com a consulta da empresa. 

Se não me engano tem um acesso específico para contadores, né? 

Postado
2 horas atrás, Juliano D. Rosa disse:

Semana passada aconteceu em um cliente meu... não sei se deu bug na hora de salvar o último NSU. Mas depois de aguardar e informar o NSU correto deu certo. 

Mas também já aconteceu do contador instalar um "programinha milagroso que buscava as notas do CNPJ" e ele estava usando essa consulta, conflitando com a consulta da empresa. 

Se não me engano tem um acesso específico para contadores, né? 

tem, se vc puser o cnpj do escritorio dele nas notas sua, teve um cliente, que pusemos, assim ele pesquisa com o certificado dele (lista de download autorizados)

  • Curtir 1
  • 1 mês depois ...
Postado

Bom dia, estou com uma dúvida se o meu cliente trocou de maquina e perdeu os registros já baixados anteriormente, se eu enviar 0 no ultimo NSU não seria para baixar tudo que esta disponível até chegar no maxNSU?

Postado

Voce manda o zero primeiro, depois passa mandar o que veio, senao vai tomar consumo indevido sim. Salve o max no seu registro da empresa, para sempre usar ele, qdo for fazer a proxima consulta.

  • Curtir 1

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.