Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nosso número do Sicredi com ano errado #8

Closed
diogolovizon opened this issue Dec 1, 2016 · 2 comments
Closed

Nosso número do Sicredi com ano errado #8

diogolovizon opened this issue Dec 1, 2016 · 2 comments

Comments

@diogolovizon
Copy link

Olá Fábio, descobrimos um Bug na geração de boletos do Sicredi, e só fomos alertados disso agora devido a virada do ano que está próxima. Veja só:

O boleto está gerando o nosso número com base na data de vencimento em questão (2017) mas na verdade deveria ser o ano corrente. exemplo -> http://prntscr.com/de7qrf

Mudança necessária: http://prntscr.com/de7pw7

Para não ter problemas de versões gostaria de saber se vc consegue compartilhar o projeto no git de uma forma em que eu possa contribuir com estas pequenas atualizações sem precisar solicitar a vc.

A não ser que prefira desta forma =)

Você consegue fazer esta atualização, o que sugere?
Abraços!

@impactro
Copy link
Owner

impactro commented Dec 7, 2016

Ola Diogo, bom dia.

Realmente você está certo, e como você apontou, coloquei minha versão da correção abaixo.
Pode fazer ai do seu lado já mudando a assinatura do método e refletindo isso também na rotina de geração da remessa.

        /* Sicred_Manual_Beneficiario_Cobranca_CNAB_400.pdf - Página 7
        AA/BXXXXX-D
        AA = Ano atual
        B = Byte (2 a 9). 1 só poderá ser utilizado pela cooperativa.
        XXXXX – Número livre de 00000 a 99999.
        D = Digito Verificador pelo módulo 11.
        */
        public static void MontaNossoNumero(ref string cNossoNumero, ref string cAgenciaNumero, ref string cModalidade, ref string cCodCedente)
        {
            cNossoNumero = CobUtil.Right(cNossoNumero, 5);
            cAgenciaNumero = CobUtil.Right(cAgenciaNumero, 4);
            cModalidade = CobUtil.Right(cModalidade, 2); // Posto da Agência cedente - será colocado em modalidade
            cCodCedente = CobUtil.Right(cCodCedente, 5);

            cNossoNumero = string.Format("{0:yy}2", DateTime.Now) + // 3
                           cNossoNumero;                            // 3+5=8

            // Digito Verificado só do Nosso Numero: aaaappcccccyybnnnnn
            // Aqui o nossonumero já está com o yybnnnnn

            string cDV = CobUtil.Modulo11Especial(
                cAgenciaNumero +
                cModalidade +
                cCodCedente +
                cNossoNumero, 9).ToString();

            cNossoNumero += cDV; // 8+1=9
        }

Eu uso um git privado no bitbucket para controle de versão, e a ideia da venda dos fontes é justamente essa, de ninguém ficar na minha dependência e conseguir se virar melhorando ou corrigindo algo que tenha passado despercebido, e eventualmente quem quiser pode colaborar desta forma sugerindo melhorias, e eu vou validando aqui conforme a necessidade.

@impactro impactro closed this as completed Dec 7, 2016
@diogolovizon
Copy link
Author

diogolovizon commented Dec 7, 2016 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants