-
Total de ítens
254 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Rodrigo Cardilo postou
-
Problemas com Thread para atualizar NCM e IBPT
Rodrigo Cardilo replied to Rodrigo Cardilo's tópico in Dúvidas gerais
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? -
Problemas com Thread para atualizar NCM e IBPT
Rodrigo Cardilo replied to Rodrigo Cardilo's tópico in Dúvidas gerais
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 -
Problemas com Thread para atualizar NCM e IBPT
Rodrigo Cardilo replied to Rodrigo Cardilo's tópico in Dúvidas gerais
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á. -
Problemas com Thread para atualizar NCM e IBPT
um tópico no fórum postou Rodrigo Cardilo Dúvidas gerais
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. -
@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
-
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
-
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.
-
Preencher grid com cores
Rodrigo Cardilo replied to Rodrigo Cardilo's tópico in Object Pascal - Delphi & Lazarus
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 -
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á
-
Propriedade ImprimeQrCodeLateral não funciona no ACBrNFeDANFeESCPOS
Rodrigo Cardilo replied to Rodrigo Cardilo's tópico in ACBrNFe
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 -
Propriedade ImprimeQrCodeLateral não funciona no ACBrNFeDANFeESCPOS
Rodrigo Cardilo replied to Rodrigo Cardilo's tópico in ACBrNFe
@Juliomar Marchetti, testei na Daruma DR-800, com pagemode pc1252. -
Propriedade ImprimeQrCodeLateral não funciona no ACBrNFeDANFeESCPOS
um tópico no fórum postou Rodrigo Cardilo ACBrNFe
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á. -
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
-
DIFAL e FCP empresa Simples Nacional
Rodrigo Cardilo replied to Arnaldo Cruz's tópico in Legislação Fiscal e Tributária
Caro Arnaldo, Sobre o DIFAL do quando o remetente for Simples Nacional tem um vídeo que deixa claro o assunto. -
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';
-
Segue arquivo com a modificação proposta acima. ACBrBancoInter.pas
-
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á.
-
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.
-
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
-
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
-
ACBRPosPrinter como impressora PertoPrinter
Rodrigo Cardilo replied to Rodrigo Cardilo's tópico in ACBrSerial
Daniel, nem pelo fortes deu certo.. sai tudo confuso. Usando EscPosEpson sai tudo menos o qrcode -
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á,
-
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; .....
-
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?