Ir para conteúdo
  • Cadastre-se

dev botao

Manifestacao Do Destinatario


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

Recommended Posts

  • Membros Pro

Estive procurando informações sobre o comando NFe.ConsultaNFeDest(cCNPJ,nIndicadorNFe,nIndicadorEmissor,cultimoNSU), e o encontrei no SAC, gostaria de saber se pode me ajudar.

cCNPJ “e o CNPJ do emissor ou destinatário da danfe”

nIndicadorNFe= “do que se trata”

nIndicadorEmissor=”o que seria este parâmetro”

cultimoNSU=”e este?”

os comandos para manifestação do destario seria somente o NFe.ConsultaNFeDest? ou teria de usar algum comando antes e depois?

 

 

Link para o comentário
Compartilhar em outros sites

Leia a NT2012.002, tudas as suas dúvidas estarão respondidas lá.

 


Página 11 da NT

cCNPJ “e o CNPJ do emissor ou destinatário da danfe”

IP05 CNPJ E IP01 N 1-1 14 CNPJ do destinatário da NF-e. 
 

nIndicadorNFe= “do que se trata”

 

 

IP06 indNFe E IP01 N 1-1 1 Indicador de NF-e consultada: 
0=Todas as NF-e; 
1=Somente as NF-e que ainda não tiveram manifestaçãodo 
destinatário (Desconhecimento da operação, Operaçãonã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. 
 

nIndicadorEmissor=”o que seria este parâmetro”

IP07 indEmi E IP01 N 1-1 1 Indicador do Emissor da NF-e: 
0=Todos os Emitentes / Remetentes; 
1=Somente as NF-e emitidas por emissores / remetentes que 
não tenham o mesmo CNPJ-Base do destinatário (para excluir 
as notas fiscais de transferência entre filiais). 

cultimoNSU=”e este?”
IP08 ultNSU E IP01 N 1-1 1-15  Ú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. 

 

 

os comandos para manifestação do destario seria somente o NFe.ConsultaNFeDest? ou teria de usar algum comando antes e depois?

 

 

os comandos para manifestação do destario seria somente o NFe.ConsultaNFeDest? ou teria de usar algum comando antes e depois?

Novamente, leia a NT, uma coisa é a consulta, outra é o evento de manifestação.

  • Curtir 1

- Sou desenvolvedor.

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

- Qualquer uma, sou desenvolvedor.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Leia a NT2012.002, tudas as suas dúvidas estarão respondidas lá.

 

Página 11 da NT

cCNPJ “e o CNPJ do emissor ou destinatário da danfe”

IP05 CNPJ E IP01 N 1-1 14 CNPJ do destinatário da NF-e. 
 

nIndicadorNFe= “do que se trata”

 

 

IP06 indNFe E IP01 N 1-1 1 Indicador de NF-e consultada: 
0=Todas as NF-e; 
1=Somente as NF-e que ainda não tiveram manifestaçãodo 
destinatário (Desconhecimento da operação, Operaçãonã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. 
 

nIndicadorEmissor=”o que seria este parâmetro”

IP07 indEmi E IP01 N 1-1 1 Indicador do Emissor da NF-e: 
0=Todos os Emitentes / Remetentes; 
1=Somente as NF-e emitidas por emissores / remetentes que 
não tenham o mesmo CNPJ-Base do destinatário (para excluir 
as notas fiscais de transferência entre filiais). 

cultimoNSU=”e este?”
IP08 ultNSU E IP01 N 1-1 1-15  Ú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. 

 

 

os comandos para manifestação do destario seria somente o NFe.ConsultaNFeDest? ou teria de usar algum comando antes e depois?

 

 

os comandos para manifestação do destario seria somente o NFe.ConsultaNFeDest? ou teria de usar algum comando antes e depois?

Novamente, leia a NT, uma coisa é a consulta, outra é o evento de manifestação.

ok obrigado markapollo

novas duvidas postarei abaixo

grato

Link para o comentário
Compartilhar em outros sites

mas, a única forma de fazer a manifestação é pela chave da nota,

 

Como eu te falei, "uma coisa é uma coisa e outra coisa é outra coisa"!

 

Independente da consulta de NFe destinadas, você pode fazer a manifestação das notas recebidas.

 

A consulta serve para que você saiba quais notas foram emitidas para você, principalmente as que não chegaram.

- Sou desenvolvedor.

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

- Qualquer uma, sou desenvolvedor.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

observe se fiz tudo corretamente:

COMANDO:

NFe.ConsultaNFeDest(17507930000139,0,0,6961500426)

 

RETORNO:

OK:

versao=1.01

tpAmb=1

verAplic=1.0.0

cStat=137

xMotivo=Nenhum documento localizado para o destinatario

dhResp=10/05/2013 14:23:05

indCont=1

ultNSU=6962000426

 

ONDE O CNPJ É DO RECEPTOR DA NOTA.

Falta algo neste comando? Testei várias vezes inclusive alterando o ultNSU e todos reornaram a mesma coisa.

Aguardo.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

observe se fiz tudo corretamente:

COMANDO:

NFe.ConsultaNFeDest(17507930000139,0,0,6961500426)

 

RETORNO:

OK:

versao=1.01

tpAmb=1

verAplic=1.0.0

cStat=137

xMotivo=Nenhum documento localizado para o destinatario

dhResp=10/05/2013 14:23:05

indCont=1

ultNSU=6962000426

 

ONDE O CNPJ É DO RECEPTOR DA NOTA.

Falta algo neste comando? Testei várias vezes inclusive alterando o ultNSU e todos reornaram a mesma coisa.

Aguardo.

Já foi falado em diversos tópicos que enquanto o retorno tiver o campo indCont=1 vc deve repetir a consulta informando o ultNSU recebido. Se foi o mesmo da última consulta, repita o NSU, só pare de fazer a consulta qdo retornar indCont=0

  • Curtir 1
djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

NFe.ConsultaNFeDest(17507930000139,0,0,118940659)

OK:
versao=1.01
tpAmb=2
verAplic=1.0.0
cStat=137
xMotivo=Nenhum documento localizado para o destinatario
dhResp=10/05/2013 17:47:27
indCont=0
ultNSU=119098466

o indCont chegou a 0 foi feito em homologação mas continua retornando "Nenhum documento localizado para o destinatário"

e agora?
 

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

Considerando que o serviço ConsultaNFeDest serve para consultar todas as nfe's que foram emitidas contra você, que você está consultando em ambiente de homologação, muito possívelmente ninguem emitiu nenhuma nota, em homologação, contra seu CNPJ.

 

Já experimentou fazer o teste em produção?

- Sou desenvolvedor.

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

- Qualquer uma, sou desenvolvedor.

Link para o comentário
Compartilhar em outros sites

sim, porem ainda não consegui um indcont=0 em produção.

teria algum exemplo de resposta positiva?

Sim, em produção necessitei de mais de 1k de loop para chegar ao indcont=0, partindo do UltNSU = 0

- Sou desenvolvedor.

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

- Qualquer uma, sou desenvolvedor.

Link para o comentário
Compartilhar em outros sites

poxa... ok obrigado vou tentando aqui...

mais uma coisa quando a resposta terna positiva ela traz o numero da danfe junto, ou so um status de ok por exemplo?!

 

Chegou a ler a NT2012.002?  nela diz como é o resultado em cada caso.

- Sou desenvolvedor.

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

- Qualquer uma, sou desenvolvedor.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

cheguei sim, mas não compreendi bem seria isso?

A resposta do WS da SEFAZ pode ser:

· Rejeição - com a devolução da mensagem com o motivo da falha informado no cStat;

· Nenhum documento localizado – não existe documentos fiscais para o CNPJ informado –

cStat=”137-Nenhum documento localizado para o destinatário”;

· Documento localizado – com a devolução das informações de resumo de documentos

encontrados – cStat=”138-Documento localizado para o destinatário”.

Link para o comentário
Compartilhar em outros sites

Leia na página 12 do manual  o item 4.10.2 (Leiaute Mensagem de Retorno)

 

Nele está a estrutura do retorno, qualquer dúvida verifique no Demo do NFe que esta função está implementada.

- Sou desenvolvedor.

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

- Qualquer uma, sou desenvolvedor.

Link para o comentário
Compartilhar em outros sites

Ola Amigos,

 

Estou com um probleminha,

ao enviar o evento do manifesto em homologação acontece o seguinte erro:

 

Erro:   xmotivo:evento nao atende o schema XML especifico

cstat:493  falha na validaçao dos dados  (violates pattern constraint of [!-y]{1}[!-y]{0}[!-y]{1}[!-y]{1}

 

Ao enviar em produção , retorna Lote Processado, mas o Xmotivo retorna erro, diz que houve rejeição , o codigo do orgao diverge do codigo autorizador

cOrgao:91  no retorno

tentei informar da seguinte forma        infEvento.corgao := 35;  mas não aceita, continua retornando codigo 91.
 

estou com os fontes atualizados, inclusive os schemas, alguem ja passou por isso,  pois antes da ultima atualização funcionava em homologação e produção

 

Agradeço antecipadamente

 

Link para o comentário
Compartilhar em outros sites

Marcos e ArqBox...

 

não deu pra melhorar o codigo ai pra vcs não... mas analise ai que vão encontrar a solução

 

lcultimoNSU := '0';
indNFe := '0';
ndEmi := '0';
with FrmPrincipal.ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest do
      begin
        repeat
          Application.ProcessMessages;

          FrmPrincipal.ACBrNFe1.ConsultaNFeDest(CNPJ, StrToIndicadorNFe(lbok,indNFe), StrToIndicadorEmissor(lbok,IndEmi), lcultimoNSU);

          for i := 0 to FrmPrincipal.ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Count - 1 do
            begin
              lcultimoNSU := FrmPrincipal.ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ultNSU;

              // Retorno NF-e
              with FrmPrincipal.ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest do
                begin
                  if trim(ret.Items.resNFe.chNFe) <> '' then
                    begin
                      if ret.Items.resNFe.cSitNFe <> snCancelada then
                        begin
                          dm.cdsManifesto.Append;
                          dm.cdsManifestoID.AsInteger := 0;
                          dm.cdsManifestoIDMANICONSULTA.AsInteger := lnIDManiConsulta;
                          dm.cdsManifestoVERSAO.AsString := versao;
                          dm.cdsManifestoAMBIENTE.AsString := sAmbiente;
                          dm.cdsManifestoVERSAPLICATIVO.AsString := verAplic;
                          dm.cdsManifestoSTATUS.AsInteger := cStat;
                          dm.cdsManifestoMOTIVO.AsString := xMotivo;
                          dm.cdsManifestoDATACONSULTA.AsDateTime := StrToDate(formatdatetime('dd/mm/yyyy',dhResp));
                          dm.cdsManifestoHORACONSULTA.AsDateTime := StrToTime(formatdatetime('hh:mm:ss',dhResp));
                          dm.cdsManifestoDATAMANIFESTO.AsDateTime := StrToDate(formatdatetime('dd/mm/yyyy',dhResp));
                          dm.cdsManifestoHORAMANIFESTO.AsDateTime := StrToTime(formatdatetime('hh:mm:ss',dhResp));
                          dm.cdsManifestoNSU.AsString := ret.Items.resNFe.NSU;
                          dm.cdsManifestoCHAVENFE.AsString := ret.Items.resNFe.chNFe;
                          dm.cdsManifestoCNPJCPF.AsString := ret.Items.resNFe.CNPJCPF;
                          dm.cdsManifestoNOMEEMITENTE.AsString := ret.Items.resNFe.xNome;
                          dm.cdsManifestoIE.AsString := ret.Items.resNFe.IE;
                          dm.cdsManifestoDATAEMISSAO.AsDateTime := StrToDate(formatdatetime('dd/mm/yyyy',ret.Items.resNFe.dEmi));
                          dm.cdsManifestoTIPONFE.AsString := sTiponfe;
                          dm.cdsManifestoTOTANFE.AsFloat := ret.Items.resNFe.vNF;
                          dm.cdsManifestoDIGVAL.AsString := ret.Items.resNFe.digVal;
                          dm.cdsManifestoDATAAUTORIZACAO.AsDateTime := StrToDate(formatdatetime('dd/mm/yyyy',ret.Items.resNFe.dhRecbto));
                          dm.cdsManifestoHORAAUTORIZACAO.AsDateTime := StrToTime(formatdatetime('hh:nn:ss',ret.Items.resNFe.dhRecbto));
                          dm.cdsManifestoSITUNFEVALOR.AsString := SituacaoNFe('',SNFE);
                          dm.cdsManifestoSITUNFE.AsString := sNFE;
                          dm.cdsManifestoSITUMANIVALOR.AsString := SituacaoManifesto('',sManifesto);
                          dm.cdsManifestoSITUMANIFESTO.AsString := sManifesto;
                          dm.cdsManifestoCCE.AsString := 'N';
                          dm.cdsManifesto.Post;
                        end;
                    end;
                end;

              // Retorno NF-e Cancelada
              with FrmPrincipal.ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest do
                begin
                  if trim(ret.Items.resCanc.chNFe) <> '' then
                    begin
                      dm.cdsManifesto.Append;
                      dm.cdsManifestoID.AsInteger := 0;
                      dm.cdsManifestoIDMANICONSULTA.AsInteger := lnIDManiConsulta;
                      dm.cdsManifestoVERSAO.AsString := versao;
                      dm.cdsManifestoAMBIENTE.AsString := sAmbiente;
                      dm.cdsManifestoVERSAPLICATIVO.AsString := verAplic;
                      dm.cdsManifestoSTATUS.AsInteger := cStat;
                      dm.cdsManifestoMOTIVO.AsString := xMotivo;
                      dm.cdsManifestoDATACONSULTA.AsDateTime := StrToDate(formatdatetime('dd/mm/yyyy',dhResp));
                      dm.cdsManifestoHORACONSULTA.AsDateTime := StrToTime(formatdatetime('hh:mm:ss',dhResp));
                      dm.cdsManifestoDATAMANIFESTO.AsDateTime := StrToDate(formatdatetime('dd/mm/yyyy',dhResp));
                      dm.cdsManifestoHORAMANIFESTO.AsDateTime := StrToTime(formatdatetime('hh:mm:ss',dhResp));
                      dm.cdsManifestoNSU.AsString := ret.Items.resCanc.NSU;
                      dm.cdsManifestoCHAVENFE.AsString := ret.Items.resCanc.chNFe;
                      dm.cdsManifestoCNPJCPF.AsString := ret.Items.resCanc.CNPJCPF;
                      dm.cdsManifestoNOMEEMITENTE.AsString := ret.Items.resCanc.xNome;
                      dm.cdsManifestoIE.AsString := ret.Items.resCanc.IE;
                      dm.cdsManifestoDATAEMISSAO.AsDateTime := StrToDate(formatdatetime('dd/mm/yyyy',ret.Items.resCanc.dEmi));
                      dm.cdsManifestoTIPONFE.AsString := sTiponfe;
                      dm.cdsManifestoTOTANFE.AsFloat := ret.Items.resCanc.vNF;
                      dm.cdsManifestoDIGVAL.AsString := ret.Items.resCanc.digVal;
                      dm.cdsManifestoDATAAUTORIZACAO.AsDateTime := StrToDate(formatdatetime('dd/mm/yyyy',ret.Items.resCanc.dhRecbto));
                      dm.cdsManifestoHORAAUTORIZACAO.AsDateTime := StrToTime(formatdatetime('hh:nn:ss',ret.Items.resCanc.dhRecbto));
                      dm.cdsManifestoSITUNFEVALOR.AsString := SituacaoNFE('',sNFE);
                      dm.cdsManifestoSITUNFE.AsString := sNFE;
                      dm.cdsManifestoSITUMANIVALOR.AsString := SituacaoManifesto('',sManifesto);
                      dm.cdsManifestoSITUMANIFESTO.AsString := sManifesto;
                      dm.cdsManifestoCCE.AsString := 'N';
                      dm.cdsManifesto.Post;
                    end;

                  // Retorno da Carta de Correção
                  // Retorno Manifesto do Destinatario quando Carta de Correção
                  // Retorno CC-e Carta de Correção
                  with FrmPrincipal.ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest do
                    begin
                      if trim(ret.Items.resCCe.chNFe) <> '' then
                        begin
                          dm.cdsManifesto.Append;
                          dm.cdsManifestoID.AsInteger := 0;
                          dm.cdsManifestoIDMANICONSULTA.AsInteger := lnIDManiConsulta;
                          dm.cdsManifestoVERSAO.AsString := versao;
                          dm.cdsManifestoAMBIENTE.AsString := sAmbiente;
                          dm.cdsManifestoVERSAPLICATIVO.AsString := verAplic;
                          dm.cdsManifestoSTATUS.AsInteger := cStat;
                          dm.cdsManifestoMOTIVO.AsString := xMotivo;
                          dm.cdsManifestoDATACONSULTA.AsDateTime := StrToDate(formatdatetime('dd/mm/yyyy',dhResp));
                          dm.cdsManifestoHORACONSULTA.AsDateTime := StrToTime(formatdatetime('hh:mm:ss',dhResp));
                          dm.cdsManifestoNSU.AsString := ret.Items.resCCe.NSU;
                          dm.cdsManifestoCHAVENFE.AsString := ret.Items.resCCe.chNFe;
                          dm.cdsManifestoCNPJCPF.AsString := '';
                          dm.cdsManifestoNOMEEMITENTE.AsString := '';
                          dm.cdsManifestoIE.AsString := '';
                          dm.cdsManifestoDATAEMISSAO.AsDateTime := StrToDate(formatdatetime('dd/mm/yyyy',ret.Items.resCCe.dhEvento));
                          dm.cdsManifestoTIPONFE.AsString := sTiponfe;
                          dm.cdsManifestoTOTANFE.AsFloat := 0;
                          dm.cdsManifestoDIGVAL.AsString := '';
                          dm.cdsManifestoDATAAUTORIZACAO.AsDateTime := StrToDate(formatdatetime('dd/mm/yyyy',ret.Items.resCCe.dhEvento));
                          dm.cdsManifestoHORAAUTORIZACAO.AsDateTime := StrToTime(formatdatetime('hh:nn:ss',ret.Items.resCCe.dhEvento));
                          dm.cdsManifestoSITUNFEVALOR.AsString := SituacaoNFE('',sNFE);
                          dm.cdsManifestoSITUNFE.AsString := sNFE;
                          dm.cdsManifestoSITUMANIVALOR.AsString := SituacaoManifesto('',sManifesto);
                          dm.cdsManifestoSITUMANIFESTO.AsString := sManifesto;
                          dm.cdsManifestoCCE.AsString := 'S';
                          dm.cdsManifesto.Post;

                          // Grava Consulta CC-e no banco de dados
                          try
                            dm.cdsCCE.Append;
                            dm.cdsCCENSU.AsString := ret.Items.resCCe.NSU;
                            dm.cdsCCECHAVNFE.AsString := ret.Items.resCCe.chNFe;
                            dm.cdsCCEDATAEVENTO.AsDateTime := StrToDate(formatdatetime('dd/mm/yyyy',ret.Items.resCCe.dhEvento));
                            if sTiponfe = 'E' then
                              dm.cdsCCETIPONFE.AsString := '0'
                            else
                              dm.cdsCCETIPONFE.AsString := '1';
                            dm.cdsCCEDESCRICAO.AsString := ret.Items.resCCe.descEvento;
                            dm.cdsCCECORRECAO1.AsString := Copy(ret.Items.resCCe.xCorrecao,1,200);
                            dm.cdsCCECORRECAO2.AsString := Copy(ret.Items.resCCe.xCorrecao,201,400);
                            dm.cdsCCECORRECAO3.AsString := Copy(ret.Items.resCCe.xCorrecao,401,600);
                            dm.cdsCCECORRECAO4.AsString := Copy(ret.Items.resCCe.xCorrecao,601,800);
                            dm.cdsCCECORRECAO5.AsString := Copy(ret.Items.resCCe.xCorrecao,801,1000);
                            dm.cdsCCEDATAAUTORIZACAO.AsDateTime := StrToDate(formatdatetime('dd/mm/yyyy',ret.Items.resCCe.dhEvento));
                            dm.cdsCCEHORAAUTORIZACAO.AsDateTime := StrToTime(formatdatetime('HH:NN:SS',ret.Items.resCCe.dhEvento));
                            dm.cdsCCE.Post;

                          except
                          end;

                        end;
                    end;
                end;

              if trim(lcultimoNSU) = '' then
                lcultimoNSU := '0';
            end;

        until FrmPrincipal.ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest.indCont = icNaoPossuiMaisDocumentos;
      end;

Link para o comentário
Compartilhar em outros sites

Olá Darlana meu problema é o mesmo do centuryinf no que diz respeito ao órgão autorizador "o codigo do orgao diverge do codigo autorizador", resolvi passando fixo o cOrgao como 91 mas creio que não seja a maneira correta, gostaria de saber se alguém teve esse problema após a atualização e como foi resolvido.

Obrigado.

Link para o comentário
Compartilhar em outros sites

Marcos,

 

eu somente consegui transmiti utilizando o orgão 91, como minha aplicação ainda não foi pra o modo de produção, coloquei o orgão parametrizado, logo imagino que em modo de produção deva estar funcionando corretamente, portando senão estiver, creio que o mais sensato a fazer é enviar e-mail para a secretaria da fazenda de origem e verificar o que dizem.

 

Aproveitando, alguém em Minas, conseguiu transmitir com orgão diferente de 91? E em modo de homologação?

 

Darlana Nogueira

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • Este tópico foi criado há 3455 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.