Ir para conteúdo
  • Cadastre-se

Joel

Membros Pro
  • Total de ítens

    129
  • Registro em

  • Última visita

Sobre Joel

Contact Methods

  • Website URL
    http://www.unionsystem.com.br

Últimos Visitantes

1.824 visualizações

Joel's Achievements

  1. Desculpe a demora em responder Juliomar, Ele será via cnab400 por enquanto. Uma necessidade de um cliente nosso. "pega um que seja parecido e baseia-se nele para implementar." ( Fiz exatamente isso mesmo, obrigado pela dica). Eu tive que implementar, a principio, um formato meio diferente, deixa eu tentar explicar. Nosso cliente solicitou a homologação do ARBI, porém depois descobrimos que havia uma financeira intermediária no meio, tive que implementar conforme eles precisavam. O fluxo vai ser: -Nosso sistema gera o titulo, e envia a remessa para esta financeira, a financeira importa a remessa para o sistema dela, e gera uma remessa para o ARBI. Feito isso, o ARBI devolve um retorno, esta financeira lê este retorno, e gera um retorno para nós, nós lêmos este retorno em nosso sitema, onde eu absorvo apenas o NOSSONUMERO gerado pelo banco, para vincular em nosso título, e em fim geramos um boleto do nosso sistema com o NOSSONUMERO recebido. Então tive que implementar a princípio este fluxo, porém, o boleto está gerando, a remessa está gerando e a leitura do retorno está sendo feita conforme layout cnab400. Segue os fontes da unit do ARBI e o uses na unit ACBrBoleto. Por favor se puderem incluir no svn. Desde já agradeço a vossa atençao. ACBrBancoARBI.pas ACBrBoleto.pas
  2. Pessoal, estarei implementando o boleto e remessa e retorno do banco ARBI no componente. Faço o convite para quem estiver com a mesma demanda, unirmos forças para implmenetar!
  3. Joel

    TEF

    Como eu realizo esse procedimento para verificação da carga está correta?
  4. Joel

    TEF

    Boa tarde, Liberei o TEF no cliente porém os cartões Nutricard, Greencard, Bk com a autorizadora Pag Bank não está passando, solicitaram que eu realizar a carga novamente, porém já efetuei o procedimento mas não efetuou a transação. Na POS da Pag Bank executa normalmente a operação como proceder?
  5. Bom dia, Gerado a remessa no sistema ao enviar para o Banco Sicredi está aparecendo a mensagem: Dados inválidos. 990:Erro Fatal na Rotina de Validacao: ORA-01841: (full) year must be between -4713 and +9999, and not be 0. Conforme print anexo. O que pode ser, não estou conseguindo encontrar no manual.
  6. Pessoal, mudou a url do provedor de Cunha Porã. [4204707] Nome=Cunha Pora UF=SC Provedor=Pronimv2 NomeURL_H=http://cunhapora.govbr.cloud/NFSe.Portal.Integracao/Services.svc?wsdl NomeURL_P=http://cunhapora.govbr.cloud/NFSe.Portal.Integracao/Services.svc?wsdl
  7. Joel

    DataDesconto3

    Pessoal, tive que alterar mais coisas nos arquivos ACBrBoleto e ACBrBancoSicredi; Vi que os arquivos não estavam respeitando as datas de desconto conforme alimentadas, estavam jogando o vencimento. Na unit acbrboleto tive que criar variaveis que não tinham. fValorDesconto3 : Currency; // criado por joel necessidade sicredi No acbrbancosicredi tive que alterar as linhas de data de desconto e data de desconto 2 e 3 e também seus valores: // IfThen(ValorDesconto = 0, '00000000', FormatDateTime('ddmmyyyy', Vencimento)) + // 143 a 150 - Data do desconto 1 IfThen(ValorDesconto = 0, '00000000', FormatDateTime('ddmmyyyy', DataDesconto)) + // 143 a 150 - Data do desconto 1 alterado por joel 15/12/2020 // IfThen(ValorDesconto2 = 0, '00000000', FormatDateTime('ddmmyyyy', Vencimento)) + // 19 - 26 Data do Desconto 2 IfThen(ValorDesconto2 = 0, '00000000', FormatDateTime('ddmmyyyy', DataDesconto2)) + // 19 - 26 Data do Desconto 2 alterado por joel 15/12/2020 IntToStrZero(Round(ValorDesconto2 * 100), 15) + // 27 - 41 Valor/Percentual // PadLeft('0', 8, '0') + // 43-50 data do desconto 3 // PadLeft('0', 15, '0') + // 51-65 Valor ou percentual a ser concedido // IfThen(ValorDesconto3 = 0, '00000000', FormatDateTime('ddmmyyyy', Vencimento)) + // 43-50 data do desconto 3 IfThen(ValorDesconto3 = 0, '00000000', FormatDateTime('ddmmyyyy', DataDesconto3)) + // 43-50 data do desconto 3 alterado por joel 15/12/2020 Anexei também o layout cnab240 do sicredi e também as criticas da homologação do banco. Desde já agradeço a vossa atenção. ACBrBancoSicredi.pas ACBrBoleto.pas criticasCNAB (1)Tanques canção 08-12 (1).pdf Manual Sicredi CNAB240.pdf
  8. Joel

    DataDesconto3

    Boa tarde Pessoal, estou homologando remessa cnab240 sicredi e exigiram o preenchimento dos campos datadesconto2 valordesconto2 e datadesconto3 e valordesconto3. Na unit ACBrBoleto precisei criar os campos: fValorDesconto3 : Currency; // criado por joel necessidade sicredi fDataDesconto3 : TDateTime;// criado por joel necessidade sicredi na unit sicredi precisei alterar as linhas: // PadLeft('0', 8, '0') + // 43-50 data do desconto 3 // PadLeft('0', 15, '0') + // 51-65 Valor ou percentual a ser concedido IfThen(ValorDesconto3 = 0, '00000000', FormatDateTime('ddmmyyyy', Vencimento)) + // 43-50 data do desconto 3 IntToStrZero(Round(ValorDesconto3 * 100), 15) +// 51-65 Valor ou percentual a ser concedido Por gentileza poderiam validar. Obrigado! ACBrBancoSicredi.pas ACBrBoleto.pas
  9. Bom dia chefe, bacana, vou ver se consigo atualizar e fazer um teste, segunda feira é aquela correria, então já viu ne hehe. Muito obrigado, agradeço seu contato!
  10. Opa bacana Juliana! Mais uma vez obrigado! Vamos estar no aguardo, enquanto isso vou contornando aqui hehe. Abraços!
  11. Olá Juliana, obrigado pelo retorno. No meu caso, não vou utilizar o nosso número para baixar meus títulos, utilizo o meu numero. o problema é que, como na leitura do retorno existe uma validação, o nosso numero juntando com o ano que é colocado na frente fica maior que o máximo de 5 posições determinado na constante e no copy. Acredito que fica com uns 9 digitos por ai, e acaba sendo barrado na validação que comentei, não deixando eu fazer o retorno. Teria como ser flexivel este tamanho será ne? Ou ao menos validar o tamanho máximo do layout. Desculpe não havia visto este post, vou continuar por lá. * Fui para o outro tópico mas não consigo comentar. Vi que estão já implementando algo devido ao dígito verificador, o meu problema não é o digito pois não utilizo nossonumero para baixar meus títulos, utilizo o meu numero alo assim. O problema que estou tendo é no tamanho máximo do campo que está me barrando.
  12. Bom dia pessoal tudo bem? Encontrei este post e acho que tem relação com o problema que encontrei esta semana em um cliente onde o nosso número está beeem grande. O meu problema se encontra no RETORNO, vi que estão com problema na emissão, mas eu não tenho este problema de emissão, mesmo com um número grande de nosso número. Baseado no tamanho máximo do nosso número que consta 20 posições (posicao 38 a 57) no layout cnab240, reparei em varios layouts de outros bancos além do sicredi, precisei alterar o limite máximo de caracteres deste campo para o tamanho permitido 20. unit ACBrBancoSicredi; LINHA 94: fpTamanhoMaximoNossoNum := 20; // fpTamanhoMaximoNossoNum := 5; JOEL UNIONSYSTEM Tive que alterar esta constante pois na unit ACBrBoleto; existe um validador que utiliza esta constante para comparar o tamanho do campo. Na REMESSA, como este validador recebe apenas um número que passo para ele, ele não dá problema, porém no RETORNO ele vem com o ANO na frente do numero e um dígito verificador, e ai acaba estrapolando o tamanho validado pela função. SetNossoNumero if Length(trim(wNossoNumero)) > wTamNossoNumero then raise Exception.Create( ACBrStr('Tamanho Máximo do Nosso Número é: '+ IntToStr(wTamNossoNumero) )); LINHA 2040: NossoNumero := Trim(Copy(SegT,38, 20)); //Trim(Copy(SegT,38, 5)); JONES UNIONSYSTEM Tivemos que alterar o copy de 5 para 20 pois nosso número já está passando de 5 posições. Eu não vejo a obrigatoriedade de pegar apenas 5 posições já que o layout nos permite 20 posições para preencher, e como fazemos um TRIM , isso já seria o bastante para não termos problemas com espaços em branco. Como estamos recortando da esquerda para direita, não vejo problema de quem tem um número pequeno pois sempre o início será recortado pelo copy, o problema está nos números grandes acima de 5 posições que estão sendo truncados. Segue em anexo arquivo ACBRBancoSicredi.pas para analise. Desde já agradeço a vossa atenção. ACBrBancoSicredi.pas
  13. A sim, obrigado Juliana. Sim essa ordenação eu reparei. Mas somente ela não basta na forma que pensei. Se conseguíssemos divulgar a importância de padronizar o titulo entende? Tipo BANCO - PROBLEMA. Ao menos aqui no tópico do CBRBOLETO , iria funcionar legal. E ainda, se tivesse a ordenação por "titulo e data de atualização" juntos, ficaria ordenado pelo banco e a ultima data de atualização, seriá bem pratico para localizar seu tópico e teríamos menos tópicos repetidos.
  14. Olá pessoal , na funçao GerarRegistroTransacao240 o campo TipoAvalista em caso de não existir precisa ser 0, atualmente 9. Segue unit alterada em anexo e layout cnab240 do sicred . Registro detalh Q está na pagina 48 coluna 154. {Avalista} case Sacado.SacadoAvalista.Pessoa of pFisica: TipoAvalista := '1'; pJuridica: TipoAvalista := '2'; else TipoAvalista := '0'; // alterado por joel takei 17/04/2019 end; Gostaria de dar uma sugestão aos moderadores, será que vocês não conseguem mudar a ordenação do forum para titulo x data ? Se conseguissem, poderiamos adotar o padrão de colocar o nome do banco na frente e depois o problema.. os registros de bancos semelhantes ficariam concentrados e ordenados por data. Seria bem mais fácil para gente saber que já existe um tópico relacionado ao problema que você está resolvendo. Bom , era isso.. vai que ne... Grande abraço a todos! ACBrBancoSicredi.pas Manual Sicredi CNAB240.pdf
  15. Bom dia José, entendi a sua colocação. Pois olhando no código está assim: IfThen(ValorMoraJuros = 0, '3', '1') // 118 a 118 - Código do juro de mora então caso não tenha valor de mora ele envia 0, caso contrario envia 3. Até funciona sim, mas como existe o campo Titulo.CodigoMora no componente, e ele é utilizado não somente para este banco, eu preencho este campo sempre conforme exigências do banco. Este ifthen está fazendo uma "adaptação" para não usar este campo, porém como existe uma validação com uma variável no construtor e está desta forma: fpCodigosMoraAceitos := 'AB'; Por que não corrigi la conforme o padrão do banco como a gente sempre faz? Ou eu terei que adaptar meu código com um if banco = sicredi não manda o campo Titulo.CodigoMora se não vai dar erro, pois o campo só aceita A ou B. Você acha que isto está correto? Eu penso que não. Tanto que estou enviando esta alteração para homologar o arquivo ACBrBancoSicredi.pas . Se os moderadores não aceitarem a alteração, não posso fazer nada, simplesmente terei que manter esta alteração em meu arquivo e trabalhando com merge quando fizer comit deste arquivo. Olha, já homologuei alguns bancos neste forum e nunca tive este problema.... "O manual do CNAB400 deste banco segue a especificação "A" e "B" para o código de Mora. Talvez então seja necessário adicionar os dois tipos (''AB012'') no construtor." O CNAB400 não é mais usado pela maioria dos bancos atualmente José. Tenho homologação, só este ano, o banco do brasil, itau, santander, sicoob, bradesco, caixa economica e agora o sicred, e todos exigem o CNAB240.
×
×
  • 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.