caelum / caelum-stella

O Caelum Stella visa suprir as necessidades do dia a dia do desenvolvedor brasileiro
http://stella.caelum.com.br
663 stars 340 forks source link

Erro ao gerar boleto do Itau: nossoNumeroECodDocumento #248

Closed alexjosesilva closed 5 years ago

alexjosesilva commented 5 years ago

Error retrieving field value from bean : nossoNumeroECodDocumento

at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraPDF(GeradorDeBoleto.java:155) at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraRelatorio(GeradorDeBoleto.java:130)

alexjosesilva commented 5 years ago

`package br.com.caelum.stella.boleto;

import br.com.caelum.stella.boleto.Banco; import br.com.caelum.stella.boleto.Beneficiario; import br.com.caelum.stella.boleto.Boleto; import br.com.caelum.stella.boleto.Datas; import br.com.caelum.stella.boleto.Endereco; import br.com.caelum.stella.boleto.Pagador; import br.com.caelum.stella.boleto.bancos.BancoDoBrasil; import br.com.caelum.stella.boleto.bancos.Itau; import br.com.caelum.stella.boleto.transformer.GeradorDeBoleto;

public class App { public static void main( String[] args ) { System.out.println("gerar boleto"); Datas datas = Datas.novasDatas() .comDocumento(1, 5, 2008) .comProcessamento(1, 5, 2008) .comVencimento(2, 5, 2008);

          Endereco enderecoBeneficiario = Endereco.novoEndereco()
                .comLogradouro("Av. República do Líbano, 251")  
                .comBairro("Pina")  
                .comCep("51110-160")  
                .comCidade("Recife")  
                .comUf("PE"); 
          //Quem emite o boleto
          Beneficiario beneficiario = Beneficiario.novoBeneficiario()  
                  .comNomeBeneficiario("Fulano de Tal")  
                  .comAgencia("1824").comDigitoAgencia("4")  
                  .comCodigoBeneficiario("76000")  
                  .comDigitoCodigoBeneficiario("5")  
                  .comNumeroConvenio("1207113")  
                  .comCarteira("18")  
                  .comEndereco(enderecoBeneficiario)
                  .comNossoNumero("005000");

          Endereco enderecoPagador = Endereco.novoEndereco()
                .comLogradouro("Av dos testes, 111 apto 333")  
                .comBairro("Bairro Teste")  
                .comCep("01234-111")  
                .comCidade("São Paulo")  
                .comUf("SP");  

          //Quem paga o boleto
          Pagador pagador = Pagador.novoPagador()  
                  .comNome("Fulano da Silva")  
                  .comDocumento("222.333-12")
                  .comEndereco(enderecoPagador);

// Banco banco = new Itau(); Banco banco = new Itau();

          Boleto boleto = Boleto.novoBoleto()  
                  .comBanco(banco)  
                  .comDatas(datas)  
                  .comBeneficiario(beneficiario)  
                  .comPagador(pagador)  
                  .comValorBoleto("200.00")  
                  .comNumeroDoDocumento("12")  
                  .comInstrucoes("instrucao 1", "instrucao 2", "instrucao 3", "instrucao 4", "instrucao 5")  
                  .comLocaisDePagamento("local 1", "local 2");  

          banco.getNossoNumeroECodigoDocumento(boleto);
          GeradorDeBoleto gerador = new GeradorDeBoleto(boleto);  

          // Para gerar um boleto em PDF  
          gerador.geraPDF("BoletoItau.pdf");  

          // Para gerar um boleto em PNG  
          gerador.geraPNG("BoletoItau.png");  

          // Para gerar um array de bytes a partir de um PDF  
          byte[] bPDF = gerador.geraPDF();  

          // Para gerar um array de bytes a partir de um PNG  
          byte[] bPNG = gerador.geraPNG();
      }  

} `

alexjosesilva commented 5 years ago

gerar boleto Exception in thread "main" br.com.caelum.stella.boleto.exception.GeracaoBoletoException: br.com.caelum.stella.boleto.exception.GeracaoBoletoException: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : nossoNumeroECodDocumento at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraPDF(GeradorDeBoleto.java:158) at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraPDF(GeradorDeBoleto.java:142) at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraPDF(GeradorDeBoleto.java:119) at br.com.caelum.stella.boleto.App.main(App.java:72) Caused by: br.com.caelum.stella.boleto.exception.GeracaoBoletoException: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : nossoNumeroECodDocumento at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraRelatorio(GeradorDeBoleto.java:130) at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraPDF(GeradorDeBoleto.java:155) ... 3 more Caused by: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : nossoNumeroECodDocumento at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:119) at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:96) at net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getFieldValue(JRBeanCollectionDataSource.java:100) at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:1356) at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1257) at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1233) at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1577) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:149) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:932) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:114) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:634) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:956) at br.com.caelum.stella.boleto.transformer.GeradorDeBoleto.geraRelatorio(GeradorDeBoleto.java:126) ... 4 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2155) at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1323) at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:762) at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:837) at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:426) at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:111) ... 18 more Caused by: java.lang.NullPointerException at java.lang.String.concat(Unknown Source) at br.com.caelum.stella.boleto.bancos.Itau.getNossoNumeroECodigoDocumento(Itau.java:67) at br.com.caelum.stella.boleto.Boleto.getNossoNumeroECodDocumento(Boleto.java:450) ... 28 more

alexjosesilva commented 5 years ago

consegui resolver

.comDigitoNossoNumero("347-1");

ou melhor:

//Quem emite o boleto Beneficiario beneficiario = Beneficiario.novoBeneficiario()
.comNomeBeneficiario("Fulano de Tal")
.comAgencia("1824").comDigitoAgencia("4")
.comCodigoBeneficiario("76000")
.comDigitoCodigoBeneficiario("5")
.comNumeroConvenio("1207113")
.comCarteira("18")
.comEndereco(enderecoBeneficiario) .comNossoNumero("005000") .comDigitoNossoNumero("347-1");