-
Total de ítens
89 -
Registro em
-
Última visita
Sobre Grupo IN4

Contact Methods
-
Website URL
http://www.grupoin4.com.br
Últimos Visitantes
1.543 visualizações
Grupo IN4's Achievements
-
Grupo IN4 started following Fuga de Memória ACBrBoleto , AutBank , Inclusão dos fontes do Banco Bradesco Sifra no projeto Acbr para futuras atualizações e 5 outros
-
Gostaria de saber se já existe algum tipo de desenvolvimento ou integração do ACBRBoleto com o AUTBANK
-
Inclusão dos fontes do Banco Bradesco Sifra no projeto Acbr para futuras atualizações
um tópico no fórum postou Grupo IN4 ACBrBoleto
Solcitamos a inclusão dos fontes do Banco Bradesco Sifra, desenvolvido, testado por nós e em uso atualmente. Adicionar as customizações a seguir: type TACBrTipoCobranca = (cobNenhum, cobBancoBradescoSifra, ACBrBoleto.pas TACBrTitulo = class private fSifra : Boolean; Adicionar na uses após o implementation ACBrBancoAthenaBradesco, ACBrBancoBradescoSifra; Adicionar em procedure TACBrBanco.SetTipoCobranca(const AValue: TACBrTipoCobranca); cobBancoAthenaBradesco : fBancoClass := TACBrBancoAthenaBradesco.Create(Self); {237} cobBancoBradescoSifra : fBancoClass := TACBrBancoBradescoSifra.Create(Self); {237} ACBrBancoBradescoSifra.pas -
Alteração no fonte ACBrBancoSafra.pas para a geração do arquivo de remessa CNAB400.
um tópico no fórum postou Grupo IN4 Dúvidas gerais
No fonte do ACBrBancoSafra.pas foi necessário fazer a seguinte alteração: aAgencia := PadLeft(ACBrBanco.ACBrBoleto.Cedente.Agencia, 5, '0'); aConta := PadLeft(ACBrBanco.ACBrBoleto.Cedente.Conta, 8, '0') + PadLeft(ACBrBanco.ACBrBoleto.Cedente.ContaDigito, 1, '0'); procedure TACBrBancoSafra.GerarRegistroHeader400(NumeroRemessa: integer; ARemessa: TStringList); var wLinha: String; aAgencia, aConta: String; begin aTotal := 0; aCount := 0; aAgencia := PadLeft(ACBrBanco.ACBrBoleto.Cedente.Agencia, 5, '0'); aConta := PadLeft(ACBrBanco.ACBrBoleto.Cedente.Conta, 8, '0') + PadLeft(ACBrBanco.ACBrBoleto.Cedente.ContaDigito, 1, '0'); FNumeroRemessa := NumeroRemessa; with ACBrBanco.ACBrBoleto.Cedente do begin wLinha := '0' + // ID do Registro Header '1' + // ID do Arquivo de Remessa 'REMESSA' + // Literal de Remessa '01' + // Código do Tipo de Serviço PadRight('COBRANCA', 15) + // Descrição do tipo de serviço + "brancos" aAgencia + aConta + // Codigo da Empresa no Banco Space(6) + // "brancos" PadRight(Nome, 30) + // Nome da Empresa IntToStr(Numero) + // Código do Banco - 237 PadRight('BANCO SAFRA', 15) + // Nome do Banco - BANCO SAFRA + "brancos" FormatDateTime('ddmmyy', Now) + // Data de geração do arquivo Space(291) + // "brancos" IntToStrZero(NumeroRemessa, 3) + // Nr. Sequencial de Geração do Arquivo IntToStrZero(1, 6); // Nr. Sequencial do Registro no Arquivo ARemessa.Text := ARemessa.Text + UpperCase(wLinha); end; end; Ajuste necessário porque o lay-out pede que na posição 27 a 40 (CNAB400 do Banco Safra) seja preenchido com a agência com 5 dígitos (zeros à frente) e Conta com 8 dígitos mais o Digito Verificador da conta, ou seja, totalizando 14 dígitos. Solicito validação, homologação e inclusão no projeto para atualizações futuras. ACBrBancoSafra.pas -
Gostaria de informar e solicitar a correção de fuga de memória (Leak). O Objeto SLResultGuia que está sendo criado no método function TTResultLote_GNRE.Ler_Versao_1: boolean; da UNIT pgnreRetConsResLoteGNRE, só é liberado se subir uma exceção.
-
Visualização de informações da descrição do produto na DANFE
um tópico no fórum postou Grupo IN4 Dúvidas não relacionadas ao ACBr
Bom dia, Gostaria de saber se existe alguma forma de realizar algum tipo de quebra na visualização das informações da descrição do produto na DANFE, uma vez que ao tentarmos visualizar, por não ser possível comportar todos os dados em uma única página, as informações estão indo para uma segunda página e deixando um espaço em branco desnecessário na DANFE: A parte destacada em azul, são todas as informações da descrição do produto, com informações dos lotes do mesmo, na parte que foi destacada em vermelho, ficou um espaço em branco, uma vez que não foi possível comportar todos os dados da descrição do produto em uma única página. Caso não exista nenhum função ou método para realizar esta quebra de linha, existiria algum método de concatenar as informações para que elas ficassem lado a lado EX.: LOTE: abc, QTD: 10, FAB: 10/11/2024, VAL: 10/11/2026; LOTE: CBA, QTD: 20, FAB: 10/12/2024, VAL: 10/12/2026 -
Geração de Cobrança PIX Itau - Retorno Vazio
Grupo IN4 replied to Grupo IN4's tópico in Dúvidas gerais
Foi isso mesmo, mexemos no OpenSSL e foi resolvido, obrigado pelo retorno -
Geração de Cobrança PIX Itau - Retorno Vazio
Grupo IN4 replied to Grupo IN4's tópico in Dúvidas gerais
Não... Todas as propriedades são preenchidas da mesma forma -
Geração de Cobrança PIX Itau - Retorno Vazio
Grupo IN4 replied to Grupo IN4's tópico in Dúvidas gerais
Entendi, no nosso caso os scopes são iguais, é a mesma aplicação quem faz as requisições, a única diferença é que quando executamos ela numa máquina local funciona, enquanto no servidor, não... Acreditamos que possa ter algo a ver com o servidor ser localizado nos EUA mas não conseguimos confirmar se esse realmente é o problema -
Geração de Cobrança PIX Itau - Retorno Vazio
Grupo IN4 replied to Grupo IN4's tópico in Dúvidas gerais
Me desculpe a ignorância, mas o que seriam esses scopos? -
Boa tarde! Implementamos na nossa aplicação a geração de cobrança PIX Itaú, nos testes locais tudo OK, porém ao subir a aplicação para um servidor XLHost, não conseguimos gerar a cobrança e o response que é retornado pelo banco fica vazio. Alguma sugestão do que pode ser o problema? Ou alguma solução ou ferramenta que possa nos auxiliar? Segue em anexo o Log gerado quando a aplicação roda localmente e no servidor LogPixServidor.txt LogPixLocal.txt
-
Só por curiosidade, tem alguma maneira que eu possa acompanhar o andamento do TK?
-
Estamos processando retorno do Banco Bradesco com 400 posições; No método TACBrBancoClass.LerRetorno400 no momento de definir o código do motivo gera um laço de 5 repetições para ler blocos de 2 caracteres iniciando na posição 319. Na última volta do laço ele acaba pegando no nosso caso o valor '2 '; A instrução de definição da variável CodMotivo é: CodMotivo := StrToInt(IfThen(copy(Linha,MotivoLinha,2) = ' ','00',copy(Linha,MotivoLinha,2))); Isso acaba retornando uma exceção: ' 2' is not a valid integer value; estamos fazendo alguma leitura errada ou é algo realmente a ser resolvido? VER ARQUIVO.RET (Em anexo). Se não estivermos fazendo nada errado achamos que pode haver algum problema com o fonte: Fonte da Unit unit ACBrBoleto; procedure TACBrBancoClass.LerRetorno400(ARetorno: TStringList); ... MotivoLinha := 319; for i := 0 to 4 do begin CodMotivo := StrToInt(IfThen(copy(Linha,MotivoLinha,2) = ' ','00',copy(Linha,MotivoLinha,2))); ... MotivoLinha := MotivoLinha + 2; //Incrementa a coluna dos motivos end; ... end; Linha do Arquivo de retorno Bradesco 400 posiçoes 02RETORNO01COBRANCA 00000000000000051978PS.SECURITIZADORA DE CREDITOS 237BRADESCO 1704220160000000001 180422 000001 10240974616000188000000202960010434710071677PROFACW 0000000000000353853P000000000000000000000000020614042272261-07 00000353853P00000000140422000000004854310402261 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000485430000000000000000000004854300000000000000000000000000 140422 26910511000134JOSE GENIVALDO OLIVEIRA 34000002 posição 319 a 329 da linha detalhe 140422 3 3 3 3 3 1 2 2 2 2 9 1 3 5 7 i = 0 MotivoLinha = 319 copy(Linha,MotivoLinha,2) = ' ' i = 1 MotivoLinha = 321 copy(Linha,MotivoLinha,2) = ' 1' 1 = 2 MotivoLinha = 323 copy(Linha,MotivoLinha,2) = '40' i = 3 MotivoLinha = 325 copy(Linha,MotivoLinha,2) = '42' i = 4 MotivoLinha = 327 copy(Linha,MotivoLinha,2) = '2 ' Não há método override para o método da classe primária na Unit ACBrBancoBradesco; VER DETALHEACBR.TXT (Em anexo). ARQUIVO.RET DetalheACBR.txt
-
O fonte ACBrboleto na classe TACBrTitulo está inicializando a propriedade FRetornoWeb, do tipo TRetEnvio, e não está liberando o objeto ao destruir a classe, causando fuga de memória. Em anexo estão o print de tela e o arquivo Leak Report do MadExcept. Application MadExcept - 2022-02-22 - 17.08.09 - leak report.mbr