Erro com ireport (Resolvido)

3 respostas
jonasjgs2

boa tarde a todos,

fiz um relatorio
e no detail tem alguns campos
os mesmos descritos na classe Detail2 descrita abaixo
porem quando eu executo me da o seguinte erro:

run:
net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : Det_cProd
at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:123)
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:922)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:887)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:864)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1435)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:126)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:765)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540)
at danfe001.Danfe001.Relatorio(Danfe001.java:130)
at danfe001.Danfe001.main(Danfe001.java:27)
Caused by: java.lang.NoSuchMethodException: Unknown property 'Det_cProd' on class 'class danfe001.Details2'
at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1313)
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)
... 14 more
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)

o trecho da classe que chama o relatorio e o seguinte:

List<Details2> list = new ArrayList<Details2>();
        
        Details2 details; 
        
        for (int i=0;i<100;i++) {
            details = new Details2();
            details.setDet_Aliq_ICMS("18,00");
            details.setDet_Aliq_IPI("0,00");
            details.setDet_CFOP("5102");
            details.setDet_CST("060");
            details.setDet_NCM("12345678");
            details.setDet_cEAN("12345678901234");
            details.setDet_cProd(""+i+1000);
            details.setDet_qCom(""+i+5);
            details.setDet_uCom("UN");
            details.setDet_vBC("100,00");
            details.setDet_vDesc("1,00");
            details.setDet_vICMS("18,00");
            details.setDet_vIPI("5,00");
            details.setDet_vProd("105,00");
            details.setDet_xProd("Produto de Teste "+i);
            list.add(details);
        }

        JRBeanCollectionDataSource source =
                new JRBeanCollectionDataSource(list);

        try {

            JasperPrint p = JasperFillManager
                    .fillReport("src/Danfe001/Danf001.jasper", map, source);

            JasperViewer.viewReport(p, false);
        } catch (Exception e) {
            e.printStackTrace();
        }

a classe details2 e a seguinte:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package danfe001;

/**
 *
 * @author Admin
 */
public class Details2 {
    private String Det_cProd;
    private String Det_cEAN;
    private String Det_xProd;
    private String Det_NCM;
    private String Det_CFOP;
    private String Det_uCom;
    private String Det_qCom;
    private String Det_vUnCom;
    private String Det_vProd;
    private String Det_CST;
    private String Det_vDesc;
    private String Det_vBC;
    private String Det_vICMS;
    private String Det_vIPI;
    private String Det_Aliq_IPI;
    private String Det_Aliq_ICMS;

    public String getDet_cProd() {
        return Det_cProd;
    }

    public void setDet_cProd(String Det_cProd) {
        this.Det_cProd = Det_cProd;
    }

    public String getDet_cEAN() {
        return Det_cEAN;
    }

    public void setDet_cEAN(String Det_cEAN) {
        this.Det_cEAN = Det_cEAN;
    }

    public String getDet_xProd() {
        return Det_xProd;
    }

    public void setDet_xProd(String Det_xProd) {
        this.Det_xProd = Det_xProd;
    }

    public String getDet_NCM() {
        return Det_NCM;
    }

    public void setDet_NCM(String Det_NCM) {
        this.Det_NCM = Det_NCM;
    }

    public String getDet_CFOP() {
        return Det_CFOP;
    }

    public void setDet_CFOP(String Det_CFOP) {
        this.Det_CFOP = Det_CFOP;
    }

    public String getDet_uCom() {
        return Det_uCom;
    }

    public void setDet_uCom(String Det_uCom) {
        this.Det_uCom = Det_uCom;
    }

    public String getDet_qCom() {
        return Det_qCom;
    }

    public void setDet_qCom(String Det_qCom) {
        this.Det_qCom = Det_qCom;
    }

    public String getDet_vUnCom() {
        return Det_vUnCom;
    }

    public void setDet_vUnCom(String Det_vUnCom) {
        this.Det_vUnCom = Det_vUnCom;
    }

    public String getDet_vProd() {
        return Det_vProd;
    }

    public void setDet_vProd(String Det_vProd) {
        this.Det_vProd = Det_vProd;
    }

    public String getDet_CST() {
        return Det_CST;
    }

    public void setDet_CST(String Det_CST) {
        this.Det_CST = Det_CST;
    }

    public String getDet_vDesc() {
        return Det_vDesc;
    }

    public void setDet_vDesc(String Det_vDesc) {
        this.Det_vDesc = Det_vDesc;
    }

    public String getDet_vBC() {
        return Det_vBC;
    }

    public void setDet_vBC(String Det_vBC) {
        this.Det_vBC = Det_vBC;
    }

    public String getDet_vICMS() {
        return Det_vICMS;
    }

    public void setDet_vICMS(String Det_vICMS) {
        this.Det_vICMS = Det_vICMS;
    }

    public String getDet_vIPI() {
        return Det_vIPI;
    }

    public void setDet_vIPI(String Det_vIPI) {
        this.Det_vIPI = Det_vIPI;
    }

    public String getDet_Aliq_IPI() {
        return Det_Aliq_IPI;
    }

    public void setDet_Aliq_IPI(String Det_Aliq_IPI) {
        this.Det_Aliq_IPI = Det_Aliq_IPI;
    }

    public String getDet_Aliq_ICMS() {
        return Det_Aliq_ICMS;
    }

    public void setDet_Aliq_ICMS(String Det_Aliq_ICMS) {
        this.Det_Aliq_ICMS = Det_Aliq_ICMS;
    }
   
}

o que pode ser isso se eu tenho o campo Det_cProd na classe details2

obrigado desde ja..

nao sei porque mas tive que mudar o nome do field de "Det_cProd" para "det_cProd" mesmo na classe details o nome do campo ser "Det_cProd"

3 Respostas

SandroSoftwares

Vc tá fazendo alguma consulta a banco de dados?

tá dando erro provavelmente na lina 13 do código.

“Erro recuperar o valor do campo bean: Det_cProd”

jonasjgs2

Esta dando erro na linha 30
JasperPrint p = JasperFillManager
.fillReport(“src/Danfe001/Danf001.jasper”, map, source);

SandroSoftwares

Tenta declarar Details dentro do for…

for (int i=0;i<100;i++) { Details2 details = new Details2(); ...

Criado 29 de novembro de 2012
Ultima resposta 30 de nov. de 2012
Respostas 3
Participantes 2