Ir para conteúdo
  • Cadastre-se

EMBarbosa

Consultores
  • Total de ítens

    9.339
  • Registro em

  • Última visita

  • Days Won

    117

Tudo que EMBarbosa postou

  1. Tenta usar o IB DataPump. https://www.clevercomponents.com/products/datapump/dp-tour.asp
  2. Na imagem abaixo circulado está a sua dll (no caso uma bpl). Sublinhado está as dlls que sua dll precisa. Algumas tem dependências em outras dlls. Normal, principalmente quando são as dlls do Windows como essa kernel32. Mas não se preocupe com essas. Seguindo a seta você vai verificar as outras dlls. Verifique se elas existem.
  3. Mais ou menos isso mesmo. "ACBrNFe1.NotasFiscais" é uma classe do tipo lista de notas fiscais. ACBrNFe1.NotasFiscais.add é uma função que (1) adiciona uma nova nota na lista e (2) retorna a nova nota pra você.
  4. Só pra esclarecer e adicionar ao que já foi dito: SAT não é nem NF-e e nem NFC-e. É um outro tipo de documento.
  5. Pelo visto você está utilizando o firebird, mas o SQL que você montou não é compatível com o SQL do Firebird. Se você apenas quiser copiar as tabelas eu sugiro você utilizar uma aplicação específica para isso como: ib datapump fbcopy fbextract ibexpert entre outros. Tem vários tópicos aqui no fórum sobre isso.
  6. Não nesse caso. Esse é um callstack da IDE. Mas não tem nenhuma informação adicional que seja interessante. Acho que se você for usar o Dependency walker e analisar a sua bpl, vai conseguir identificar quais dlls estão faltando.
  7. Sim. Toda informação necessária para enviar uma NF-e ou NFC-e vai ser possível enviar pelo ACBrMonitorPlus. Veja o seguinte post sobre esses dados: Temos desenvolvido o mapa fiscal com informações sobre o Responsável Técnico, mas muitas UFs ainda não se manifestaram sobre o assunto. Veja os tópicos mencionados acima.
  8. Várias maneiras. Qual a melhor vai depender dos objetivos e do seu ambiente. Aqui mesmo no fórum tem alguns tópicos sobre o assunto.
  9. Se não puder pagar pelos componentes como da DevExpress ou da TMS, tente usar o DBUltimateGrid da JVCL como o Juliomar disse. Se em todo o caso não for possível e você não quiser muito trabalho para desenhar no canvas, é bem simples você alterar a fonte da barra de título colocando um negrito na coluna ordenada. Não fica tão didático, mas funciona e é muito simples de implementar.
  10. Veja o comando TDataset.FetchAll
  11. De que tipo é esse campo? String|VARCHAR? Ou TDateTime|Timestamp
  12. Oi Daniel, Essa mensagem "Não foi possivel encontrar o módulo especificado" acontece quando não foi possível carregar uma dll. Então pode ser várias coisas. Sugiro verificar o seguinte: Como uma bpl é uma dll com algumas especificações diferentes, verifique que no momento da instalação realmente existe o arquivo mencionado na mensagem de erro. A saber "C:Projetos\Componentes\Controle\Proprios\Controle.bpl"; Verifique se seus componentes precisam de outras dlls, e que elas também existam na pasta da bpl ou do Delphi; Se seus componentes foram convertidos do Delphi 7 ou anterior pode ser que existam algumas dependências que o Delphi não conseguiu encontrar. Você pode usar um aplicativo como o "Dependency Walker" ou "SysInternals ProcessMonitor" para verificar qual dll está faltando para essa bpl funcionar. Daí copie o arquivo pra pasta da bpl
  13. Oi Rogerio, mas isso ainda está incorreto. Você está criando duas notas, e preenchendo os dados em cada uma. O correto é você fazer algo assim: procedure CriarNFe(); begin with ACBrNFe1.NotasFiscais.Add do begin ...// outras propriedades NFe.Dest.xNome := 'D.J. COM. E LOCAÇÃO DE SOFTWARES LTDA - ME' ; NFe.Dest.CNPJCPF := '84782595620'; ...// mais outras propriedades end; Ou se preferir fazer isso sem o with: procedure CriarNFe(); var UmaNFe: NotaFiscal; begin UmaNFe := ACBrNFe1.NotasFiscais.Add; ...// outras propriedades UmaNFe.NFe.Dest.xNome := 'D.J. COM. E LOCAÇÃO DE SOFTWARES LTDA - ME' ; UmaNFe.NFe.Dest.CNPJCPF := '84782595620'; ...// mais outras propriedades ... end;
  14. É como o Junior mencionou acima. Com esse comando você acabou de adicionar uma nova nota. Add é uma função que retorna uma nova nf-e. Não é uma propriedade.
  15. Veja se o Windows Defender não está interferindo. Tente verificar se há alguma informação no log do Monitor. Veja também o "Visualizador de Eventos" do Windows. Se ele diz que já está em execução provavelmente o processo já está rodando. Mas a mensagem de não poder finalizar os processos é estranha. Como é exatamente essa mensagem?
  16. Fico feliz de ter ajudado. Mas é como eu tinha dito antes: O problema é que há registros que estão sendo carregados na hora da inserção. Eu teria que ver o código novamente pra poder te dar mais detalhes, mas na minha cabeça é mais ou menos assim que está: Você faz o Insert e preenche o registro no TClientDataset; O TClientDataset faz as validações de acordo com os TFields e por isso não precisa de acessar o BD; Quando você faz um post, o TClientDataset confirma os dados, mas ainda não manda pro BD; Na hora que você faz um ApplyUpdates, o "cds" vai enviar os dados pro BD; ele executa um open no componente que é a fonte dos dados; Ele converte o registro para o formato que é a fonte dos dados (por exemplo um "insert em formato SQL"); Daí executa o insert e faz o commit; Esse passo 5 acima é onde acontece a lentidão. Porque ao abrir a fonte de dados ele carrega muitos registros. Mas aí você vai dizer: "Mas e o packedRecords?" E a resposta é que PackedRecords não é quantidade de registros. É quantidade de registros no pacote. Isso quer dizer que quando você diminui você pode até mesmo tornar a situação ainda mais lenta. É como um pacote que você usa no mercado. Se ele couber poucos volumes, você vai precisar fazer mais viagens. É mais ou menos isso...
  17. Minha ideia é você verificar o que está acontecendo. Se a lentidão está acontecendo com tabelas maiores, mas ela não acontece via SQL, então a explicação mais plausível é que o componente está carregando registros da tabela. Tive um problema desses uma vez com o TClientDataset. Como ele estava ligado a um IBDataSet onde colocávamos o SQL, só pra testar eu alterei o select do SQL incluindo um limite de linhas. Por exemplo: SELECT NOME FROM CLIENTES ROWS 1 TO 50 A lentidão foi embora. A partir daí eu fui verificar o que o componente estava fazendo pra abrir e consegui resolver.
  18. Ser no applyUpdates não quer dizer nada. Esse método faz tanta coisa, que você não sabe o motivo real da lentidão. Por isso um profiler é a melhor ferramenta... Só insisti nisso porque você está indo na contramão de todos os benchmarks que vi sobre o assunto. O FireDAC desbanca o dbExpress em muito. A ideia de fazer o sql era apenas para saber sobre a velocidade mesmo. Afinal se com o SQL puro não ficasse mais rápido, o problema era o BD. Agora, se você está utilizando TClientDataset então tem outras coisas envolvidas. A dinâmica é muito diferente. Tem coisas que o TClientDataSet só faz no ApplyUpdates. Bom, não tem sentido eu ficar insistindo em algo que você não quer fazer. Mesmo porque não sou eu quem tem que lidar com os problemas. Só falei o que é minha opinião particular, de uma pessoa que já lidou com vários problemas de lentidão assim. Por outro lado seria falso da minha parte não lembrar que DBexpress é considerada tecnologia obsoleta
  19. Já está no radar do Daniel para resolver. Mas se um de vocês puderem anexar o arquivo alterado facilitaria a análise.
  20. Rapaz, usar os profilers é muito simples. Dá uma chance pra eles. É o tipo de ferramenta que depois de aprender a utilizar te abre uma nova visão das coisas. Mesmo uma tabela desse tamanho, se você está apenas inserindo um novo registro, o tempo gasto deveria ser bem pequeno. Você pode verificar isso executando o SQL diretamente. A menos que você esteja pensando em adotar um ORM como o mORMot, sugiro você tentar descobrir o problema e resolver.
  21. Se resolver, por favor, anexem o arquivo alterado para que seja avaliado.
  22. Você precisa verificar com o pessoal do suporte do DTEF o motivo da DPOSDRV.DLL não ter a função IdentificacaoAutomacaoComercial. Talvez essa dll esteja desatualizada.
  23. Visto que está disposto a pagar, talvez queira colocar um tópico na área de classificados. Daí talvez alguém com experiência possa te ajudar.
×
×
  • 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...