Ir para conteúdo
  • Cadastre-se

EMBarbosa

Consultores
  • Total de ítens

    9.380
  • Registro em

  • Última visita

  • Days Won

    117

Tudo que EMBarbosa postou

  1. Não vai dar para postar os testes todos hoje, então abaixo eu deixei um teste simples. Também anexei o programa (em Delphi) que estou usando para fazer o teste dos tempos juntamente com o arquivo AAC alterado, com a opção para tanto o comportamento atual (efetuar flush do Drive) como para efetuar o flush apenas do arquivo. Assim todos podem testar nas suas próprias máquinas. Poderão perceber que ele permite atualmente 2 métodos de medição e impressão dos itens e 1 sem nenhum método, para ser usado com um profiler externo. TesteVelocidade.rar
  2. Como ou que código você está usando para gerar os registros 50?
  3. Quando chamamos a função Apenas para o arquivo, o retorno é praticamente instantâneo. Vou colocar abaixo a função, mas antes de alterar o componente, vou postar amanhã pela manhã resultados dos testes. Daí se todos tiverem de acordo posso fazer a alteração. procedure EfetuaFlushArquivo(const nomearquivo: String); var hFile: THandle; bResult: boolean; lastErr: Cardinal; filenome: string; begin bResult := False; filenome := '\\.\' + nomearquivo; //Para usar a versão Wide da função CreateFile e aceitar o caminho completo do arquivo hFile := Windows.CreateFile( PWideChar(filenome), GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_WRITE_THROUGH or FILE_FLAG_NO_BUFFERING, 0); bResult := FlushFileBuffers(hFile); CloseHandle(hFile);[/code] Só chamando a atenção, que todos os componentes que no momento usam o ACBrUtil.FlushToDisk, na verdade estão fazendo o Flush do Drive inteiro e não do o arquivo passado por parâmetro.
  4. Seu erro não tem relação com o erro relatado pelo FTGK!. Favor criar um tópico novo para dúvidas diferentes.
  5. Daniel. eu percebi algo aqui que me passou despercebido esse tempo todo. O AAC está fazendo Flush no Drive inteiro ao invés de apenas no arquivo AAC . Estou refazendo o código apenas alterando essa parte, para testar de quanto seria o ganho de desempenho, se há mesmo algum. Por enquanto, parece que só essa correção já resolveria os problemas.
  6. Verifique o seu modo de uso da função pesquisar do fórum então: http://www.djsystem.com.br/acbr/forum/search.php Procurando por "NumCOOInicial" e "Bematech" eu achei dois tópicos. Um aqui e outro no SAC. Veja se não é o seu caso: http://www.djsystem.com.br/acbr/forum/viewtopic.php?f=10&t=926&p=3863&hilit=NumCOOInicial+bematech#p3863 Mas percebi que está usando o comando de DadosDaUltimaReducaoZ. Se não estou enganado, nessa função, ECFs Bematech não retornam o valor do "COO Inicial". Confira no manual.
  7. A questão é: Por que o form frm_Principal está procurando componentes na pasta "Windows\system32"? Quando descobrir a resposta você vai conseguir resolver o erro. Provavelmente uma má instalação mesmo. Algumas sugestões: Verifique: os caminhos das units no seu projeto; onde estão as bpls que o delphi está procurando; a variável de ambiente Path do windows; os caminhos "library path, search path, browsing path" nas opções do projeto e do Delphi;
  8. Vou reverter a pergunta pra você: Como você gera o arquivo sintegra hoje? Quem cria os registros?
  9. Você pesquisou no fórum?
  10. Ficou bem confuso mesmo. Tópico Relacionado Você poderia fazer essa alteração proposta nos arquivos e anexar aqui no fórum os arquivos corrigidos? Ficaria mais fácil de analisar.
  11. Acho que não entendi o erro. Mas tente da seguinte forma. with ACBrSPEDFiscal1.Bloco_1.Registro1001New do begin IND_MOV := imComDados; with Registro1010New do begin IND_EXP := 'N'; IND_CCRF := 'N'; IND_COMB := 'N'; IND_USINA := 'N'; IND_VA := 'N'; IND_EE := 'N'; IND_CART := 'N'; IND_FORM := 'N'; IND_AER := 'N'; end; end; [/code] Se não funcionar. Favor dar mais detalhes sobre o erro e, se possível, o que poderia ser feito para corrigir.
  12. Obrigado por dar o retorno.
  13. Vou tentar de novo: Não lance o tipo 75 para um produto se aquele produto não saiu em nenhuma nota, cupom, venda ao consumidor e etc... Os produtos que saíram em notas, cupons, vendas ao consumidor e etc devem ter um registro 75. Mas os produtos que não saíram não devem ter um registro 75.
  14. São dois erros totalmente diferentes. veja:http://www.fazenda.mg.gov.br/empresas/ped/duvidas_frequentes/
  15. Crie uma instância de TFormatSettings, configure da maneira que quiser e use a mesma como parâmetro no DateTimeToStr.
  16. Você não precisa excluir. Você precisa não lançá-lo...
  17. Não tem motivos pra isso não. O teste não diz que seu programa deve fechar o GP. E visto que você está fazendo a tarefa do GP manualmente (inserindo o arquivo intpos.001), não é de se esperar que o GP feche sozinho. Se quiser confirmar, dê uma ligada na SevenPDV ou na SoftwareExpress.
  18. Até onde me lembro, depois de realizar o teste e imprimir o cupom você pode cancelar a tela do GP.
  19. Estou trabalhando nesse tópico. Montei com base no DEMO do ACBrECF (ECFTeste) um aplicativo para teste de velocidade. Testei até o momento apenas com base nas três opções possíveis no código até agora. A partir de hoje vou tentar fazer as modificações no ACBrAAC e verificar se o ganho de desempenho é considerável. O arquivo anexo tem a diferença de velocidades para Venda de 53 itens "com o AAC fazendo o FlushtoDisk", "com o AAC sem fazer o FlushtoDisk" e Sem o AAC. O método usado para medir o tempo não é muito confiável, foi baseado apenas nas funções now e secondSpam. A medida que implementar o resto vou usar métodos mais confiáveis. Em resumo, o resultado foi, usando o emulador da Bematech: com AAC com Flush Diferença: 43,11 segundos com AAC sem Flush Diferença: 36,86 segundos sem AAC Diferença: 20,55 segundos O ganho de performance ao desabilitar o FlushtoDisk aqui foi menor do que eu havia previsto nas medições diretas no meu PAF (apenas aproximadamente 15%). Pensando em longo prazo, mesmo que esses números se confirmem, acho que compensa verificar uma possível otimização. Mas vou verificar mais a fundo o assunto. Fiquem à vontade para participar. performance.txt
  20. Fiz uma alteração pra isso na revisão: 3585
  21. Depois das últimas alterações para atender o teste específico do homologador, o DEMO do ACBrAAC não está mais conseguindo recriar o arquivo binário caso ele não exista. Na função recriarArquivoAuxiliar, ele chama ACBrAAC1.AbrirArquivo que gera uma exception pois o arquivo não é válido, e daí não continua.
  22. Olá, Acho que esses códigos não estavam faltando. Eles não são possíveis para os documentos que são apresentados no Registro D100. Inclusive note no próprio Guia Prático mencionado, na página seguinte: Isso acontece provavelmente pois documento denegado ou inutilizado não "dê direito à apuração de crédito à pessoa jurídica contratante, na forma da legislação tributária", o que é um requisito para apresentá-lo no D100. Pois para "cada documento informado e relacionado em cada registro D100, obrigatoriamente deve ser apresentado o detalhamento das informações, por item do documento, referentes ao PIS/Pasep (D101) e à Cofins (D105)." (Guia Prático versão 1.0.7 página 135 Parágrafo 4)
  23. Olá Alex, Sugiro sempre verificar as alterações por meio do SVN. Veja esse report no Mantis: http://www.djsystem.com.br/acbr/mantis/view.php?id=1185
  24. Seria melhor se você acumulasse esse valor e preenchesse antes de salvar o arquivo.
  25. Veja: e também: http://www.djsystem.com.br/acbr/forum/viewtopic.php?f=5&t=1940
×
×
  • 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...