Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Estou há mais de 2 semanas para resolver um problema, NFCE CONTIGÊNCIA.

 

Meu Deus o coisa complicada...

 

A situação foi a seguinte, um cliente meu enviou uma nota nfce em contigência, com uma chave X.

Aí a hora que a nota saiu da contigência, ela ficou a com a chave y.

 

E eu precisava pegar o xml da nfe y que é a certa.

Porém até agora não descobri como fazer.

 

Precisava também de dados, como o protocolo novo e data de recebimento novo.

Estou a bastante tempo atras de uma solução e até agora nada...

 

Podem pelo amor de Deus, dar uma luz...

Link para o comentário
Compartilhar em outros sites

  • Moderadores
1 hora atrás, rodrigoernandespaiva disse:

A situação foi a seguinte, um cliente meu enviou uma nota nfce em contigência, com uma chave X.

Aí a hora que a nota saiu da contigência, ela ficou a com a chave y.

Como a chave foi alterada?

No processo normal de emissão em contingência a chave deve ser mantida ao transmitir o XML após a saída da contingência.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
27 minutos atrás, rodrigoernandespaiva disse:

41181003366042000139650010000427721000427724-ped-sit chave correta

41181003366042000139650010000427729000427720-nfe chave que foi enviada a nota em contigência

O que está mudando é o dígito referente ao tipo de emissao. 1 para normal e 9 para contingência.

Nesse caso específico você precisa alterar novamente o tipo de emissão para normal, gerar novamente o XML e usar o método ACBrNFe.Consultar para atualizar o XML com o protocolo de autorização.

Leia o manual de contingência off-line da NFCe, ele determina o que fazer caso haja erro na transmissão de uma NFCe em modo normal, de forma que a chave não venha a ser alterada por alteração do tipo de emissão.

http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=YbZEjEHCuHQ=

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

11 horas atrás, carlosinfoteen disse:

Segue trecho do código que uso no meu sistema. tenta adaptar ao teu ai.

Espero que te seja de ajuda.

 

Deus abençoe.

 

codigo contingencia nfce.txt

neste caso no seu exemplo você já tem o xml com a chave certa no seu computador...

e quando não tem, como proceder?

Link para o comentário
Compartilhar em outros sites

28 minutos atrás, rodrigoernandespaiva disse:

neste caso no seu exemplo você já tem o xml com a chave certa no seu computador...

e quando não tem, como proceder?

Na hora que gero os dados da nota eu tenho 2 campos de chave e os mesmos são preenchidos igualmente. Dai se a nota é emitida em contingencia um destes campos é lançado a a chave em contingencia. Logo ou eu tenho um ou eu tenho o outro.

 

Agora, você tem a chave na nota no seu xml não tem? Então tenta automatizar a rotina puxando os dados do xml...

 

//----------------------Envia de selecionando o xml e atualiza bd / ADAPTA ai------------------------------
              if OpenDialog1.Execute then
                begin
                    FDataModuleConfiguracao.ACBrNFe.NotasFiscais.Clear;
                    FDataModuleConfiguracao.ACBrNFe.NotasFiscais.LoadFromFile(OpenDialog1.FileName, False);
                    FDataModuleConfiguracao.ACBrNFe.Consultar();


                   //--------------------Atualiza Banco de dados---------------------
                     cdsEditaStatusNFCe.Edit;
                     cdsEditaStatusNFCe.FieldByName('CSTAT').AsInteger := FDataModuleConfiguracao.ACBrNFe.WebServices.Consulta.cStat;
                     cdsEditaStatusNFCe.FieldByName('TEXTO_XMOTIVO_RETORNO_SEFAZ').AsString := FDataModuleConfiguracao.ACBrNFe.WebServices.Consulta.XMotivo;
                     cdsEditaStatusNFCe.FieldByName('AUTORIZACAO_NUM_PROTOCOLO').AsString := FDataModuleConfiguracao.ACBrNFe.WebServices.Consulta.Protocolo;
                     cdsEditaStatusNFCe.FieldByName('AUTORIZACAO_DATAHORA').AsDateTime := FDataModuleConfiguracao.ACBrNFe.WebServices.Consulta.DhRecbto;

                    
                     cdsEditaStatusNFCe.FieldByName('AUTORIZACAO_XML').AsString := FDataModuleConfiguracao.ACBrNFe.NotasFiscais.Items[0].GerarXML; //---
                     cdsEditaStatusNFCe.FieldByName('DIGVAL').AsString := FDataModuleConfiguracao.ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.digVal;
                     cdsEditaStatusNFCe.FieldByName('AUTORIZACAO_NUM_RECIBO').AsString := FDataModuleConfiguracao.ACBrNFe.WebServices.Retorno.Recibo; 


                    //-------Atualiza o movimento do caixa----

                   if FDataModuleConfiguracao.ACBrNFe.CstatConfirmada(cdsEditaStatusNFCe.FieldByName('CSTAT').AsInteger) then
                      begin
                        cdsEditaStatusNFCe.FieldByName('STATUS_NOTA_TEXTO').AsString := 'AUTORIZADA';
                      end
                      else
                        if FDataModuleConfiguracao.ACBrNFe.CstatCancelada(cdsEditaStatusNFCe.FieldByName('CSTAT').AsInteger) then
                          begin
                            cdsEditaStatusNFCe.FieldByName('STATUS_NOTA_TEXTO').AsString := 'CANCELADA';
                          end
                          else
                            if (cdsEditaStatusNFCe.FieldByName('CSTAT').AsInteger=205) then
                              begin                              
                                cdsEditaStatusNFCe.FieldByName('STATUS_NOTA_TEXTO').AsString := 'DENEGADA';
                              end
                                else
                                  if (cdsEditaStatusNFCe.FieldByName('STATUS_NOTA_TEXTO').AsString = 'OFFLINE') then
                                      begin
                                        cdsEditaStatusNFCe.FieldByName('STATUS_NOTA_TEXTO').AsString := 'OFFLINE';
                                      end
                                        else
                                          if (cdsEditaStatusNFCe.FieldByName('STATUS_NOTA_TEXTO').AsString <> 'INUTILIZADA') then
                                            begin                         
                                              cdsEditaStatusNFCe.FieldByName('STATUS_NOTA_TEXTO').AsString := 'EM DIGITAÇÃO';
                                            end;


                   cdsEditaStatusNFCe.Post;
                   if cdsEditaStatusNFCe.ApplyUpdates(0)<>0 then
                     cdsEditaStatusNFCe.CancelUpdates;


                     Application.MessageBox('Nota atualizada com sucesso!!!', 'Nota Atualizada!', MB_OK + MB_ICONINFORMATION);
                end;

 

 

 

 

Link para o comentário
Compartilhar em outros sites

Bom Dia.

Aproveitando a postagem estou com a seguinte dúvida.

Uma NFCe que foi emitida em contingência, mesmo após a autorização da Receita na impressão da DANFCe mosta a mensagem "Emitido em Contingência - Pendente de Autorização". 

Pelo que validei na unit ACBrNFeDANFEFRDM.pas , na linha 719, é feita a seguinte validação:

        if (FNFe.Ide.tpEmis <> teNormal) and EstaVazio(FNFe.procNFe.nProt) then
          FieldByName('MensagemFiscal').AsString := ACBrStr('EMITIDA EM CONTINGÊNCIA'+LineBreak+'Pendente de autorização')
        else
          FieldByName('MensagemFiscal').AsString := ACBrStr('ÁREA DE MENSAGEM FISCAL');

Não seria o caso de validar também o cStat para exibir a Mensagem "Pendende de autorização".  exemplo:

FieldByName('MensagemFiscal').AsString := ACBrStr('EMITIDA EM CONTINGÊNCIA'+
          ifthen(( FNFe.procNFe.cStat = 100 ) or ( FNFe.procNFe.cStat = 150 ),'',LineBreak+'Pendente de autorização'))

Se o cStat for 100 ou 150 só exibo 'EMITIDA EM CONTINGÊNCIA'.

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
24 minutos atrás, mauriciobng disse:

Uma NFCe que foi emitida em contingência, mesmo após a autorização da Receita na impressão da DANFCe mosta a mensagem "Emitido em Contingência - Pendente de Autorização". 

Pelo que validei na unit ACBrNFeDANFEFRDM.pas , na linha 719, é feita a seguinte validação: 

        if (FNFe.Ide.tpEmis <> teNormal) and EstaVazio(FNFe.procNFe.nProt) then
          FieldByName('MensagemFiscal').AsString := ACBrStr('EMITIDA EM CONTINGÊNCIA'+LineBreak+'Pendente de autorização')
        else
          FieldByName('MensagemFiscal').AsString := ACBrStr('ÁREA DE MENSAGEM FISCAL');

Apliquei essa correção ontem, inserindo a validação pelo protocolo, para não mostrar mais a mensagem quando a NFCe já está autorizada.

Você afirma que mesmo com a correção, continua aparecendo a mensagem de pendente de autorização?

Se sim, por favor, informe quando arquivo .fr3 está usando e anexe o XML.

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

  • Administradores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1976 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.