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

Como trocar a Variação da Carteira do arquivo EDI do BB? #987

Open
MarceloNeoTecnologia opened this issue Jan 2, 2024 · 1 comment
Open

Comments

@MarceloNeoTecnologia
Copy link

MarceloNeoTecnologia commented Jan 2, 2024

bom dia.... estou gerando boletos e arquivos de remessa do EDI para o BB.

porêm estou com uma msg de convenio errado e variação da carteira errado no EDI. porrem no boleto aparentemente esta tudo ok.

o problema é q eu troco a variação da carteira para "027", mas no arquivo do EDI sempre coloca "019".

mesmo forçando via hard code para "027" no edi aparece "019";

alguem poderia me ajudar com isso? como posso resolver isso?

vou por o codigo q utilizo.


            var boleto = new BoletoNet.Boleto(DateTime.Now.AddDays(10), 0.01m, "17", "1", "4340", "13321");
            var boletoBancario = new BoletoBancario();
            boletoBancario.Boleto = boleto;

            boletoBancario.Boleto.NumeroDocumento = numeroDocumento.Trim(); 
            
            // FORÇO A TROCA DA VARIACAO;
            // FORÇO A TROCA DA VARIACAO;
			
            var variacaoCarteira = "027";
            boletoBancario.Boleto.VariacaoCarteira = variacaoCarteira;
			
            // FORÇO A TROCA DA VARIACAO;
            // FORÇO A TROCA DA VARIACAO;
			
            boletoBancario.Boleto.LocalPagamento = "";
            boletoBancario.Boleto.Avalista = null;

            boletoBancario.Boleto.Cedente.Codigo = codigoNoBanco;
            boletoBancario.Boleto.Cedente.Carteira = carteira.Trim();
            boletoBancario.Boleto.Cedente.CPFCNPJ = _empresa.Cnpj.ToString();
            boletoBancario.Boleto.Cedente.Convenio = long.Parse(convenio);

            boletoBancario.Boleto.Cedente.Endereco = new BoletoNet.Endereco();
            boletoBancario.Boleto.Cedente.Endereco.Bairro = _empresa.Bairro.Trim();
            boletoBancario.Boleto.Cedente.Endereco.CEP = _empresa.CEP.ExtrairNumero().Trim();
            boletoBancario.Boleto.Cedente.Endereco.Cidade = _empresa.DsMunicipio?.Trim() ?? string.Empty;
            boletoBancario.Boleto.Cedente.Endereco.Complemento = "";
            boletoBancario.Boleto.Cedente.Endereco.Email = _empresa.Email.Trim();
            boletoBancario.Boleto.Cedente.Endereco.Numero = _empresa.Numero.Trim();
            boletoBancario.Boleto.Cedente.Endereco.UF = _empresa.SiglaUF?.Trim() ?? "BA";
            boletoBancario.Boleto.Cedente.Endereco.End = _empresa.Logradouro.Trim();

            boletoBancario.Boleto.Cedente.Nome = _empresa.Nome;

            boletoBancario.Boleto.Sacado.CPFCNPJ = Parcela.Titulo.Pagador.vl_cnpj_cpf.Trim();
            boletoBancario.Boleto.Sacado.Nome = Parcela.Titulo.Pagador.ds_nomereduzido.Trim();
            boletoBancario.Boleto.Sacado.Endereco.Bairro = Parcela.Titulo.Pagador.ds_bairro.Trim();
            boletoBancario.Boleto.Sacado.Endereco.CEP = Parcela.Titulo.Pagador.vl_cep.ExtrairNumero().Trim();
            boletoBancario.Boleto.Sacado.Endereco.Numero = Parcela.Titulo.Pagador.ds_logradouro.Trim();
            boletoBancario.Boleto.Sacado.Endereco.Cidade = Parcela.Titulo.Pagador.ds_municipio.Trim();
            boletoBancario.Boleto.Sacado.Endereco.Email = Parcela.Titulo.Pagador.ds_e_mail.Trim();
            boletoBancario.Boleto.Sacado.Endereco.End = Parcela.Titulo.Pagador.ds_endereco.Trim();
            boletoBancario.Boleto.Sacado.Endereco.Complemento = "";
            boletoBancario.Boleto.Sacado.Endereco.UF = Parcela.Titulo.Pagador.id_uf.SiglaEstado();

            boletoBancario.Boleto.DataVencimento = Parcela.DtVencimento;
            boletoBancario.Boleto.DataDocumento = Parcela.DtEmissaoDocumento;
            boletoBancario.Boleto.DataProcessamento = DateTime.Now;

            boletoBancario.Boleto.ValorBoleto = Parcela.ValorDevido;
            boletoBancario.Boleto.ValorDescontoAntecipacao = Parcela.VlDesconto;
            boletoBancario.Boleto.ValorDesconto = 0;
            boletoBancario.Boleto.Abatimento = 0;

            boletoBancario.Boleto.NumeroParcela = Parcela.IdParcela;
            boletoBancario.Boleto.TotalParcela = Parcela.Titulo?.QtdParcelas ?? 0;
            boletoBancario.Boleto.QuantidadeMoeda = 0;
            boletoBancario.Boleto.TipoDeCobranca = "1";

            boletoBancario.Boleto.EspecieDocumento = new EspecieDocumento(idBanco);
            boletoBancario.Boleto.EspecieDocumento.Codigo = "01";

            boletoBancario.Boleto.Remessa = new Remessa();
            boletoBancario.Boleto.Remessa.TipoDocumento = "1";
            boletoBancario.Boleto.Remessa.CodigoOcorrencia = "01";

            MensagemValidacao = string.Empty;

            try
            {
                boletoBancario.Boleto.Valida();
            }
            catch (Exception ex)
            {
                MensagemValidacao = ex.Message;
            }

            boletoBancario.GerarArquivoRemessa = true;
            boletoBancario.Boleto.Remessa = new Remessa {TipoDocumento = "1", CodigoOcorrencia = "01"};

                var memoryStr = new MemoryStream();

                var edi = new ArquivoRemessa(cnab);
                edi.NumeroConvenio = "3030720";
                var retorno = string.Empty;
                if (edi.ValidarArquivoRemessa("3030720", "1", boletoBancario.Boleto.Cedente, boletosEdi, 123, out retorno))
                {
            
                    var boletosEdi = new Boletos();
                    boletosEdi.Add(boletoBancario.Boleto);
                    edi.GerarArquivoRemessa("3030720", "1", boletoBancario.Boleto.Cedente, boletosEdi, memoryStr, 123);
                    BytesEdis = memoryStr.GetBuffer();
                }

segue imagem de como edi foi gerado, com a variação 019 e não 027 q eu queria

edi_variaco_carteira

@Luis-Parra
Copy link

@MarceloNeoTecnologia tenta jogar a carteira e a variação juntas, tive um problema parecido e pra mim deu certo dessa forma.

Seu código poderia ficar assim:

        var boleto = new BoletoNet.Boleto(DateTime.Now.AddDays(10), 0.01m, "17", "1", "4340", "13321");
        var boletoBancario = new BoletoBancario();
        boletoBancario.Boleto = boleto;

        boletoBancario.Boleto.NumeroDocumento = numeroDocumento.Trim(); 
        
        // FORÇO A TROCA DA VARIACAO;
        // FORÇO A TROCA DA VARIACAO;
		
        var variacaoCarteira = "027";
        var carteiraComVariacao = $"{carteira.Trim()}-{variacaoCarteira}" //variável recebendo a carteira e a variação
        boletoBancario.Boleto.VariacaoCarteira = variacaoCarteira;
		
        // FORÇO A TROCA DA VARIACAO;
        // FORÇO A TROCA DA VARIACAO;
		
        boletoBancario.Boleto.LocalPagamento = "";
        boletoBancario.Boleto.Avalista = null;

        boletoBancario.Boleto.Cedente.Codigo = codigoNoBanco;
        boletoBancario.Boleto.Cedente.Carteira = carteiraComVariacao; //atribuindo a variável no objeto

no caso eu criei a variável carteiraComVariacao recebendo a carteira concatenando com a variação dela, então o valor dela é "17-019". Depois eu atribuí essa variável no boletoBancario.Boleto.Cedente.Carteira.

Para o Banco do Brasil isso deve funcionar.

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