Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde pessoal.

 

Aconteceu com alguns clientes, desde 10/03/2014, de a consulta da NF-e não "trazer" a tarja de cancelamento.

 

Atualizei os fontes do acbr, os schemas e ainda não mostra a tarja na impressão.

 

Gostaria de saber deixei de fazer alguma coisa, se mais alguém teve este problema e como resolveu.

 

Obrigado e até mais.

 

obs.: o cancelamento foi feito antes da atualização, e a consulta do xml depois.

Postado

ricardo_casc, obrigado por responder.

 

Ja estava fazendo assim após a implantação do cancelamento por evento, mas desde ontem mesmo consultando a nfe o xml continua como autorizado, no procEventoNFe vem as duas informações ( Autorizado o uso e mais abaixo a informação do cancelamento ) mas no xml não muda, mas ele sofre alguma alteração pois sua data de modificação fica igual a do procEventoNFe. Isso é que me deixou preocupado.

 

Obrigado novamente.

  • Moderadores
Postado

Olha segundo a NT o XML autorizado continua inalterado mesmo após qualquer evento ou cancelamento da NF-e e o que rege o cancelamento é o xml de evento!

pra fazer oque você quer no danfe existe uma propriedade que deve de informar true para cancelada antes de imprimir

mas o que mesmo vale é o evento e o xml deve de continuar o mesmo de sua autorização

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Olha segundo a NT o XML autorizado continua inalterado mesmo após qualquer evento ou cancelamento da NF-e e o que rege o cancelamento é o xml de evento!

pra fazer oque você quer no danfe existe uma propriedade que deve de informar true para cancelada antes de imprimir

mas o que mesmo vale é o evento e o xml deve de continuar o mesmo de sua autorização

 

Juliomar obrigado por responder, acho que entendi o que você disse, vou verificar o cancelamento da NF-e e ativar a tarja do DANFE caso a mesma tenha sido cancelada.

 

Obrigado novamente, e até mais.

Postado

Oi, Juliomar Marchetti...

Fui conferir na NT e você está certo.

 

Qual a propriedade é o AtualizarXMLCancelada?

Até onde sabemos, deixa ela em TRUE ele atualiza o XML original com as informações do cancelamento.

 

Obrigado.

William De Marchi
Desenvolvedor Delphi / PHP  – Campinas (SP)

 

RWA Sistemas

 

Postado

Boa noite, antes eu verificava se a NFe estava cancelada usando o procedimento descrito abaixo

 

      acbrNFe.WebServices.Consulta.NFeChave := FChaveNFe;
      acbrNFe.Consultar;
      if acbrNFe.WebServices.Consulta.cStat = 101 then
      Result := True;
      if acbrNFe.WebServices.Consulta.cStat = 151 then
      begin
         Application.MessageBox('Cancelamento de NF-e homologado fora de prazo.'
           + #13#10 + 'Passível de multa...', 'Atenção', MB_OK +
           MB_ICONINFORMATION );
         Result := True;
      end;
 
Só que agora esta me retornando cstat = 100... 
Alguém poderia me auxiliar como devo proceder com essa nova forma de consulta... Agradeço desde já...
  • Moderadores
Postado

Boa noite

primeira coisa, efetuou a leitura conforme nosso amigo das NT da NF-e? então a partir de agora você terá um xml válido e um evento que irá dizer se está cancelado a nota!

também verá que muda alguns retornos então de começo faça a leitura dessas NT!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado (editado)

Juliomar,

 

Acho que o que o nosso colega Erik quis dizer é que o retorno da consulta mudou recentemente, muito depois da implementação de cancelamento por eventos. A rotina de consulta pela chave eu implementei apenas no mês passado e o retorno vinha, por exemplo, desta forma:

 

post-1712-0-82935200-1394719631_thumb.jp

 

Efetuando a mesma consulta hoje, obtive:

 

post-1712-0-74929300-1394719737.jpg

 

Então a mudança não está necessariamente atrelada à nota técnica, que já está em feito há muito tempo, e a SEFAZ-SP simplesmente mudou o retorno nos últimos dias.

 

Pessoalmente sou da opinião de que deveria haver mais estabilidade em serviços essenciais e desta magnitude. Um mês depois ter feito, testado e depurado, lá vamos nós outra vez como se nada mais tivéssemos para fazer a não ser programar para satisfazer ao humor da secretária da fazenda. Esta mudança é totalmente desprovida de sentido, o retorno da consulta indicava que a nota estava cancelada, e as tags protNFe e procEventoNFe descreviam o seu histórico.

 

Respondendo ao Erik, ainda não pensei em como fazer, mas creio que não há outra alternativa senão varrer o XML em busca da tag procEventoNFe de cancelamento.

 

XML Antes: 35140208520909000182550010000006201777646345-sit_Org.xml

 

XML Atual: 35140208520909000182550010000006201777646345-sit.xml

 

Cordialmente,

Carlos Tré

Editado por Carlos Tre
  • Moderadores
Postado

Carlos Tré

sim entendi, mas tem um documento que descreve que a nota ao efetuar a consulta ela já deveria de a muito tempo vir como autorizada, pois o XML não e a nota em si não se alterou , simplesmente se criou um evento que está fazendo ela cancelando, então acho que agora está acertado pois o XML e a NF-e não foi alterado, mas sim atrelado um evento cancelando ela!

Acredito que terá que ser modificado sua consulta e verificar os eventos para saber se foi cancelado!

que no caso é o ultimo evento da NF-e!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Boa tarde,

 

Respondendo ao Erick, aqui na empresa fazemos da seguinte forma:

                 for I := 0 to ACBrNFe1.WebServices.Consulta.procEventoNFe.Count - 1 do
                      begin
                        if ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.InfEvento.tpEvento = teCancelamento then
                        begin
                          if ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.retEvento.Count > 0 then
                          begin
                            Protocolo := ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.retEvento.Items[0].RetInfEvento.nProt;
                            Status := 101;
                            if ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.retEvento.Items[0].RetInfEvento.cStat = 135 then
                              Motivo := 'Cancelamento de NF-e homologado'
                            else
                              Motivo := ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[i].RetEventoNFe.retEvento.Items[0].RetInfEvento.xMotivo;
                          end;
                        end;
                      end;
  • Curtir 1

Renato Pavan

Desenvolvedor Delphi / PHP  – Campinas (SP)

 

RWA Sistemas

  • Moderadores
Postado

Desculpem se entendi errado.

 

Mas ao realizar a consulta da NFe na SEFAZ, a mesma volta se esta cancelada ou não e o componente carrega tudo isso pra ele.

Dae basta lermos as respectivas propriedades e alimentar nosso banco de dados...

 

Realmente não entendi o foco da discussão.

O problema é o XML não estar sendo atualizado mais com as informações de cancelamento?

 

Aquela Propriedade AtualizarXMLCancelada só existe pq na época eu levantei esse problema no fórum que NÃO era permitido pela SEFAZ alterar o XML de autorização de uso com as informações de cancelamento. Mas muitos usuários não se importavam em estar em desacordo com a SEFAZ e sim com a facilidade do XML alterado porém ILEGAL.

 

Logo para não polemizar eu criei esse propriedade para quem quisesse continuar fazendo errado que fizesse consciente.

 

Porém como o colega Juliomar vem lembrando, com o advento do cancelamento por evento essa propriedade ficou obsoleta por nao ser mais possivel atualizar o XML com as informações de cancelamento, devido o mesmo ser por evento e as TAGS serem diferentes.

 

Volto a repetir... a consulta da NFe traz TODAS as informaçoes inclusive os EVENTOS registrados na NF.

E o componente le TODAS essas informações.

Basta ler as propriedades e ir de encontro ao sol... ;)

 

[]´s

  • Curtir 1

João Henrique de Souza

 

Manual de como configurar o TortoiseSVN para não ficar mostrando a senha repetidas vezes (somente para commiters):

https://sourceforge.net/p/forge/community-docs/TortoiseSVN/

 

 

Postado

Juaumkiko,

 

Acho que está mesmo havendo um certo mal entendido, pois a questão inicial, levantada pelo Clóvis F. S. Júnior, não é a mesma que o Erick Fabiano Elias levantou, ao menos da forma que vejo não é.

 

Explicando melhor: No mês passado eu precisei implementar um procedimento de consulta de nota, de nossa emissão, conhecida a sua chave. A tag cStat sob o ramo retConsSitNFe em caso de nota cancelada, retornava 101, como pode ser visto no meu comentário anterior. Note que esta consulta foi feita em Fevereiro de 2014, ou seja, *muito* depois da implementação do cancelamento por eventos. Recentemente, como também pode ser visto no mesmo comentário, o cStat passou a ser 100, forçando a varredura do XML para determinar o efetivo cancelamento ou não da nota.

 

Nada a ver com alteração do XML original, apenas uma mudança, ao meu ver desnecessária, feita pela sefaz, no *retorno* de uma consulta. Além de desnecessária, mudança para pior, pois antes o retorno da consulta informava a situação corrente da nota, e agora não mais. Como benefício adicional, quem já tinha o código testado, depurado, e implementado vai ter que começar tudo de novo...

 

Cordialmente,

Carlos Tré

Postado

Carlos Tré

sim entendi, mas tem um documento que descreve que a nota ao efetuar a consulta ela já deveria de a muito tempo vir como autorizada, pois o XML não e a nota em si não se alterou , simplesmente se criou um evento que está fazendo ela cancelando, então acho que agora está acertado pois o XML e a NF-e não foi alterado, mas sim atrelado um evento cancelando ela!

Acredito que terá que ser modificado sua consulta e verificar os eventos para saber se foi cancelado!

que no caso é o ultimo evento da NF-e!

 

A consulta continua a mesma, só que ao invés de ler o cStat sob retConsSitNFe será necessário varrer todo o retorno para determinar a situação corrente da nota. Impossível ou complicado? De forma alguma, mas uma mudança totalmente desnecessária não menos, visto que da forma que era estava mais coerente, retornando no status da consulta a situação corrente da nota.

 

Cordialmente,

Carlos Tré

  • Curtir 1
  • Membros Pro
Postado

Desculpe se for ignorancia minha, mas ainda não entendi como fazer para na impressão da NF voltar a sair a tarja de NFe cancelada.

Alguem poderia me ajudar passando um exemplo de código?

Na consulta da NFe já consegui verificar se ela possui evento de cancelamento e capturar o status (101) no caso de cancelemtno homologado, pegando como base o exemplo do amigo renato.pavan, mas ainda não consegui fazer com que a nf volte a aparecer como cancelada, e nem que o componente exporte os XMLs cancelados na pasta canceladas, pois como o cStat fica como 100 ele exporta a nota como autorizada.

 

Agradeço pela atenção de todos.

Gilson do Carmo
WindSoft Sistemas

  • Membros Pro
Postado

Olá Italo, obrigado pela ajuda.

Neste caso não posso carregar no componente ao mesmo tempo, notas canceladas e não canceladas então?

 

Att.

Gilson do Carmo
WindSoft Sistemas

  • Consultores
Postado

Gilson,

 

Primeiramente, você vai precisar ter um campo no registro da nota no banco de dados, informando se a nota esta ou não cancelada.

 

Vamos supor que você possui uma rotina que imprime todas as notas de um cliente dentro de um periodo.

 

A idéia seria carregar no componente todas elas e executar o Imprimir, correto?

 

Agora você vai ter que separar:

 

Primeiro filtrar somente as não canceladas, carrega-las no componente e executar o Imprimir (com a propriedade NFeCancelada = False).

 

Depois filtrar somente as canceladas, carrega-las no componente e executar o imprimir (com a propriedade NFeCancelada = True).

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado

Valeu Ítalo, acho que esta realmente é a única solução.

 

Abraço e muito obrigado pela atenção mais uma vez. Agora que reparei, somos quase vizinhos ne?

Gilson do Carmo
WindSoft Sistemas

  • 3 meses depois ...
Postado

Bom dia Gilson,

 

Tente desta forma:

 

   ACBrNFe1.DANFe.NFeCancelada := True;

   ACBrNFe1.NotasFiscais.Imprimir;

 

Onde DANFe é o componente ACBrNFeDANFeQR1 (por exemplo) renomeado para DANFe

Boa noite Italo !

No meu caso uso o ACBrNFeDANFERaveCB.

Estou setando a propriedade para true, mas acredito que por estar fazendo os testes em ambiente de homologação a tarja que aparece é apensa do aviso do ambiente.

 

Infelizmente não estou podendo fazer testes em produção com o certificado que estou usando, então gostaria apenas de tirar a dúvida:

Em ambiente de produção, deixando o ACBrNFeDANFERaveCB.NFeCancelada = True  ele também aparece a tarja de "cancelada" ?

 

desde ja agradeço...

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