Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Consultores
Postado

Olá Pessoal,
 
    Há algum tempo eu tomei tempo para melhorar o comportamento e velocidade do ACBrECF. Nesse período percebi que alguns métodos para o ECF Bematech precisavam ser verificados de perto. Acontece que com a criação de modelos mais novos, a Bematech alterou o modo como certas informações devem ser obtidas. Isso as vezes torna o acesso mais completo ou mais rápido.
    Como a maioria sabe o ACBrECF para a marca Bematech está implementado no arquivo ACBrECFBematech.pas. Ele procura usar os métodos que são compatíveis com todos os modelos. Nem sempre estes métodos foram atualizados.
 
    Eu então me propus a investigar e otimizar esses métodos os adaptando para se tornarem mais eficientes dependendo do modelo. Infelizmente, não consegui terminar o que eu gostaria de fazer. Sei que alguns usuários apreciariam saber onde podem contribuir.
    Então, vou deixar aqui a lista dos métodos que até agora eu percebi que precisam ser analisados de perto.
    Não significa que todos os métodos serão alterados de alguma forma. De fato, já me ocorreu que algumas informações só são possíveis ser obtidas usando os métodos antigos. Assim, talvez chegue-se a conclusão que a implementação atual deve permanecer.
    Na medida do possível, eu mesmo vou trabalhar nisso. Contudo, é uma oportunidade para algum usuário do ACBrECF, em especial se usa um ECF Bematech, estudar melhor o componente, seu funcionamento e talvez contribuir.
   
    Se algum voluntário quiser, fique à vontade para fazê-lo. Caso surja alguma dúvida, queira entrar em contato.
 
    Abaixo a lista dos métodos a verificar:

  • TACBrECFBematech.CarregaComprovantesNaoFiscais;
  • TACBrECFBematech.CarregaRelatoriosGerenciais;
  • TACBrECFBematech.CarregaAliquotas;
  • TACBrECFBematech.GetTotalTroco;

Outros métodos que valem para todas as marcas:

  • TACBrECF.MemoSubtotaliza
  • TACBrECF.FechaCupom -> (Faz chamada ao CNPJ usando a comunicação com o ECF. Não poderia ser um CNPJ armazenado? Verificar)
  • TBlockSerial.RecvPacket; -> (Método que mais consome tempo em todos os "profilers" analisados

 

Vou atualizar essa lista a medida que os métodos forem verificados por mim ou outra pessoa.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • 2 semanas depois ...
  • Fundadores
Postado

Elton,

 

Se desejar, pode anexar suas modificações para analise...

 Não compreendi a observação sobre: TACBrECF.FechaCupom

 

O RecvPacket pode consumir tempo justamente porque ele fica esperando o ECF responder...

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.

  • Consultores
Postado

Olá Daniel,

  Na verdade, eu não fiz alteração nenhuma ainda. :roll:

  Quando eu fui começar a mexer, tivemos que mudar os planos para atender outras necessidades da empresa aqui. Na época, eu percebi que esses métodos não estavam usando os comandos recomendados no manual para os ECFs mais recentes (MP3000, MP 4000).

  Esses, são métodos que precisam ser verificados. Como meu tempo ficou reduzido, eu preferi alistar aqui.

  Talvez alguém mais queira verificar.

 

  Com respeito ao TACBrECF.FechaCupom, nos testes que eu tinha feito, o comando de fechar cupom estava enviando comando ao ECF para pegar o CNPJ da loja. Não me lembro ao certo, mas acho que é para as informações complementares, exemplo exibir o CNPJ para o MinasLegal. O que eu pensei na época é que o ACBrECF poderia pegar esse valor uma vez e depois armazená-lo temporariamente. Fazemos isso, por exemplo, com a propriedade ACBrECF.MFD, onde armazenamos na variável fpMFD.

  Mas eu não implementei isso, pois não tive prazo de verificar se isso não atrapalharia algum requisito do PAF-ECF.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Este tópico foi criado há 4160 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.