-
Total de ítens
30 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Daniel Sonda postou
-
Provável memory leak ao ler arquivos XML com TACBrCTe e a LibXml2
Daniel Sonda replied to Daniel Sonda's tópico in ACBrCTe
Problema corrigido. Primeiro, parabéns! Segundo, muito obrigado! -
Provável memory leak ao ler arquivos XML com TACBrCTe e a LibXml2
Daniel Sonda replied to Daniel Sonda's tópico in ACBrCTe
Boa tarde. Alguma novidade em relação ao problema descrito? Nosso serviço de importação de CTe está travando de hora em hora, as vezes até menos. Posso ajudar em algo? -
Provável memory leak ao ler arquivos XML com TACBrCTe e a LibXml2
um tópico no fórum postou Daniel Sonda ACBrCTe
Estou enfrentando um problema que parece ser um vazamento de memória. Tenho vários arquivos XML de CTe para importar pro sistema, então dentro de um loop eu crio um TACBrCTe, carrego o arquivo via LoadFromFile(caminhoarquivo, False), leio os dados necessários e depois destruo o TACBrCTe via Free. Isso é feito a cada 5 segundos, num serviço de monitoramento de arquivos de uma pasta. Recentemente atualizei a biblioteca e agora passou a usar a nova versão com a diretoriva USE_ACBr_XMLDOCUMENT. A cada ciclo de execução a memória RAM consumida pelo processo vai aumentando, até que após algum tempo causa o erro abaixo: Já tentei criar o TACBrCTe fora do loop e executar Conhecimentos.Clear antes de carregar cada arquivo, mas o resultado é o mesmo. Acabei de baixar as DLLs da LibXml2 daqui https://svn.code.sf.net/p/acbr/code/trunk2/DLLs/LibXml2/x86/ e também não resolveu. Se quiserem reproduzir o problema, criei uma pequena aplicação pra isso (imagem da tela abaixo). Está em anexo. Basta informar uma pasta com vários arquivos XML, clicar no botão Processar várias vezes e monitorar o consumo de RAM. No meu caso os arquivos tem extensão .txt, então se forem utilizar .xml, terão que alterar a linha abaixo do clique no botão Processar. Arquivos := TDirectory.GetFiles(edtPastaXml.Text, 'XMLCTE_*.*'); ACBrCTe.rar -
A leitura de um arquivo de retorno CNAB 400 do banco 274 MoneyPlus, atualmente está sendo feita pela classe base TACBrBancoClass, onde a agência e conta são extraídos pelas linhas abaixo: // A leitura deverá ser feita a partir da posição 26 devido ao fato de não existirem agências bancárias com mais de 4 (quatro) algarismos. rAgencia := trim(Copy(ARetorno[1], 26, ACBrBanco.TamanhoAgencia)); rConta := trim(Copy(ARetorno[1], 30, DefineTamanhoContaRemessa)); Entretanto, no manual do banco (página 11), relativo ao layout da remessa, a composição do campo que identifica a empresa beneficiária, que também se aplica ao campo correspondente no retorno, segue o seguinte formato: Sendo assim, eu implementei o método LerRetorno400 na classe TACBrBancoBradescoMoneyPlus, copiando o código fonte da classe base e alterando apenas as linhas abaixo, para extrair a agência e a conta corretamente, segundo o layout descrito no manual. // A leitura deverá ser feita a partir da posição 24 devido ao fato de não existirem agências bancárias com mais de 4 (quatro) algarismos. rAgencia := trim(Copy(ARetorno[1], 24, ACBrBanco.TamanhoAgencia)); rConta := trim(Copy(ARetorno[1], 28, DefineTamanhoContaRemessa)); Em anexo estão o manual do banco e a unit alterada. Manual CNAB 400 - Banco 274.pdf ACBrBancoBradescoMoneyPlus.pas
-
Erro na impressão da NFe Canvas does not allow drawing
Daniel Sonda replied to Orlando M. Utiamada's tópico in ACBrNFe
https://forum.fast-report.com/en/discussion/2929/how-do-i-fix-quot-canvas-does-not-allow-drawing-quot Diz que é preciso ter uma impressora padrão válida. Estava gerando esse erro apenas em modo de debug com FastReport. Defini uma impressora padrão e parou de ocorrer. -
Código do Juros de Mora incorreto para banco Cresol layout 240
um tópico no fórum postou Daniel Sonda ACBrBoleto
Conforme o manual em anexo, o código de juros de mora para o banco Cresol no layout 240 segmento P é: 1 - (real ao dia) 2 - Percentual ao mês Atualmente está enviando "0" para valor e "1" para percentual, conforme o trecho de código abaixo: if (CodigoMora = '') then begin CodigoMora := '0'; if (ValorMoraJuros > 0) then // cjValorDia, cjTaxaMensal begin if (CodigoMoraJuros = cjValorDia) then CodigoMora := '0' else if (CodigoMoraJuros = cjTaxaMensal) then CodigoMora := '1'; end; end; Quando o valor de juro de mora é maior que zero, ocorre o erro em anexo ao importar a remessa no sistema do banco. MANUAL COBRANÇA INTEGRADA.pdf -
Boa tarde. Em anexo os arquivos alterados com a implementação do registro K010. ACBrSPEDFiscal.rar
-
O logotipo oficial do banco Sicoob (756) não possui sombras no símbolo. Abaixo as imagens colorida e preto e branco que gerei para uso próprio.
-
Atualizar o logo do banco 085 Ailos que deixou de ser Cecred
um tópico no fórum postou Daniel Sonda ACBrBoleto
O banco 085 deixou de ser Cecred e passou a ser Ailos. Conforme outro tópico, parece que nada mudou nos formatos de arquivos, exceto o logo. Então, criei um logo colorido e um preto e branco, baseado num modelo enviado pelo banco. Estão em anexo. -
Tenho o layout da etiqueta PPLA pronto num arquivo texto e gostaria de apenas preencher os campos (tags) com os dados necessários e enviar para a impressora usando o TACBrETQ. Não encontrei nenhum método que possa ser passado uma string ou arquivo pronto a ser enviado para a impressora. Apenas os métodos específicos para imprimir texto, códigos de barras, linhas etc.
-
O manual citado no post abaixo acho que é o de pagamentos e não o de cobranças. A alteração que envia o código do convênio nas posições 33 a 52, talvez tenha sido feita equivocadamente usando o manual de pagamentos. Também passei a ter problemas, com homologações rejeitadas, e agora não preencho mais a propriedade convênio quando for Sicoob.
-
Quando uso o FastReport para imprimir boletos e mudo a propriedade ModoThread do TACBrBoletoFCFR para True, o logotipo do banco não é carregado usando o evento OnObterLogo. Estou usando o evento OnObterLogo para usar imagens JPG que já tinha no meu app. Descobri que o evento OnProgressStart do TfrxReport não é disparado no ModoThread. Alterei para o evento OnBeforePrint, pois ele dispara mesmo no ModoThread. Também adicionei a linha "frxReport.EngineOptions.NewSilentMode := simReThrow" no ModoThread para levantar as exceções e facilitar a identificação dos bugs em produção. Em anexo os arquivos alterados. ACBrBoletoFCFR.dfm ACBrBoletoFCFR.pas
-
@econdotta por acaso você teve problemas na validação da Agência e Conta no retorno com layout CNAB 400? Estou recebendo o erro "Agencia: 14800 \ Conta: 00001843 do arquivo não correspondem aos dados do Cedente!". Na leitura do retorno 400, a agência é extraída assim: rAgencia := trim(Copy(ARetorno[1], 18, 5)); rDigitoAgencia := trim(Copy(ARetorno[1], 22, 1)); No arquivo, da posição 18 em diante tem "14800", onde 1480 é a agência e 0 é DV. Então, o correto seria: rAgencia := trim(Copy(ARetorno[1], 18, 4)); rDigitoAgencia := trim(Copy(ARetorno[1], 22, 1));
-
Suporte ao indicador de pesagem Weightech WT1000-LED
Daniel Sonda replied to Daniel Sonda's tópico in ACBrSerial
Boa tarde. Em anexo as units, alterada e criada, para suportar o indicador de pesagem citado. Testei no cliente com a transmissão em modo contínuo, mas implementei tentando tratar um modo manual, que não acumule as strings de resposta. ACBrBAL.pas ACBrBALWeightechWT1000.pas -
Suporte ao indicador de pesagem Weightech WT1000-LED
um tópico no fórum postou Daniel Sonda ACBrSerial
Preciso integrar com o indicador de pesagem Weightech WT1000-LED, mas nenhuma das implementações atuais parece funcionar. Alguém já fez isso e poderia me indicar o caminho? Ou será necessário implementar? No log, as respostas variam de posição. O indicador está configurado para transmissão contínua, então parece que são concatenadas várias respostas, em posições diferentes. Exemplo 1: 00025.6[CR][LF]0,00025.6,00000.0,00025.6[CR][LF]0,00025.6,00000.0, Exemplo 2: [LF]0,00025.6,00000.0,00025.6[CR][LF]0,00025.6,00000.0,00025.6[CR] indicador-wt1000led-manual.pdf -
Na impressão do boleto usando Fast Report (unit ACBrBoletoFCFR), a logo do banco é carregada sempre pelo diretório de logos, através do método ImprimeLogoMarca. Anexei a unit com as alterações para chamar o método CarregaLogo da TACBrBoletoFCClass no ImprimeLogoMarca, com o objetivo de disparar primeiro o evento OnObterLogo e, se não tratado, daí carregar a imagem do diretório de logos. Olhei os fontes da impressão usando Fortes Report e lá é usado o CarregaLogo. ACBrBoletoFCFR.pas
-
No método CarregaFastReportFile é feito isso mesmo. Obrigado.
- 2 replies
-
- 1
-
-
- fastrepost
- edição
-
(e 2 mais)
Tags:
-
Como editar a impressão do boleto Fast Report e depois carregá-la via stream
um tópico no fórum postou Daniel Sonda ACBrBoleto
Analisei o projeto de exemplo, os fontes do componente e pesquisei no fórum, mas não ficou claro como editar a impressão do boleto usando o designer do FastReport. Também, considerando que o layout editado (FR3) seja salvo no banco de dados, como posso carregá-lo para o componente usando Report.LoadFromStream? Analisei o método imprimir e parece ser necessário alterá-lo ou criar outro método passando a Stream por parâmetro.- 2 replies
-
- fastrepost
- edição
-
(e 2 mais)
Tags:
-
Bom dia Davi. Como está o suporte à Sicredi? Homologado? Em produção? Poderia postar os fontes? Posso ajudar nos ajustes e conversão pro trunk2.
-
Novos indicadores do tipo de frete no sped Fiscal
Daniel Sonda replied to Gracilane Lima's tópico in ACBrSPEDFiscal
Agora com os arquivos corretos. Me desculpem. ACBrEFDBloco_C_Class.pas ACBrEFDBloco_D_Class.pas ACBrEFDBlocos.pas -
Novos indicadores do tipo de frete no sped Fiscal
Daniel Sonda replied to Gracilane Lima's tópico in ACBrSPEDFiscal
Apliquei as alterações nos fontes originais do projeto. Houve correção também na identação da unit ACBrEFDBloco_C_Class.pas. ACBrEFDBloco_D_Class.pas ACBrEFDBlocos.pas
