Ir para conteúdo
  • Cadastre-se

EMBarbosa

Consultores
  • Total de ítens

    9.338
  • Registro em

  • Última visita

  • Days Won

    117

Tudo que EMBarbosa postou

  1. A princípio, não precisaria de ser implementado não. Mas se você está recebendo esse erro, e não implementou o evento, pode ser que o número da sessão gerado aleatoriamente está "viciado". Isso pode ser gerado pelo hardware (em especial o processador). A minha sugestão é você implementar esse evento da seguinte maneira: procedure TForm1.ACBrSAT1GetNumeroSessao(var NumeroSessao: Integer); Var FoiUsado: Boolean; begin Repeat FoiUsado := NumeroSessaoJaFoiUsadoNasUltimas100Vezes(NumeroSessao); If FoiUsado then begin NumeroSessao := Random(999999); end; Until (not FoiUsado); SalvaNumeroSessaoUsado(NumeroSessao); end; function NumeroSessaoJaFoiUsadoNasUltimas100Vezes(const NumeroSessao: Integer): Boolean; begin // Percorre uma lista dos últimos 100 NumeroSessao (arquivo INI, TXT, ou BD) procurando o NumeroSessao. // Retorna True se encontrar end; Procedure SalvaNumeroSessaoUsado(const NumeroSessao: Integer); begin // Apaga o número mais antigo da lista dos últimos 100 NumeroSessao // Salva o atual como mais recente. end;
  2. Júnior, Verifique se está implementando o evento OnGetNumeroSessao do ACBrSAT. Veja esse tópico:
  3. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
  4. Então é provavelmente relacionado ao BD. O processo é mais ou menos esse: O usuário digita O valor é passado ao DBEDit O DBEdit manda pro TField O TField manda pro TDataset O valor é enviado ao BD Se até aí o valor não sofrer alterações, ele pode sofrer ao voltar do BD. Por exemplo, o Firebird possui collates que ignoram a acentuação. Não estou dizendo que é o caso, mas não custa verificar.
  5. Muito obrigado pela contribuição. Fiz a implementação baseada nela. Subi as alterações para o SVN na Revisão 19147. Pelo que vi está tudo certo. Queira por favor atualizar, testar e reportar qualquer problema. Mais uma vez obrigado.
  6. O mesmo acontece com um edit normal ou apenas com DBEdits?
  7. Isso é porque não está implementado usando esse protocolo. Você pode baixar o manual de comunicação direta "ESC", verificar se existe essa função e implementar no componente ACBrECF. Mas o recomendado é usar o protocolo STX e não o ESC. A não ser que o fabricante esteja recomendando outra coisa. Minha sugestão é você verificar com o fabricante se existe alguma atualização para o Firmware desse ECF. Lembro de terem havido vários problemas relacionados. Verifique também timeout e se sua aplicação está enviando comandos seguidos ao ECF.
  8. Sim. Agradecemos você ter relatado.
  9. Verifique o que o BigWings mencionou acima. Pode ser o problema se seu aplicativo estiver usando as dlls antigas. Entre as revisões 18549 e 19026 tem cerca de 500 versões. Se for possível você conseguir descobrir com um pouco mais de precisão em que revisão começou a haver lentidão, isso seria muito útil caso não for o problema das dlls.
  10. Deve ser alguma diferença na implementação ou configuração entre sua aplicação e o demo.
  11. Eu particularmente nunca vi essa mensagem. Então investigaria se no Visualizador de Eventos do Windows tem alguma informação que pode ser útil. Mas talvez alguém mais tenha alguma outra informação.
  12. Olá Valdir, Essa mensagem não é levantada pelo componente em si. Note que a mensagem é do Windows. Na barra de título está escrito "Segurança do Windows". Como você deve saber, os certificados A3 usando WinCrypt são acessados via Windows. Não sou especialista em certificados, mas pelo que você descreveu imagino que o Windows está detectando que o usuário removeu o certificado enquanto ainda em uso. Seria algo semelhante a remover o pendrive enquanto está rodando o chkdsk nele. Daí o Windows percebe que está errado e avisa o único que pode corrigir a situação - o usuário. Se o cenário for realmente esse, talvez exista alguma maneira de dizer ao Windows que não se está mais usando o certificado. Digamos que isso seja possível, não posso afirmar que seria viável ao componente.
  13. Tentou reproduzir o problema usando o aplicativo de exemplo?
  14. Oi Jamil. Pelo que eu entendi e vi na imagem, a lib está retornando o erro, certo? A sua aplicação está tratando esse erro? O que ela está fazendo depois?
  15. Sim. Esse é do Gabriel Frones. Ele até criou um tópico aqui no fórum veja: A diferença é que o mencionado nesse tópico está usando o nome e logotipo do Projeto ACBr e não fomos contatados sobre isso.
  16. Você está usando o driver do fabricante que gera uma porta serial virtual?
  17. Parece que uma modificação no posicionamento dos quadros gerou esse efeito colateral. Isso deve ter acontecido depois da adição do quadro faturas. Por favor, altere a unit ACBrNFeDANFeRLRetrato.pas na linha 1160. Modifique a linha que está: RLDraw50.Height := (rlmDadosAdicionais.Top + rlmDadosAdicionais.Height) - RLLabel77.Top + 2; Para: RLDraw50.Height := (rlmDadosAdicionais.Top + rlmDadosAdicionais.Height) - RLLabel77.Top + 6; E faça o teste novamente.
  18. Ainda não detectamos exatamente qual parte do código que foi alterado está gerando esse erro. Mas parece ter sido porque agora usamos o Delphi 10.3.3 para gerar o instalador. Acreditamos que o erro seja falta de alguma atualização do Windows. Visto que muito dos arquivos comuns do Windows agora está no .Net Framework, pode ser que seja isso também. Veja esse tópico onde um usuário resolveu instalando e atualizando o .Net Framework:
  19. Até onde sabemos não tem nenhum problema nessa propriedade. Por favor teste com o aplicativo de exemplo. Caso continue tendo problemas, por favor, anexe o xml para que possamos efetuar testes.
  20. Olá Walter, A Lib deve te retornar exatamente o que a balança enviar. Se você não está recebendo 3 casas decimais, verifique o manual da balança se existe uma configuração para isso.
  21. Complementando o que o Daniel mencionou, você pode procurar o manual da impressora e verificar como fazer o autoteste. Esse teste é independente do computador e por isso vai mostrar se a impressora tem algum problema no hardware.
  22. Acredito que esteja faltando a configuração de alguma propriedade... me parece que a ideia está correta.
  23. Acho que você não entendeu. A alteração já está no SVN. Basta você atualizar e testar. Veja o que eu escrevi:
  24. Gil, você viu o que sua aplicação faz nesse código? Aqui está adicionando as linhas para um objeto de nome ViasTEF. Mas não comanda a impressão. Então em outro lugar do código da sua aplicação está faltando fazer a impressão. Como você pode ver no log abaixo, o ACBrTEFD está enviando para seu aplicativo avisos de que ele precisa imprimir as vias das duas autorizações. Veja só: -- 04/02 08:24:11:193 - CliSiTef ECFAbreVinculado: COO: 35425 Indice: 3 Valor: 24,16 -- 04/02 08:24:11:194 - CliSiTef ECFImprimeVia: trVinculado Via: 1 -- 04/02 08:24:11:200 - CliSiTef ComandarECF: Oper: opePulaLinhas -- 04/02 08:24:11:200 - CliSiTef DoExibeMsg: Oper: opmDestaqueVia Mensagem: Destaque a 1ª Via -- 04/02 08:24:11:204 - CliSiTef ECFImprimeVia: trVinculado Via: 2 -- 04/02 08:24:11:205 - CliSiTef ComandarECF: Oper: opePulaLinhas -- 04/02 08:24:11:205 - CliSiTef DoExibeMsg: Oper: opmDestaqueVia Mensagem: Destaque a 2ª Via -- 04/02 08:24:11:206 - CliSiTef ECFImprimeVia: trVinculado Via: 1 -- 04/02 08:24:11:207 - CliSiTef ComandarECF: Oper: opePulaLinhas -- 04/02 08:24:11:207 - CliSiTef DoExibeMsg: Oper: opmDestaqueVia Mensagem: Destaque a 1ª Via -- 04/02 08:24:11:208 - CliSiTef ECFImprimeVia: trVinculado Via: 2 -- 04/02 08:24:11:209 - CliSiTef ComandarECF: Oper: opeFechaVinculado -- 04/02 08:24:11:209 - ConfirmarTransacoesPendentes -- 04/02 08:24:11:210 - *** FinalizaTransacaoSiTefInterativo. Confirma: SIM Documento: 35425 Data: 20200204 Hora: 082009 Seria interessante você verificar onde seu aplicativo está comandando as vias da primeira autorização e, analisando o seu código, verificar o motivo de não estar fazendo o mesmo para a segunda autorização. Só então você vai conseguir corrigir.
  25. Se estiver usando uma das seguintes versões: Windows Server 2012, Windows 8.1, Windows RT 8.1, Windows Server 2012 R2, Windows 8, Windows RT, Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Por favor, tente instalar a seguinte atualização do Windows: https://support.microsoft.com/pt-br/help/2999226/update-for-universal-c-runtime-in-windows Caso não dê certo, verifique se está com o Windows realmente atualizado.
×
×
  • 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.