壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: peanut

机械装备制造业进销存实施案例-ADempiere ERP

  [复制链接]
发表于 2010/12/1 08:26:07 | 显示全部楼层
牛,sql太长,看的有点绕,加点注释就好了
 楼主| 发表于 2010/12/2 16:22:21 | 显示全部楼层
本帖最后由 peanut 于 2010/12/2 16:57 编辑

今天用ireport建立父子报表,就是带子报表(subreport)的报表。在ireport上可以正常显示,但是在adempiere客户端却无法显示。

后来在官方文档上发现子报表需要额外编译。

http://www.adempiere.com/index.php/ADempiere/Compiere_JasperReports_Integration_HowTo#Problem_with_subreports

看过这篇文档后存在几个问题:
1. 这个是以网页访问(WebApp)为例子的,对于客户端(Client)访问是否有效?
2. 第4步复制编译好的Jasper文件。原文摘录如下:
: Step 4: Copy the new subreport compiled file
: Now you must copy the new compiled file to the location as you need. In the example we will copy
: From: C:\Documents and Settings\Alejandro\Configuración local\Temp\
: To  : D:\Adempiere\jboss\server\adempiere\deploy\WebApp.ear\webApp.war\
这里有几个疑问:
1. Windows操作系统下编译好的文件放置在C:\...\Temp\目录下,Linux操作系统下在什么目录?
2. 不使用org.compiere.report.ReportStarter,而是使用iReport进行编译,是否可行?
3. 文件复制的目标目录Adempiere\jboss\server\adempiere\deploy\WebApp.ear\webApp.war\没有找到。我能找到的相类似的目录是/home/media/adempiere/jboss/server/adempiere/deploy/jboss-web.deployer,我应该放在哪个目录下?我是否应当建立目录../WebApp.ear/webApp.war/?


ADempiere执行JasperReport报错代码

CCache.clear - java.beans.PropertyVetoException: Skip reset for trx entries cache
[INFO] Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 2, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> AdempiereDS, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> org.postgresql.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> z8kfsx8c1axcccl1kdzo6b|277b5f00, idleConnectionTestPeriod -> 1200, initialPoolSize -> 1, jdbcUrl -> jdbc:postgresql://localhost:5432/adempiere?encoding=UNICODE, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 900, maxIdleTimeExcessConnections -> 1200, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 1, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> SELECT Version FROM AD_System, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
Exception in thread "jasper simple-1000069" java.lang.NoClassDefFoundError: org/codehaus/groovy/runtime/callsite/CallSiteArray
    at salescontract_1291337525218_186281.$createCallSiteArray(calculator_salescontract_1291337525218_186281)
    at salescontract_1291337525218_186281.$getCallSiteArray(calculator_salescontract_1291337525218_186281)
    at salescontract_1291337525218_186281.<init>(calculator_salescontract_1291337525218_186281)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.loadEvaluator(JRAbstractJavaCompiler.java:98)
    at net.sf.jasperreports.engine.design.JRAbstractCompiler.loadEvaluator(JRAbstractCompiler.java:320)
    at net.sf.jasperreports.engine.JasperCompileManager.loadEvaluator(JasperCompileManager.java:240)
    at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:421)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:428)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:76)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:86)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:56)
    at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:52)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
    at org.compiere.report.ReportStarter.startProcess(ReportStarter.java:561)
    at org.adempiere.util.ProcessUtil.startJavaProcess(ProcessUtil.java:160)
    at org.adempiere.util.ProcessUtil.startJavaProcess(ProcessUtil.java:105)
    at org.compiere.apps.ProcessCtl.startProcess(ProcessCtl.java:649)
    at org.compiere.apps.ProcessCtl.run(ProcessCtl.java:432)
    at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.callsite.CallSiteArray
    at java.lang.ClassLoader.findClass(ClassLoader.java:359)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    ... 26 more

 楼主| 发表于 2010/12/3 09:05:24 | 显示全部楼层
本帖最后由 peanut 于 2010/12/3 09:06 编辑

这个问题解决了,发现是iReport的版本问题。
ADempiere 3.6.0 LTS 集成的JasperReport版本是3.7.3。而我用的iReport版本是3.7.6。今天重新下载了iReport-3.7.3,父子报表经编译后,在客户端(Client)可以正常显示。
发表于 2010/12/3 20:44:04 | 显示全部楼层
177行的SQL
这项目后期维护收多少钱啊,换手了估计就难做了
 楼主| 发表于 2010/12/5 12:41:10 | 显示全部楼层
wjfonhand 发表于 2010/12/3 20:44
177行的SQL
这项目后期维护收多少钱啊,换手了估计就难做了

这个SQL没有什么难度,只是长了点,而且只用于报表。
报表不涉及代码和业务流程,换手了一样可以改。
jasperreport非常灵活。
 楼主| 发表于 2010/12/15 14:57:48 | 显示全部楼层
本帖最后由 peanut 于 2010/12/15 14:58 编辑

今天开始实施采购及入库。欢迎大家批评指正!
http://www.adempiere.com/index.php/ZH/Case-Study-01-Journal-03

采购及入库实施规划
  • 今天开始实施采购及入库。
  • 主要目标:
  • 采购、入库的流程畅通;
  • 采购报表3~5张;
  • 主要流程:
    • 采购申请 --> 采购 --> 入库。
    • 采购外协流程——在ERP的实现 (PDF文件)
主要工作
  • 采购及入库的流程梳理和确认。
  • 表单格式的标准化及确认。由于采购合同尚未标准化,暂不实施。
  • 要求采购部门提前整理数据,包括物料信息、供应商信息、价格表。实施顾问提供数据整理标准格式。
  • 考察用友T3仓库模块,并建立数据接口。
实施难点
  • 物料编码的问题。
    • 物料编码不全面。目前只有自制半成品、成品有物料编码,钢材、机械标准件、电气元件等原材料均无物料编码。
    • 技术部门尚无专人负责物料编码。
    • 用友T3当中原有物料均以物料名称汉字拼字首字母作物料编码。
  • 审批流程。
  • 单据转化。
    • 采购申请单 --> 采购订单 --> 入库单。
需求调研汇集
  • 采购合同一般由供方代拟。约20%的采购合同由需方撰写。
  • 现有采购申请单行数太少,不够写。
  • 现有入库单没有留出检验员签字的地方。
  • 采购订单增加付款方式一栏,可以选择现金、支票、转账等。
  • 在入库单上同时显示税前单价和税后单价,以便财务核算。
  • 希望增加采购日程表,以便追踪采购进度。
 楼主| 发表于 2010/12/25 21:23:13 | 显示全部楼层
本帖最后由 peanut 于 2010/12/25 21:23 编辑

大家好,已经对 机械装备制造业进销存实施案例 进行了重新排版
http://www.adempiere.com/index.php/ZH/Case-Study-01
发表于 2011/1/9 17:03:28 | 显示全部楼层
能否将有数据的“采购报表3~5张;”样表,贴出来看看呢?
发表于 2011/1/12 16:23:31 | 显示全部楼层
http://www.adempiere.com/index.php/ZH/Case-Study-01-Journal-32

如果真的修改代码,那么就正规点来做,自己建立svn 服务器,将trunk download下来,做自己的版本管理。然后建立测试服务器,利用2pack以及customjar或者ant重新完整编译更新项目,从而形成完备的代码管理。

事实上如果想真正的实施个性化的adempiere,代码修改是比不可少的,call out 的 script编写由于不能跟踪,对复杂的流程编写基本失效,同时由于保存在数据库中导致代码散乱,基本在实际工程中使用的次数不多,应该说真是看上去很美。
发表于 2011/1/13 12:30:46 | 显示全部楼层
回复 aoslee 的帖子

细节,还是细节... ...
发表于 2012/3/17 00:56:38 | 显示全部楼层
peanut 发表于 2010/11/29 09:57
关于Reference整个数据导入过程终于完成了。数据导入过程中遇到了一些问题,总结如下,向大家请教:
  • 二 ...

  • 3.7版本也存在这个问题,查下代码发现是:org.compiere.db.DB_PostgreSQL的getSchema函数写死了schema为adempeire,改成自己实际使用的schema应该就可以了。
    发表于 2012/4/4 09:57:00 | 显示全部楼层
    这几天,要好好努力一下,把生产成本计算,物流配送部份完成,这样整个370册作实施手册,案例分析就完成
    发表于 2012/4/19 10:35:21 | 显示全部楼层

    标准报告

    终于完成 整个370册作实施手册, 下一步要为AD 写标准报告
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

    Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
    手机:13911575376
    网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

    GMT+8, 2025/11/29 13:44 , Processed in 0.018880 second(s), 13 queries , File On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表