Ir para conteúdo
  • Cadastre-se

Rodrigo Cardilo

Membros Pro
  • Total de ítens

    254
  • Registro em

  • Última visita

Tudo que Rodrigo Cardilo postou

  1. Entendi. então o que vc me sugere é que eu crie o DSPVConnection e consenquentemente o SqlConnection a quem ele está vinculado conforme na imagem abaixo correto?
  2. Boa tarde @Juliomar Marchetti, eu entendi o que quis dizer porém como faço com o DataSnap? Já tentei enviar via sql direto porém o erro muda. Se eu aguardar a Thread, o que não é o objetivo, não dá erro algum. O problema só acontece quando tento fazer outro acesso aos dados ao mesmo tempo que Thread está rodando
  3. Oi @Daniel Simoes, você diz criar o clientdataset dentro da Thread? Tentei da forma abaixo e não deu certo. procedure TDM1.AtualizarNCM; var I: Integer; Tbl05900: TClientDataSet; begin try ACBrNCMs1.ObterNCMs; // Primeiro Baixar Tabela de NCM válidos TransactionSql := 'DELETE FROM UN05900'; DMG.ExecutaTransacaoSql; Tbl05900 := TClientDataSet.Create(Self); Tbl05900.RemoteServer := DMG.DSPVConnection1; Tbl05900.ProviderName := 'PV05900'; Tbl05900.Open; for I := 0 to ACBrNCMs1.NCMs.Count - 1 do begin if Length(ACBrNCMs1.NCMs[I].CodigoNcm) = 8 then begin TBl05900.Insert; TBL05900.FieldByName('NCM').AsString := ACBrNCMs1.NCMs[I].CodigoNcm; TBL05900.FieldByName('DTINICIO').AsDateTime := ACBrNCMs1.NCMs[I].DataInicio; TBL05900.FieldByName('DTFIM').AsDateTime := ACBrNCMs1.NCMs[I].DataFim; TBl05900.Post; end; TBl05900.ApplyUpdates(-1); end; except end; end; Estou chamando a procedure acima com a rotina abaixo: TThread.CreateAnonymousThread(DM1.AtualizarNCM).Start; Só retorna erro quando tento fazer um acesso à outra tabela ao mesmo tempo. Grato desde já.
  4. Boa tarde amigos, Estou implementando uma rotina para baixar automaticamente os NCM's através do ACBrNCM e logo após baixar a tabela IBPT e posteriormente gravar no meu banco de dados. Para tal rotina eu criei utilizei uma Thread da seguinte forma: TThread.CreateAnonymousThread(DM1.AtualizarNCM).Start; Essa procedure AtualizaNCM possui o seguinte código: procedure TDM1.AtualizarNCM; var I: Integer; begin ACBrNCMs1.ObterNCMs; try // Primeiro Baixar Tabela de NCM válidos TB05900.Open; for I := 0 to ACBrNcms1.NCMs.Count - 1 do begin if Length(ACBrNCMs1.NCMs[I].CodigoNcm) = 8 then begin TB05900.Insert; TB05900NCM.Value := ACBrNCMs1.NCMs[I].CodigoNcm; TB05900DTINICIO.Value := ACBrNCMs1.NCMs[I].DataInicio; TB05900DTFIM.Value := ACBrNCMs1.NCMs[I].DataFim; TB05900.Post; end; TB05900.ApplyUpdates(-1); end; // Agora Baixa Tabela csv do IBPT ACBrDownload1.DownloadUrl := 'https://www.tabelas.com/TabelaIBPTMG.csv'; ACBrDownload1.StartDownload; except end; end; E quando finaliza o download da Tabela do IBPT acontece o seguinte evento: procedure TDM1.ACBrDownload1AfterDownload(Sender: TObject); var NomeArquivo: string; I: integer; begin if ACBrDownload1.DownloadStatus = stDownload then begin TB05900.Close; TB05900.Open; NomeArquivo := ExtractFilePath(Application.ExeName) + '\TabelaIBPTMG.csv'; if ACBrIBPTax1.AbrirTabela(NomeArquivo) then try for I := 0 to ACBrIBPTax1.Itens.Count - 1 do begin if TB05900.Locate('NCM', ACBrIBPTax1.Itens[I].NCM, []) then begin TB05900.Edit; TB05900ALIQNAC.Value := ACBrIBPTax1.Itens[I].FederalNacional; TB05900ALIQIMP.Value := ACBrIBPTax1.Itens[I].FederalImportado; TB05900ALIQEST.Value := ACBrIBPTax1.Itens[I].Estadual; TB05900.Post; TB05900.ApplyUpdates(-1); end; end; except end; end; end; Testando o botão dá tudo certo. Porém se tento fazer uma consulta no meu banco de dados enquanto a thread roda retorna o seguinte erro: Missing data provider or datapacket. Só frisando, eu utilizo Datasnap. Será que tenho que mudar algo na minha Thread? Agradecido desde já qualquer ajuda.
  5. Oi @layonferrari, no meu caso eu precisei verificar outros aplicativos meus mesmos. No caso do chrome acho que não funcionaria pois ele cria estâncias (não sei se estou falando bobagem). Tentou usar o código que eu citei acima?
  6. @BigWings, dessa forma deu certo. Interessante que sempre coloquei a url e o nome do arquivo e funcionava.. Mas o que importa é que deu certo. Obrigado pela ajuda
  7. Não deu certo @BigWings. Baixa uma parte só e para. Interessante que esse componente funcionava. Depois de atualizar parou.. Mesmo assim valeu pela ajuda
  8. Boa tarde amigos, Não consigo mais usar o componente ACBrDownload. Ele ainda está sendo mantido? Estou tentando baixar um arquivo conforme a figura em anexo e não consigo. Se alguém puder me dar uma luz fico grato.
  9. OI @Renato Rubinho, acho que me expressei mal. Não preciso do efeito zebra e sim preeencher as celulas com cores distintas. Agradeço pela atenção
  10. Boa tarde amigos. Preciso preencher uma grid (dbgrid, stringgrid) conforme o a figura anexo. Alguém tem alguma dica de onde posso começar? Grato desde já
  11. A minha está na versão 03.20.04 e o pagemode pc850 nem funciona corretamente. Só o pc1252. Como esta impressora não existe e nem tem suporte mais acredito que não vou conseguir testar corretamente nela
  12. @Juliomar Marchetti, testei na Daruma DR-800, com pagemode pc1252.
  13. Boa tarde amigos, Utilizo para impressão da NFC-e o componente ACBrNFeDANFeESCPOS porém hoje tentei utilizar a propriedade ImprimeQrCodeLateral = True porém não funcionou. Existe alguma outra alteração que devo fazer no componente ou essa propriedade realmente não funciona. Grato desde já.
  14. Bom dia amigos. Precisei fazer uma baixa em um boleto direto no Banco Inter e o retorno estava vindo sem a devida informação (estava em branco). Achei o problema na linha 444 da unit ACBrBancoInter.pas toRetornoBaixaSimples : Result := '09'; Alterei para toRetornoBaixaSimples : Result := '07'; Já testei e deu certo. Segue anexo unit para atualização. Grato. ACBrBancoInter.pas
  15. Caro Arnaldo, Sobre o DIFAL do quando o remetente for Simples Nacional tem um vídeo que deixa claro o assunto.
  16. Fiz o teste aqui e deu certo. Apesar de não concordar com minha mudança, a POG foi só mudada de lugar, que no meu entender, deu no mesmo. Mas o que importa é o resultado, e não código bonito. Obrigado desde já. EspecieDoc := ACBrTitulo.EspecieDoc; if EspecieDoc = 'DM' then EspecieDoc := '99';
  17. Segue arquivo com a modificação proposta acima. ACBrBancoInter.pas
  18. Boa tarde amigos, Fiz o teste de remessa do boleto Inter utilizando o último commit (18/01/2022). Gerei um boleto para minha empresa mesmo somente para testes. Segue print da ficha de compensação gerada pelo ACBr e pelo Banco Inter. Como podem ver todas as informações conferem. Só tem um detalhe no arquivo remessa que foi modificado do meu postado anteriormente que "não concordo". Na página 8 do manual do Banco Inter, vem informando que na posição 148 a 149 o tipo é fixo 99 (outros). Eu tinha deixado esse tipo fixo na geração da remessa porém foi modificado para a propriedade espécie de documento. Mas na ficha de compensação do próprio banco Inter aparece 'DM'. Se tentar enviar 'DM' no arquivo de remessa é gerado um erro. Portanto gostaria de sugerir que, seguindo o próprio manual, utilize a espécie de documento '99' fixa no arquivo de remessa e na impressão possamos utilizar 'DM' conforme o boleto gerado pelo banco, pois senão na hora de imprimir terei que fazer a alteração na alimentação do componente, que acho desnecessário. Grato desde já.
  19. Isso mesmo galera. NÃO TENTE GERAR O BOLETO SEM O RETORNO. O Banco Inter só disponibiliza o retorno no dia útil seguinte ao envio da remessa. Vou testar e posto o retorno aqui o mais breve. Obrigado @Victor H. Gonzales - Panda e @Clverson pela ajuda. Lembrando aos desavisados que não funciona para depósitos por boleto nas contas pessoa física e MEI do banco Inter. Somente contas de pessoa jurídica.
  20. Segue novas atualizações referente à montagem do Nosso Número, já que o mesmo é fornecido somente no retorno e já vem com o DV. ACBrBancoInter.pasACBrBoleto.pas
  21. Boa noite amigos, Já utilizo o Banco Inter a alguns meses. Fiz a modificação nos fontes de acordo com o manual e no padrão do ACBr. Estou postando em anexo e caso precisem de mais arquivos (tenho a ficah de compensação, remessa e retorno gerados aqui em produção já) é só me solicitar. Grato, ACBrBoleto.pas ACBrBancoInter.pas Manual_CNAB_400_Inter.pdf
  22. Daniel, nem pelo fortes deu certo.. sai tudo confuso. Usando EscPosEpson sai tudo menos o qrcode
  23. Boa tarde, Um cliente adquiriu uma impressora térmica de marca Perto (https://www.perto.com.br/produtos/impressora-termica-nao-fiscal-pertoprinter/). Já tentei várias configurações padrões no ACBRPosPrinter e não imprime o QRCode. No site deles tem uma manual que até mostra a compatibilidade mas nem pelo fortes consigo imprimir a NFCe. Alguém já conseguiu fazer essa impressora funcionar com o ACBRPosPrinter? Grato desde já,
  24. Oi @Valter de Sousa - IDEASyS, sim. Coloque o código abaixo no seu .dpr que dá certinho. {$R *.res} var MutexHandle: THandle; hwind: HWND; N, D: string; begin N := ExtractFileName(ParamStr(0)); { Retira o path } D := ChangeFileExt(N, ''); { Retira a extensão } MutexHandle := CreateMutex(nil, TRUE, PChar(D)); if MutexHandle <> 0 then begin if GetLastError = ERROR_ALREADY_EXISTS then begin CloseHandle(MutexHandle); hwind := 0; repeat hwind := Windows.FindWindowEx(0, hwind, 'TApplication', 'Nome da Sua Aplicação'); until (hwind <> Application.Handle); if (hwind <> 0) then begin Windows.ShowWindow(hwind, SW_SHOWNORMAL); Windows.SetForegroundWindow(hwind); end; Halt; end end; Application.Initialize; .....
  25. Boa tarde Victor, Vários colaboradores aqui já enviaram fonte e manual neste tópico mesmo. Eu inclusive implementei aqui utilizando o manual do banco e funciona. O problema é todas vez que atualizo os fontes do ACBR tenho que modificar manualmente. O que mais vocês precisam?
×
×
  • 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.