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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...