Ir para conteúdo
  • Cadastre-se

dev botao

Problema No Calculo Do Dígito Verificador Do Nosso Número - Sicredi


Ver Solução Respondido por Juliomar Marchetti,
  • Este tópico foi criado há 3187 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Opa Thiago, que bom que eu não estava maluco xD Obrigado por voltar aqui e postar o arquivo.

A planilha que eu postei acima também foi enviada a mim por um funcionário da área de boletos do Sicredi, recebi via e-mail no dia 01/10/2015, mas desconheço a versão do arquivo.

Em relação ao logotipo, estou deixando o colorido até implicarem com isso também.

Também não sei se o meu será homologado dessa vez pois o suporte desse banco sempre demora bastante para me enviar retorno, mas qualquer novidade eu posto aqui.

Editado por dev3
esqueci de falar sobre o logotipo.
  • Curtir 1
Postado
"Informamos que seu cedente está homologado e pode entrar em produção a partir desta data."

OBS.: CRÍTICAS VISUAIS BOLETOS – SÓ AJUSTAR

·         A frase do campo referente ao "local de pagamento" deverá ser: "PAGÁVEL PREFERENCIALMENTE NAS COOPERATIVAS DE CRÉDITO DO SICREDI".

É isso aí, foi homologado da forma que eu postei anteriormente, sem modificações no fonte do ACBr.

Eles insistem até o fim para eu alterar esse "local de pagamento", vou alterar só para ficarem felizes.

Obrigado a todos e espero que esse tópico ajude mais alguém.

 

 

 

 

  • Curtir 3
  • 1 mês depois ...
  • Membros Pro
Postado

Olá, estas alterações do Sicredi já foram comitadas, pois estou tendo problemas para a Homologação:

Problema:

Linha 2 Dígito Verificador do Nosso Número incorreto. Favor verificar o manual.

  • Administradores
Postado

Bom dia.

Observe nas mensagem anterior que não foi necessário realizar nenhuma alteração para que os boletos fossem homologados, por favor verifique como está populando o componente.

Att.

 

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

Bom dia Juliana,

Atualizei os fontes agora pela manhã e tive que resolver alguns conflitos em razão de que precisei adicionar tratamento para alguns códigos de retorno (rejeição no C400) que constam no manual do Sicredi porém não eram tratados. Venho mantendo esta versão em paralelo já há algum tempo pois já tentei enviar os fontes para alguém subir pro SVN porém não fui atendido.

Mas, no caso de hoje verifiquei que foi adicionado tratamento para o código "C5" (eu já tinha ele na minha versão) só que pelo que verifiquei não está correta a posição do código na estrutura case com a sua posição no set [] de elementos.

Pois bem, resolvi os meus conflitos e também corrigi a posição do elemento adicionado por vocês e estou anexando a Unit ajustada também com o tratamento para outros códigos de retorno que precisei adicionar já há algum tempo.

Se puderes verificar e subir pro SVN fico grato pois não precisaria mais manter uma versão paralela desta unit.

Outra questão importante, seria a de adicionar os novos códigos tratados sempre no final do conjunto, isso facilitaria a manutenção para quem precisa manter uma versão paralela.

Desde já agradeço.

ACBrBancoSicredi.pas

Postado

Boa tarde,

Para retorno, informo que o banco tb homologou com as alterações do meu último post faz várias semanas já. Só demorou o retorno mesmo.

 

4 horas atrás, Juliana Tamizou disse:

Bom dia.

Observe nas mensagem anterior que não foi necessário realizar nenhuma alteração para que os boletos fossem homologados, por favor verifique como está populando o componente.

Juliana, Não vi novamente o que foi comitado desde então (caso tenha incluído, pode ignorar o texto abaixo :-)), mas sobre não ter que alterar nada para no componente, que foi a abordagem usada pelo dev3, mesmo que não tenha precisado alterar nada pra "funcionar", não quer dizer que a solução que ele usou está correto conceitualmente ou fácil de manter. Considero tal abordagem como quebra de encapsulamento, e baixa coesão da lógica, um workaround (uma gambiarra como o próprio dev3). Usamos um componente justamente para não termos que nos preocupar com IFs e detalhes específicos de cada banco em nossas apps, apesar de ajudar muito, acabamos tendo várias situações específicas para tratar e força desenvolvedores a se debruçarem sobre manuais e especificações técnicas de coisas que não precisariam. Acredito que ele só usou assim devido a não querer fazer as alterações no componente por insegurança que ele expressou no post dele. Eu validei certinho as minhas alterações em relação ao resto do código (única exceção, importante mencionar, não validei o retorno pq não estou usando agora, talvez questões que o sysbase levantou acima, mas não tem porque ter que alterar a abordagem que sugeri devido a isto, talvez algum ajuste na lógica do retorno se fosse o caso).

Gostaria tb que minhas alterações fossem incluídas, e idealmente que a estratégia de tentar encapsular mais tal tipo de lógica seja aplicada em outros pontos/bancos tb, pelo que entendi foi a opinião do dev3 tb. A única coisa que tem tem cuidar é sobre a compatibilidade com gambiarras feitas... pois enquanto não está encapsulado o pessoal vai fazendo gambiarra e ai fica-se com receio de melhorar o componente porque isto quebraria as gambiarras feitas. Minha sugestão qdo tivesse algo assim é um texto no commit com um "ALERTA/IMPORTANTE: QUEBRA COMPATIBILIDADE" grande em caixa alta, mas qto mais tempo segurar melhorias como essa maior débito técnico estamos adquirindo, que sabemos que pagamos com juros mais para frente.

É a minha opinião sobre esta questão, espero poder continuarmos ajudando a melhorar o componente. Obrigado pela atenção.

 

 

  • Administradores
Postado

Boa tarde Thiago.

Em relação a saber se suas alterações foram ou não adicionadas ao svn, basta acompanhar o changelog do mesmo.

Att.

 

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado
21 minutos atrás, Juliana Tamizou disse:

Boa tarde Thiago.

Em relação a saber se suas alterações foram ou não adicionadas ao svn, basta acompanhar o changelog do mesmo.

Att.

 

Olá, estou ciente obrigado, eu uso bastante o changelog, principalmente qdo fazemos o merge de volta para a versão que usamos aqui pra ver se não vai quebrar nada, mas no dia a dia não é muito produtivo ficar checando. É que pelo seu comentário deu a entender que não teria ido. De qq forma olhei rapidinho agora e não achei pelos comentários. Se foi em algum commit relacionado saberei no nosso próximo merge :-)

Aproveitando pra corrigir um texto no meu último post...  "uma gambiarra como o próprio dev3"  faltou o "disse" no final, "uma gambiarra como o próprio dev3 disse" :-)

Abraço

  • 3 meses depois ...
  • Membros Pro
Postado

Ola Pessoal

      Estou com problemas na geração da remessa do arquivo sicredi.

    "  Posição Inicial Posição Final Registro Nome do Campo Informação Inconformidade 0038 0057 DETALHE LOTE Linha 3 Dígito Verificador do Nosso Número incorreto. Favor verificar o manual SEGMENTO P - Nosso número - Identificação do título no banco 00000137000000000000 0038 0057 DETALHE LOTE Linha 5 Dígito Verificador do Nosso "

       Fiz vários procedimentos citados pelos colegas aqui no fórum mas não obtive exito em nenhum deles, acredito estar passando algum parâmetro incorreto mas não consegui identificar o mesmo.

     Segue abaixo a forma que estou passando as informações no sistema.

 if frmcontasreceber.qrcr.fieldbyname('filtro').AsInteger = 1 then
          begin
           Titulo := acBoleto.CriarTituloNaLista;
             with Titulo do
               begin
                  LocalPagamento    := 'Pagamento preferencialmente nas agencias Sicredi';
                  Vencimento        := StrToDate( frmcontasreceber.qrcr.fieldbyname('data_vencimento').AsString);
                  DataDocumento     := StrToDate(frmcontasreceber.qrcr.fieldbyname('data_emissao').AsString);
                  NumeroDocumento   := IntToStr(NossoNumero1+(i));
                  EspecieDoc        := 'DM';
                 if(frmmodulo.qrconfig_cobrebem.fieldbyname('aceite').AsString ='SIM') then
                    Aceite := atSim
                 else
                    Aceite := atNao;
                  DataProcessamento := Now;
                  NossoNumero       := IntToStr(NossoNumero1+(i)); 
                  Carteira          := frmmodulo.qrconfig_cobrebem.fieldbyname('carteira').AsString;
                  ValorDocumento    := frmcontasreceber.qrcr.fieldbyname('valor_atual').AsCurrency;
                  Sacado.NomeSacado := frmmodulo.qrcliente.fieldbyname('nome').asstring;
                  Parcela           := I;
                  EspecieMod        := 'R$';
                  tipo_boleto       := frmmodulo.qrconfig_cobrebem.fieldbyname('VARIACAO_MODALIDADE').AsInteger;

                  if (frmmodulo.qrcliente.fieldbyname('tipo').AsInteger =1) then
                    Sacado.Pessoa     := pFisica
                  else
                    Sacado.Pessoa     := pJuridica;
                  Sacado.CNPJCPF    := OnlyNumber(frmmodulo.qrcliente.fieldbyname('cpf').asstring);
                  Sacado.Logradouro := frmmodulo.qrcliente.fieldbyname('endereco').asstring;
                  Sacado.Numero     := frmmodulo.qrcliente.fieldbyname('numero').asstring;
                  Sacado.Bairro     := frmmodulo.qrcliente.fieldbyname('bairro').asstring;
                  Sacado.Cidade     := frmmodulo.qrcliente.fieldbyname('cidade').asstring;
                  Sacado.UF         := frmmodulo.qrcliente.fieldbyname('uf').asstring;
                  Sacado.CEP        := OnlyNumber(frmmodulo.qrcliente.fieldbyname('cep').asstring);
                  ValorAbatimento   := StrToCurrDef('0',0);
                  LocalPagamento    := frmmodulo.qrcliente.fieldbyname('cidade').asstring;
                  ValorMoraJuros    := StrToCurrDef('0',0);
                  ValorDesconto     := StrToCurrDef('0',0);
                  ValorAbatimento   := StrToCurrDef('0',0);
                  DataMoraJuros     := StrToDateDef('', 0);
                  DataDesconto      := StrToDateDef('', 0);
                  DataAbatimento    := StrToDateDef('', 0);
                  DataProtesto      := StrToDateDef('', 0);
                  PercentualMulta   := StrToCurrDef('2',0);
                  Mensagem.Text     := Edit1.Text;
                  OcorrenciaOriginal.Tipo := toRemessaBaixar;
                  Instrucao1        := padL(trim(Edit2.Text),2,'0');
                  Instrucao2        := padL(trim(Edit3.Text),2,'0');
                 i:=i+1;
                 // ACBrBoleto1.AdicionarMensagensPadroes(Titulo,Mensagem);
               end;

 

86409222.rm4

SGI.exe_ ACBRBoletoFCFortesFr.LayoutBoleto_).pdf

  • Administradores
Postado

Boa tarde.

Observe este caso

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado
4 horas atrás, Juliana Tamizou disse:

Boa tarde.

Observe este caso

Att.

     Ola Juliana, Já Avia estudado este tópico, como vc pode observar nos arquivos que enviei em anexo estou utilizado o posto 32, pode ser a estrutura do arquivo procurei seguir de acordo com o exemplo dado.

     Sei que vários colegas já homologaram estes boletos para o sicred, então com certeza é algo que estou passando no meu código errado.

  • Administradores
Postado

Bom dia.

Ao observar as informações que você passa ao componente, notei que nada foi informado na propriedade CodigoGeracao.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 3187 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.

The popup will be closed in 10 segundos...