Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde amigos,

Implementei a NFCe com o recuros do componente ACBrECFVirtualNFCe. Sinto falta de um demo, exemplo ou documentação mais abrangente mas tenho conseguido contornar minhas dificuldades com gambiarras e experiências do tipo "tentativa e erro". Está tudo em pleno funcionamento atualmente, exceto, a contingência off-line. Depois de sai tentanto interceptar o melhor momento para alterar o tipo de emissão, descobri que o melhor momento é no evento OnTransmitError, só que esbarrei no problema de ter que gerar novamente o XML para conseguir fazer as mudanças necessárias:

      Tratado := True;
     ACBrNFCe.Configuracoes.Geral.FormaEmissao := teOffLine;
      ACBrNFCe.NotasFiscais[0].NFe.Ide.tpEmis   := teOffLine;
      ACBrNFCe.NotasFiscais[0].NFe.Ide.xJust    := 'Problemas técnicos no envio do documento eletrônico';
      ACBrNFCe.NotasFiscais[0].NFe.Ide.dhCont   := now;

      ACBrNFCe.NotasFiscais.GerarNFe; // <--- gero o novo xml alterado

Perfeito, problema 90% resolvido!!! Só que a tag de totais ficou toda zerada, não herdou nada do XML anterior.

Perguntas:

1- É isso mesmo que precisa acontecer, zerar os totais e precisar atribuir novamente?

2 - Tentei alterar os valores já armazenados em ACBrNFCe.NotasFiscais mas não surtiu efeito algum. Existe alguma forma de fazer essas alterações sem chamar o GerarNFe e perder o totalizador?

Obrigado.

 

  • Fundadores
Postado

Não vejo porque deveria zerar os totais...
Deixe um BkPoint em algum método interno do ACBrNFe, onde esteja zerando os valores... e quando chegar nele, use o CallStack para descobrir quem chamou...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado

Não encontrei nenhum ponto onde poderia estar zerando. Como não tive tempo para estudar os fontes,  decidi rodar uma consulta no banco e alimentar novamente a tag de totais após o GerarNFe. Minha dúvida era somente se eu estava fazendo algo errado.

Postado
1 hora atrás, Paulo Tenório disse:

Boa tarde amigos,

Implementei a NFCe com o recuros do componente ACBrECFVirtualNFCe. Sinto falta de um demo, exemplo ou documentação mais abrangente mas tenho conseguido contornar minhas dificuldades com gambiarras e experiências do tipo "tentativa e erro". Está tudo em pleno funcionamento atualmente, exceto, a contingência off-line. Depois de sai tentanto interceptar o melhor momento para alterar o tipo de emissão, descobri que o melhor momento é no evento OnTransmitError, só que esbarrei no problema de ter que gerar novamente o XML para conseguir fazer as mudanças necessárias:

      Tratado := True;
     ACBrNFCe.Configuracoes.Geral.FormaEmissao := teOffLine;
      ACBrNFCe.NotasFiscais[0].NFe.Ide.tpEmis   := teOffLine;
      ACBrNFCe.NotasFiscais[0].NFe.Ide.xJust    := 'Problemas técnicos no envio do documento eletrônico';
      ACBrNFCe.NotasFiscais[0].NFe.Ide.dhCont   := now;

      ACBrNFCe.NotasFiscais.GerarNFe; // <--- gero o novo xml alterado

Perfeito, problema 90% resolvido!!! Só que a tag de totais ficou toda zerada, não herdou nada do XML anterior.

Perguntas:

1- É isso mesmo que precisa acontecer, zerar os totais e precisar atribuir novamente?

2 - Tentei alterar os valores já armazenados em ACBrNFCe.NotasFiscais mas não surtiu efeito algum. Existe alguma forma de fazer essas alterações sem chamar o GerarNFe e perder o totalizador?

Obrigado.

 

Paulo, não necessita alterar a configuração para OFF-LINE (ACBrNFCe.Configuracoes.Geral.FormaEmissao := teOffLine;) a não ser que depois de uma entrar em contingência você emita todas as demais em contingência, mas isso não é recomentado.

Tente gravar o XML antes de cada comando para ver onde é que está gerando a falta dos valores.

Mas, a minha rotina é semelhante e nunca tive problemas parecidos.

Faço assim :

            memoLog.Lines.Add('>>Gera NFCe OFF-Line');

            Dm.ACBrNFe1.NotasFiscais[0].nfe.Ide.tpEmis := teOffLine;
            Dm.ACBrNFe1.NotasFiscais[0].nfe.Ide.dhCont := now;
            Dm.ACBrNFe1.NotasFiscais[0].nfe.Ide.xJust  := 'Problemas com a conexão de internet';

            memoLog.Lines.Add('>>GerarNFe ');
            DM.ACBrNFe1.NotasFiscais.GerarNFe;
            memoLog.Lines.Add('>>Assinar');
            DM.ACBrNFe1.NotasFiscais.Assinar;
            memoLog.Lines.Add('>>Validar');
            DM.ACBrNFe1.NotasFiscais.Validar;

 

  • Moderadores
Postado

Na abertura do "cupom", o componente grava um XML temporário apenas com dados do emitente, destinatário, totais zerados.

Se ocorrer erro na trasmissão, esse XML praticamente em branco é carregado e causa o problema de erro de validação, inclusive.

Eu contornei esse problema colocando, no evento QuandoGravarArquivoIni:

procedure TForm1.ACBrECFVirtualNFCe1QuandoGravarArqINI(ConteudoINI: TStrings; var Tratado: Boolean);
begin
  if not Assigned(ACBrECFVirtualNFCe1.ACBrNFCe) then
    Exit;
  if ACBrECFVirtualNFCe1.ACBrNFCe.NotasFiscais.Count > 0 then
    ACBrECFVirtualNFCe1.ACBrNFCe.NotasFiscais.GerarNFe;
end;

Assim o XML temporário é atualizado a cada item vendido.
 

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

Projeto ACBr

 

 

  • Moderadores
Postado
2 horas atrás, Paulo Tenório disse:

Resolvido com a dica do BigWings. Removi meus remendos. Merece ser implementado automaticamente no componente, evitando situações como a minha.

 

Obrigado!!!

Estranho pois senão me engano o @Régys Silveira fez algo assim e não precisou . deixa eu conversar com ele.

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

Juliomar, talvez o Regys faça a verificação de disponibilidade de internet/SEFAZ antes de iniciar o processo de geração ou tenha criado outro caminho para evitar o referido problema. O vídeo de demonstração dele é excelente e instigante mas existem muitos detalhes e situações adicionais que não foram mostrados e que precisam de intervenções para funcionar corretamente. No início ele me deu muita atenção e orientação sobre essas implementações adicionais e o local correto de fazer as capturas e complementos. Com esse apoio fui avançando bem mas hoje em dia ele nem me responde mais de tantas dúvidas e problemas que relatei no Telegram kkkk. Foi uma pena a Live dele sobre o assunto não ter sido realizada e nem remarcada. Segundo ele, um exemplo mais completo seria apresentado e no final haveria um espaço para questionamentos e dúvidas.

  • Fundadores
Postado

Reconheço que os ECFsVirtuais precisam de ajustes e melhorias... apesar de ter escrito a primeira versão do ECFVirtualSAT, em mesmo não utilizo ele em produção...

No meu caso, optei por criar um componente interno, um ECFVirtual, que herda de "TACBrECFVirtualBufferClass".. Optamos por esse caminho, pois desenvolvemos um middleware que fala como SAT, NFCe e MFE (semelhante ao ACBrMonitorPLUS)... então nosso ECFVirtual, fala na verdade com o esse Serviço...

@BigWings e @Paulo Tenório, fiquem a vontade para propor melhoria nos fontes... que na medida do possível, eu analiso e subo...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • 2 semanas depois ...
  • Moderadores
Postado
Em 15/09/2017 at 12:51, Paulo Tenório disse:

Juliomar, talvez o Regys faça a verificação de disponibilidade de internet/SEFAZ antes de iniciar o processo de geração ou tenha criado outro caminho para evitar o referido problema. O vídeo de demonstração dele é excelente e instigante mas existem muitos detalhes e situações adicionais que não foram mostrados e que precisam de intervenções para funcionar corretamente. No início ele me deu muita atenção e orientação sobre essas implementações adicionais e o local correto de fazer as capturas e complementos. Com esse apoio fui avançando bem mas hoje em dia ele nem me responde mais de tantas dúvidas e problemas que relatei no Telegram kkkk. Foi uma pena a Live dele sobre o assunto não ter sido realizada e nem remarcada. Segundo ele, um exemplo mais completo seria apresentado e no final haveria um espaço para questionamentos e dúvidas.

Bom, eu tenho isso funcionando hoje em vários clientes com SAT e NFC-e sem modificações, somente utilizando o que o componente dispõe.

Quanto a não responder no Telegram, eu ajudo no meu tempo livre quando me sobra, o mesmo se aplica as lives no youtube, teu tento ajudar sempre que posso, mas sinceramente não posso parar meus afazeres e minha empresa para responder a todos que me procuram no Telegram, whatsapp e outros canais, como disse, faço isso no meu tempo livre e é puramente para ajudar.

As pessoas que precisam de uma ajuda melhor e mais focada sempre me procuram para consultoria.

  • Curtir 1

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • Este tópico foi criado há 2612 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.