Ir para conteúdo
  • Cadastre-se

OFF-DEV

Membros Pro
  • Total de ítens

    251
  • Registro em

  • Última visita

1 Seguidor

Sobre OFF-DEV

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

OFF-DEV's Achievements

Community Regular

Community Regular (8/14)

  • Reacting Well Rare
  • Dedicated Rare
  • First Post
  • Collaborator Rare
  • Conversation Starter

Recent Badges

50

Reputação

2

Community Answers

  1. Então, Preciso capturar exatamente o evento do timeout , isso é possível dentro do código PASCAL do ACBR, só que preciso fazer isso no C# também para poder implementar a lógica proposta no vídeo treinamento mencionado. O código implementado na Acbr API não trata nada, veja:
  2. OK, vou verificar aqui e checar as configurações para ver se tem algo diferente. Sim, eu usei as ultimas versões da ACBR LIB. Retorno aqui quando conseguir terminar.
  3. Se eu entendi correto isso cai no que eu disse lá em cima, eu vou ter que obrigatoriamente alterar um fonte em C# do ACBR o que vai gerar problemas no futuro pois toda vez que tiver atualização vou ter que rever este código se não tiveram outras alterações e inserir novamente meu código toda a vez, o que aumenta o custo do procedimento. Não vou fazer isso, pois vai gerar problemas com certeza este tipo de coisa. Complementando a minha sugestão do Exception, não poderia criar um flag passada via Nfce.Config.ThrowExceptionTimeOut=true (default false) para que ocorra o Exception? Desta forma não afetaria ninguem que já usa a LIB e já resolveria o problema da detecção do TimeOut. Pode ser?
  4. Sugestão 2: Trago uma segunda sugestão de implementação qué simplesmente implementar no LIB C# o TimeOutException para o usuário da lib possa saber quando ocorreu e dar inicio ao processo do loop de contingência. Abs.
  5. Combinado meu amigo, vc acha que pela simplicidade do tipo de solução poderá sair rápido?
  6. Antonio, Não vai funcionar nem no teste, você percebeu que o StatusServico usa também o CheckResult? Vai ter o comportamento que eu descrevi.
  7. Olá Antonio, Não resolveria porque o Exception não me garante que ele foi disparado devido a um timeout, ele é genérico. No vídeo tutorial que eu postei do ACBR ele explica como escrever o código (vide novo anexo de imagem ) e passá-lo via personalização de um Exception. Como eu não posso alterar o código do ACBR (senão vou ter que alterar toda a vez que tiver atualização de versão), eu prefiro fazer o mesmo na minha aplicação e obrigatoriamente preciso da herança, porém o Sealed na classe não deixa. Observação 1: eu poderia considerar todo Exception como TimeOut, porém existem ali alguns códigos de retorno que não são Timeouts e isso provocaria um tratamento incorreto dos erros pela minha aplicação, o que poderia influenciar até como o loop de tratamento da contingência funciona no SEFAZ. abs.
  8. Boa tarde pessoal, a pedido do Daniel, vou postar aqui minhas considerações sobre como aproveitar a ACBrLib.Nfe para tratar corretamente o TimeOut e aí lidar corretamente com Contingência: Como foi pensado no projeto da ACBrLib.NFe em C# para que eu possa reescrever o CheckResult dentro da minha aplicação? Eu tentei fazer uma herança de ACBrNFe e reescrever o método CheckResult (imagem), porém o método está protected e a classe que fizeram está sealed, ou seja, não dá para criar herança, o que limita, o que ao meu ver não deve ser feito desta forma. Aquilo que eu queria de melhorar a detecção do Timeout está descrito neste vídeo do ACBR, o problema que ele demonstra alterando o próprio código C# do ACBR e no desenvolvimento aqui nós não podemos alterar o código de vocês, o mais racional é criarmos uma herança de ACBrNFe e reescrever o método CheckREsult para tratar o Time Out. Veja o vídeo por favor. https://acbr.nutror.com/curso/27abfa7e547e651dbef313cc8bd11dbfc0bbd203/aula/4482733 Isso limita bastante o uso da ACBRLib.NFe em C# pois eu não posso usar herança. OU foi pensado outra alternativa pra resolver isso? Solução proposta: Retirar o Sealead da Classe ACBrNFe para que os usuários da classe possam reescrever o CheckResult e implementar o controle de TImeOut conforme sugerido no video tutorial do ACBR. Qualquer coisa estou à disposição aprofundar no tema. Att. Leandro S.
  9. Obrigado Daniel e Juliomar, ficamos no aguardo.
  10. Juliomar, A opção ImprimeQRCodeLateral estava FALSE nos testes anteriores, o que causava a mensagem compulsória indevida. Agora troquei para TRUE o parâmetro e a mensagem sumiu, porém a impressão da mensagem ao lado do QRCODE parece borrada. Pelo que eu entendi, agora são dois problemas para serem resolvidos. Vide como ficou na impressora EPSON:
  11. Olá pessoal, conforme orientação do Daniel: Está aparecendo de forma compulsória a seguinte mensagem no final do cupom SAT: "*Valor aproximado dos tributos do item". Vide Imagem: Usar a tag ImprimeMsgOlhoNoImposto=0 não funciona pois ele acaba desativando a totalização de impostos do IBPT ao final do cupom, abaixo vide cupom com ImprimeMsgOlhoNoImposto=1 e a duplicação da referida mensagem. Qualquer coisa estou à disposição. Abraços. Leandro
  12. aqui acontece assim, usando C# : - antes setar manualmente ATIVO=1 lá no arquivo .ini da seção[ETQ] - no código da aplicação chamar acbr.ConfigGravarValor salvando Ativo = 0 - no código da aplicação chamar ConfigGravar() para persistir o set anterior; com isso é gerado um exception indetectável na aplicação, ela funciona bem por um minuto ou dois e cai para CTD. é necessário usar o ETQ_ATIVAR desta forma como descreveu? Agora está funcionando bem, porém não usei ETQ_ATIVAR, não explicitamente no código até onde eu saiba.
  13. Prezado Barbosa, desculpe a demora mas a correria está grande, só hoje consegui voltar a este problema. O problema foi resolvido e foi ocasionado por um parâmetro setado errado no ini, por algum motivo foi alterado o parametro Ativo para 1 e com isso qualquer acesso para setar parâmetros pela DLL causava um CTD aleatório em seguida. Procurei nas configurações da biblioteca do ACBR e não é muito claro qual a serventia do parâmetro Ativo do grupo [ETQ], fala somente 'Situação atual'. Poderiam me esclarecer para que serve este parâmetro? De qualquer modeo, Obrigadão pela ajuda
  14. Bom dia Pessoal, tudo bem? Seguinte, voltando àquele assunto do CTD ao imprimir na Zebra ZD220, o que eu fiz, peguei o código do Demo ACBR da etiqueta e embuti dentro do meu aplicativo, veja na imagem pfv. O efeito é exatamente o mesmo, ao .ativar(), ocorre um exception com mensagem em branco, e segundos depois na aplicação ocorre um CTD, fechando totalmente sem deixar vestígios do que seja. Este problema ocorre só no cliente que tem a Zebra instalada, no meu PC, não ocorre CTD, eu envio a impressão para a Zebra , só que por não existir a impressora fisicamente, retorna um erro normal e para por aí.... Tudo está rodando no Win11 64 bits numa aplicação C# compilada para Any. Alguém tem alguma ideia se Contexts diferentes da aplicação em c# ou [STAThread] afetariam a execução do .Ativar() gerando o CTD ?
  15. Pessoal, descobri o problema, Para quem possa interessar, é obrigatório o uso das seguintes DLLs no diretório para que o email seja enviado pela DLL ACBrSAT32.dll : libcrypto-1_1.dll libexslt.dll libiconv.dll libssl-1_1.dll libxml2.dll libxslt.dll E curioso que tem que ser todas estas dLLs, uma isolada não funciona o envio de email. Como sugestão seria legal documentar bem a necessidade delas já que eu não consegui achar esta orientação no wiki para envio do email. Grande abraço e pode fechar. Leandro
×
×
  • 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...