Difference between revisions of "ZH/Case-Study-01-Journal-03"
From ADempiere
This Wiki is read-only for reference purposes to avoid broken links.
(→已知需求) |
(Remarks for New Version) |
||
(27 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | [[Chinese|<返回中文首页>]] | + | [[Chinese|<返回中文首页>]] [[ZH/Case-Study-01|<返回本案例研究首页>]] |
+ | |||
+ | <span style="position:relative;left:-10px;top:10px">[[Image:Noia_64_apps_knode_m.png|40px]]</span> | ||
+ | |||
+ | {| cellspacing="0" style="margin-top:23px; width:100%;padding:1px;margin-top:-50px;vertical-align:top;" | ||
+ | | | ||
+ | <span style="font-size:100%;vertical-align:top;"> | ||
+ | {| style="vertical-align:top;" width="100%" cellspacing="1" cellpadding="1" | ||
+ | |- | ||
+ | |style="width:75%;vertical-align:top;"| | ||
+ | {| style="width: 100%; margin:6px 0 0 0; background:none; border-spacing: 0px;text-align:left; font-size:100%; padding:0.2em; border:1px solid #BFB1A3; color:#000; font-weight:bold;" | ||
+ | |- | ||
+ | | style="background-color:#F2E6CE;vertical-align:top;"| | ||
+ | <div style="top:+0.2em;text-align:left;"> | ||
+ | :* 本页面于2010年12月26日停止更新,原有内容已经复制到“实施日志-新排版”,详见[[ZH/Case-Study-01|案例01-机械设备制造业进销存实施案例]]。 | ||
+ | :* 感谢您的关注! | ||
+ | </div> | ||
+ | |} | ||
+ | </span> | ||
+ | |} | ||
=实施日志-03= | =实施日志-03= | ||
Line 9: | Line 28: | ||
===JasperReport父子表问题=== | ===JasperReport父子表问题=== | ||
====JasperReport父子表在客户端(Client)上的布署==== | ====JasperReport父子表在客户端(Client)上的布署==== | ||
− | * 今天用ireport建立父子报表,即包含子报表(subreport) | + | * 今天用ireport建立父子报表,即包含子报表(subreport)的报表。在ireport上可以正常显示,但是在adempiere客户端却无法显示。 |
* '''第二天把这个问题解决了,发现是iReport的版本问题。''' | * '''第二天把这个问题解决了,发现是iReport的版本问题。''' | ||
* '''ADempiere 3.6.0 LTS 集成的JasperReport版本是3.7.3。而我用的iReport版本是3.7.6。今天重新下载了iReport-3.7.3,父子报表经编译后,在客户端(Client)可以正常显示。''' | * '''ADempiere 3.6.0 LTS 集成的JasperReport版本是3.7.3。而我用的iReport版本是3.7.6。今天重新下载了iReport-3.7.3,父子报表经编译后,在客户端(Client)可以正常显示。''' | ||
====JasperReport父子表在Web服务器上的布署==== | ====JasperReport父子表在Web服务器上的布署==== | ||
− | * | + | * '''JasperReport父子表在Web服务器上的布署 |
− | + | ||
− | + | * JasperReport父子表在Web服务器上的布署,在官方文档[[ADempiere/Compiere JasperReports Integration HowTo#Problem_with_subreports|Problem_with_subreports]]上发现子报表需要额外编译。后来经测试并不存在官方文档上所说的问题,详见2010-12-23实施日志。'''--2010年12月23日 Peanut Blake | |
− | + | * 我已经将官方文档[[ADempiere/Compiere JasperReports Integration HowTo#Problem_with_subreports|Problem_with_subreports]]当中过时的内容进行了删除和修改。--2010年12月23日 Peanut Blake | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | * | + | |
− | + | ||
− | + | ||
− | [ | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
===讨论栏=== | ===讨论栏=== | ||
Line 154: | Line 127: | ||
* 主要流程: | * 主要流程: | ||
** 采购申请 --> 采购 --> 入库。 | ** 采购申请 --> 采购 --> 入库。 | ||
− | ** 采购外协流程——在ERP的实现 [[Media:ZH-Case-Study-01-Purchase-Process.pdf| | + | ** 采购外协流程——在ERP的实现 ([[Media:ZH-Case-Study-01-Purchase-Process.pdf|PDF文件]]) |
====主要工作==== | ====主要工作==== | ||
# 采购及入库的流程梳理和确认。 | # 采购及入库的流程梳理和确认。 | ||
Line 177: | Line 150: | ||
===讨论栏=== | ===讨论栏=== | ||
+ | ====入库单显示价格==== | ||
+ | > 在入库单上同时显示税前单价和税后单价,以便财务核算。 | ||
+ | :* 采购发票如果和采购订单价格不一致怎么办? --Robin | ||
+ | ::* 发票价格是最后实际成交价格,与订单定价不一致很正常啊,就是与入库单价格不一致都应该属正常。 --lcl | ||
+ | :::* 采购发票如果和采购订单价格不一致,这种情况要看合计金额,如果合计金额不相同,就会打回发票重开。因为采购价格是经过审批的,如果以发票价格为最后实际成交价格,前面的审批就是摆设了。--Peanut | ||
+ | ::* 如果成交价格<审批价格呢?不知道有没有这种情况? --小卢 | ||
+ | :::* 会有这种情况,但是财务上是不会通过的。 --Peanut | ||
+ | :* 据我所知,AD/Compiere 在入库单中是不记录价格的。--Robin | ||
+ | ::* 入库单不记录价格,但是可以在打印格式中显示价格。--Peanut | ||
+ | :::* 入库结算后得反写价格在入库单才行,不然出库核算材料成本数据来源哪里? --朱胜利 | ||
+ | ::::* 可以依据采购平均价格。在Accounting Schema里的Costing Method设置。--Peanut | ||
+ | ====采购日程表==== | ||
+ | > 希望增加采购日程表,以便追踪采购进度。 | ||
+ | :* 采购日程表是运输公司的日程表吗? -- Robin | ||
+ | ::* 没有这么复杂,主要是下单日期、预计到货日期之类的。--Peanut | ||
==2010-12-16== | ==2010-12-16== | ||
+ | ===初步探索=== | ||
+ | * 把资料采购计划单的导入放在下一步进行,先基于ADempiere的原有功能。 | ||
+ | * '''RfQ(询价单)窗口''' | ||
+ | ** RfQ(询价单)窗口的三个页签分属三个表:C_RfQ, C_RfQLine, C_RfQLineQty。 | ||
+ | ** 同时Quantity页签是Line的子页签。我考虑把Quantity页签合并到Line页签上,因为这家公司的询价没有这么复杂。 | ||
+ | * '''RfQ Response(询价反馈)窗口''' | ||
+ | ** RfQ Response(询价反馈单)窗口的三个页签也是分属三个表:C_RfQResponse, C_RfQResponseLine, C_RfQResponseLineQty。 | ||
+ | ** 考虑关闭RfQ Response窗口,将询价反馈并入RfQ窗口。 | ||
+ | ** Read Only(只读)字段: | ||
+ | *** RfQ Response窗口有好几个字段无法填写,包括Response页签的RfQ字段,Response Line页签RfQ Line字段,Response Quantity的RfQ Line Quantity字段。 | ||
+ | *** 检查发现系统默认设置居然是Read Only。 | ||
+ | *** 把Read Only去掉之后,发现RfQ Line字段和RfQ Line Quantity字段的下拉选项居然可以跨RfQ。不知道RfQ Response是否尚处测试版本? | ||
+ | |||
+ | ===Rule Engine与脚本=== | ||
+ | * 今天开始学习和探索Rule Engine(引擎)的Script(脚本编程)。 | ||
+ | * 主要目的:从于从RfQ(询价单)创建Purchase Request(采购申请)。 | ||
+ | * 介绍:ADempiere的Rule窗口可以写脚本,集成了BeanShell。 | ||
+ | * ADempiere的Rule Engine要用到BeanShell,于是了解了一下BeanShell。 | ||
+ | * 相关链接: | ||
+ | ** [http://www.beanshell.org BeanShell官方网站] | ||
+ | ** [http://blog.csdn.net/searun/archive/2007/11/08/1873797.aspx BeanShell介绍] | ||
+ | ** [http://www.ibm.com/developerworks/cn/java/l-formula/index.html 用BeanShell实现公式管理] | ||
+ | |||
+ | ===讨论栏=== | ||
+ | |||
+ | ==2010-12-17== | ||
+ | ===Rule Engine下写脚本=== | ||
+ | * 今天把Rule Engine(引擎)的Script弄清楚了。 | ||
+ | * Script Callout主要用于窗体,Script Process主要用于Process。 | ||
+ | * 对于从 询价单 生成 采购申请单,可以利用Script Process执行SQL语句来实现。 | ||
+ | |||
+ | org.compiere.util.DB.executeUpdate(sql, A_TrxName); | ||
+ | * 相关链接: | ||
+ | ** [[Script Callout]] | ||
+ | ** [[Script Process]] | ||
+ | ** [[Script Editor Tool]] | ||
+ | ====脚本使用体会==== | ||
+ | # 优点:脚本的功能很强大。同时脚本既不需要重新编译ADempiere源代码,也不需要重新布署ADempiere服务器,因为脚本规则都存储在数据库中了。 | ||
+ | # 缺点:不容易进行错误调试。我今天测试的Script当中有个SQL语句语法错误,居然没有任何报错。 | ||
+ | ====对Rule Engine的疑问==== | ||
+ | * Rule Engine为什么要区分成不同Event Type?比如Callout与Process,为什么不合并在一起? | ||
+ | * Rule Engine的Rule Type为什么是JSR 223 Scripting APIs,而不是BeanShell官方网站上JSR 274? | ||
+ | * A_TrxName的TrxName是什么意思? | ||
+ | * Rule Engine中能否实现弹出对话框?代码什么? | ||
+ | ** 后来找到一段代码,不过尚未测试: | ||
+ | |||
+ | javax.swing.JOptionPane.showMessageDialog(null,"Doing something in Callout!"); | ||
+ | |||
+ | ===讨论栏=== | ||
+ | |||
+ | ==2010-12-19== | ||
+ | ===采购询价的实施计划=== | ||
+ | ====RfQ Response窗口==== | ||
+ | * 关闭RfQ Response(询价反馈)窗口,并入RfQ(询价)窗口。 | ||
+ | ====RfQ窗口==== | ||
+ | * RfQ页签: | ||
+ | ** Business Partner增加到两个,用于向供应商询价; | ||
+ | ** 增加字段:是否有现货,交货期,询价单发送日期,询价反馈单签收日期; | ||
+ | ** 增加功能:生成 Requistion(采购申请单);需要新增按钮和编写脚本; | ||
+ | * Line页签: | ||
+ | ** 增加数量相关字段:计量单位、数量; | ||
+ | ** 增加报价反馈相关字段:报价1、报价备注1、报价2、报价备注2; | ||
+ | * Quantity页签: | ||
+ | ** 关闭Quantity页签,并入到Line页签。 | ||
+ | * 总体: | ||
+ | ** 窗口优化:关闭不用的字段,将常用字段进行合理排布。 | ||
+ | ====RfQ报表==== | ||
+ | * 制作询价单报表。 | ||
+ | ** 利用JasperReports制作。 | ||
+ | |||
+ | ===讨论栏=== | ||
+ | |||
+ | ==2010-12-22== | ||
+ | ===JasperReports导出PDF中文显示问题=== | ||
+ | ====问题描述==== | ||
+ | * 问题概述: | ||
+ | ** JasperReports导出的PDF文件中,中文字符均显示为空白。 | ||
+ | * 问题描述: | ||
+ | ** JasperReports导出的PDF文件中,中文字符均显示为空白(不是空格、方框或乱码)。这个现象在iReport、ADempiere C/S 客户端、ADempiere B/S 浏览器端均存在。之前测试时只是检查了预览(或浏览)显示,没有检查导出的PDF文件,因此忽视了该问题。 | ||
+ | * 系统环境: | ||
+ | # 操作系统:Linux/Debian Squeeze/Testing, amd64 | ||
+ | # JVM:java-sun-1.6.0_22, 64bit | ||
+ | # iReport:3.7.3 | ||
+ | # ADempiere:3.6.0 LTS | ||
+ | * 问题难点: | ||
+ | * 策略: | ||
+ | ** 先在iReport中测试,成功后再进行ADempiere C/S 客户端测试,最后进行ADempiere B/S 浏览器端测试。 | ||
+ | * 总体步骤: | ||
+ | # 先准备好字体 | ||
+ | # 然后在iReport系统设置当中设置好字体 | ||
+ | # 接着是对.jrxml报表中的元素属性进行设置 | ||
+ | # 最后对ADempiere进行设置 | ||
+ | |||
+ | ====具体步骤==== | ||
+ | |||
+ | =====Step 1 准备TTF字体文件===== | ||
+ | * 经测试,在ADempiere C/S客户端中JasperReports不支持TTC字体文件格式,因此要使用TTF字体文件。 | ||
+ | * 为了保证开源方案的一致性,我们不采用微软的字体,例如微软的宋体、黑体等,而是采用开源的文泉驿字体。本测试中用文泉驿正黑字体 ( wqy-zenhei.ttc) . | ||
+ | * 由于文泉驿字体只提供TTC字体文件,因此需要转化。 | ||
+ | * 找到工具ttc2ttf,使用其中的BREAKTTC.EXE程序。BREAK TTC这个名字大概是拆分TTC文件的意思吧。 | ||
+ | * 在Windows操作系统下执行该程序。 | ||
+ | |||
+ | BREAKTTC.EXE WQY-ZENHEI.TTC | ||
+ | * 该程序比较奇怪的地方是只认大写文件名,对于小写文件名会提示找不到该文件。 | ||
+ | * 执行后拆分成3个文件——FONT00.TTF、FONT01.TTF、FONT02.TTF。分别是WenQuanYi Zen Hei, WenQuanYi Zen Hei Mono, WenQuanYi Zen Hei Sharp。 | ||
+ | * 我们选用WenQuanYi Zen Hei,将文件更名为wqy-zenhei.ttf。 | ||
+ | |||
+ | =====Step 2 在iReport设置字体引用===== | ||
+ | * 导入字体文件wqy-zenhei.ttf。 | ||
+ | ** 菜单:Tools -> Option -> Fonts -> Install Font | ||
+ | * 导出为字体扩展件wqy-zenhei.jar | ||
+ | ** 菜单:Tools -> Option -> Fonts -> Export as extension | ||
+ | * 删除原导入字体文件wqy-zenhei.ttf | ||
+ | ** 菜单:Tools -> Option -> Fonts -> Remove Font | ||
+ | * 导入wqy-zenhei.jar | ||
+ | ** 菜单:Tools -> Option -> Classpath -> Add JAR | ||
+ | |||
+ | =====Step 3 元素PDF属性的设置===== | ||
+ | * 在iReport打开JRXML文件,例如 example.jrxml。 | ||
+ | * 接下来对元素PDF属性的设置: | ||
+ | # Pdf Font name:有资料提到这个下拉框可能不会出现Classpath中引入的字体,我就遇到这种情况。这时可以直接手工输入字体名称,例如wqy-zenhei.ttf。 | ||
+ | # Pdf Embedded:选不选均可。 | ||
+ | # Pdf Encoding:选择Identity-H (Unicode with horizontal writing) 。 | ||
+ | |||
+ | =====Step 4 iReport预览===== | ||
+ | * 点击Preview预览。检查显示是否正确。 | ||
+ | * 点击Save保存图标,将报表保存为PDF格式,例如:example.pdf。 | ||
+ | * 用Evince或Adobe Reader等工具打开导出的的PDF文件,检查显示是否正确。 | ||
+ | |||
+ | * 经过以上步骤,iReport下的PDF中文测试就完成了。 | ||
+ | |||
+ | =====Step 5 ADempiere布署===== | ||
+ | * ADempiere的C/S 客户端及B/S 浏览器端布署。 | ||
+ | * ADempiere布署会涉及到的路径问题,一个是JasperReports文件本身的路径,另一个是JasperReports文件的元素PDF属性Pdf Font name所设置的字体路径。 | ||
+ | * 路径可分为相对路径和绝对路径。 | ||
+ | * [[ADempiere/Compiere JasperReports Integration HowTo|怎样集成JasperReports]]里PdfFontName举例用的是绝对路径: | ||
+ | # C/S布署:C:\Windows\Fonts\Arial.ttf | ||
+ | # B/S布署:http://192.168.2.109:8080/WebApp/arial.ttf | ||
+ | * 在这里不建议使用绝对路径,因为这样一来就不能同时布署C/S和B/S,除非你只采用一种布署方式。 | ||
+ | * 我们建议采用相对路径,具体设置如下: | ||
+ | # 在iReport中将元素PdfFontName设置为:wqy-zenhei.ttf | ||
+ | # 在数据字典Report窗口将JasperReport路径设置为:example.jrxml | ||
+ | # 将example.jrxml文件复制到此路径下:$ADEMPIERE_HOME/reports/ | ||
+ | # 将wqy-zenhei.ttf字体文件分别复制到两个路径下: | ||
+ | ## $ADEMPIERE_HOME/ | ||
+ | ## $ADEMPIERE_HOME/reports/ | ||
+ | #* 注意:C/S客户端从$ADEMPIERE_HOME/路径读取字体文件,B/S浏览器端从$ADEMPIERE_HOME/reports/路径读取字体文件 | ||
+ | * 最后在客户端及浏览器端分别进行报表导出PDF文件测试。 | ||
+ | |||
+ | ====关于PDF中文问题的补充==== | ||
+ | =====关于jar字体包===== | ||
+ | * ADempiere不需要安装.jar字体包,只需要设置好.ttf字体文件即可。 | ||
+ | =====关于WebApp.war===== | ||
+ | * 旧版的[[ADempiere/Compiere JasperReports Integration HowTo|怎样集成JasperReports]]提到“''If you are looking for an OS neutral solution you may add the font to your WebApp.war alongwith the .jrxml file and specify as pdfFontName the fullpath to it.''”。 | ||
+ | * 但是在我们的方案中,并不需要设置WebApp.war,同样可以做到与显示效果与操作系统无关。 | ||
+ | |||
+ | =====关于iTextAsian.jar方案===== | ||
+ | * 有不少资料提到iTextAsian.jar方案(iTextAsian.jar 是一个亚洲字体包)。但是这个方法我们测试后不通过。 | ||
+ | * 大概方法如下: | ||
+ | # 将iTextAsian.jar放到Classpath下; | ||
+ | # 元素PDF属性的设置如下: | ||
+ | ## Pdf Font name:STSong-Light | ||
+ | ## Pdf Embedded:True | ||
+ | ## Pdf Encoding:选择UniGB-UCS2-H (Chinese Simplified) | ||
+ | |||
+ | ====一点技巧==== | ||
+ | * 在iReport当中对每一个元素都要进行PDF属性设置,这样比较繁琐。这里有一个小技巧,可以利用Style进行风格设定,统一设定Pdf Font name和Pdf Encoding。 | ||
+ | |||
+ | ===关于Subreport子报表=== | ||
+ | ====SUBREPORT_DIR 子报表路径==== | ||
+ | * 旧版的[[ADempiere/Compiere JasperReports Integration HowTo|怎样集成JasperReports]]提到:"''When you run an Application Server Deployment, and you have a Subreport, then the Parameter SUBREPORT_DIR for establishing the location of the subreport must have a value like the one described in the section "Deploy reports on the application server":http://adempiereservename.domain/webApp/standalone.jrxml, or http://adempiereservename.domain:adempierewebport/webApp/standalone.jrxml, if the web port is other than 80.'' " | ||
+ | |||
+ | * 在实际使用中,不需要这么复杂,将SUBREPORT_DIR(子报表路径)设置为空,并将子报表与父报表统一放置在$ADEMPIERE_HOME/reports/路径下即可。 | ||
+ | ====关于子报表无法显示的问题==== | ||
+ | * 旧版的[[ADempiere/Compiere JasperReports Integration HowTo|怎样集成JasperReports]]提到:"''When you have a report which contain a subreport into, you need to use the last with the compiled files (it’s .jasper file). Sometimes, if you use iReport to compile/edit your reports, maybe you compile the subreport with this tool. When you test the report from iReport, it work fine; but when you run the report from ADempiere, you can’t see nothing.'' " | ||
+ | * 旧版的[[ADempiere/Compiere JasperReports Integration HowTo|怎样集成JasperReports]]说的是subreports(子报表)在ADempiere无法显示时,要在ADempiere内将.jrxml文件编译成.jasper文件,并放入路径:D:\Adempiere\jboss\server\adempiere\deploy\WebApp.ear\webApp.war\ | ||
+ | * 在我们的实际测试当中,并不存在上述问题。 | ||
+ | ** 我们的子报表在iReport下编译,放在$ADEMPIERE_HOME/reports目录下。 | ||
+ | ** 同时在iReport中将子报表SUBREPORT_DIR(子报表路径)设置为空。 | ||
+ | ** 这样B/S和C/S方式均可正常显示了。 | ||
+ | |||
+ | ===讨论栏=== | ||
+ | |||
+ | ==2010-12-24== | ||
+ | ===价格表区分角色权限问题=== | ||
+ | * 用户权限控制是下一步有待解决的问题,主要是区分采购/市场不同角色的查看/编辑权限。 | ||
+ | * 首先以价格表查看权限问题为例: | ||
+ | ** 系统中主要有两类价格表:一类是销售价格表,另一类是采购价格表; | ||
+ | ** 销售价格表一般来说是商业机密,只能让相关的人员查看。 | ||
+ | ** 应当如何设置才能让不同的角色查看/维护不同的价格表? | ||
+ | * 与价格表问题一样,Business Partner(业务伙伴)和Product(产品)也存在相同的问题。 | ||
+ | ** 例如客户和供应商应当分别由采购员和销售员维护,不允许进行跨越职权的操作。 | ||
+ | ** 同样,采购物料和销售产品也应当分别由采购员和销售员维护。 | ||
+ | |||
+ | ===销售代表的设置=== | ||
+ | * 在Sales Order销售代表选项中,Sales Representative (销售代表)要在Business Partner和User两处都要做好设置。 | ||
+ | * 原因在于Table: C_Order当中Sales Representative字段的Reference(引用)设置:AD_User - SalesRep。 | ||
+ | * 打开Reference: AD_User - SalesRep,找到Table Validation页签中,可以看到Sql Where设置为:EXISTS (SELECT * FROM C_BPartner bp WHERE AD_User.C_BPartner_ID=bp.C_BPartner_ID AND bp.IsSalesRep='Y') | ||
+ | |||
+ | ===讨论栏=== | ||
+ | ====一楼-角色设置方法-Albert==== | ||
+ | * ADempiere 台灣技術支持團隊::Albert:: | ||
+ | |||
+ | * 不同 User / 不同 Role 要看到不同區段資料 | ||
+ | * AD_UserDef_Tab 要加 WHERECLAUSE 條件 | ||
+ | * AD_UserDef_Tab 要加 READONLYLOGIC 條件 | ||
+ | * 才能讓不同角色有不同資料區段讀寫權限。 | ||
+ | * 但是目前 360 並沒有修正好.. | ||
+ | * 目前未將 AD_UserDef_Tab 的區分加入,請自行增加此段功能 | ||
+ | * 在 AD_UserDef_Win 宣告要區分資料區段的 Role 或 User | ||
+ | * AD_UserDef_Win.Role=#Role + AD_UserDef_Win.User=#User最優先 | ||
+ | * AD_UserDef_Win.User=#User 次優先 | ||
+ | * AD_UserDef_Win.Role=#Role 優先 | ||
+ | * 因此 GridWindowVO create 時需要先取得是否有 UserDef_Win | ||
+ | |||
+ | * 以上問題都是相同的設定功能改善後可立即解決:: | ||
+ | * 我們是負責教導如何作出以上功能的顧問公司 | ||
+ | * 如果有需要可以為你們開課::Skype:Adempiere/Compiere :: Adempiere 技術轉移顧問 | ||
+ | |||
+ | ====二楼-感谢Albert的教导==== | ||
+ | * 谢谢Albert! | ||
+ | * Albert大人给了我们许多宝贵的指点,让我们少走了很多弯路!Spring_xu也跟我提起过您对他的帮助。 | ||
+ | * 我们非常期盼有机会能聆听您的教导! | ||
+ | : - Peanut Blake. DEC 26, 2010. | ||
+ | |||
+ | ==2010-12-26== | ||
===实施栏=== | ===实施栏=== | ||
===讨论栏=== | ===讨论栏=== |
Latest revision as of 19:58, 30 December 2010
Contents实施日志-03
2010年12月2010-12-02JasperReport父子表问题JasperReport父子表在客户端(Client)上的布署
JasperReport父子表在Web服务器上的布署
讨论栏2010-12-03JasperReport大写金额的问题
数据格式问题今天发现几个问题: 1. 用电子表格向数据库导入数据时,要注意电子表格的字段类型的设定,尤其是以数字表示的字符。今天发现有个reference的其中几下拉选项无法选择,查找发现是电子表格的数字“1”导入到数据库后变成了“1.0”,导致ad_ref_list无法以value来匹配。 2. 在数据库新增字符型字段时,要注意区分固定长度字符和非固定长度字符的设定。比如我之前设定“合同编号”(Contract No)时就设定为固定长度: ALTER TABLE c_order ADD ContractNo character(12); 结果发现实际输入合同编号不足12位时,数据库会自动补足空格,在报表中很不美观。于是改为: ALTER TABLE c_order ALTER ContractNo TYPE character varying(12); 讨论栏2010-12-09销售订单窗口优化调整
销售合同的报表格式调整
几点发现
Address的Country默认值设置
This window is made manual. This is the class for it: VLocationDialog 讨论栏Organization设置疑问:Organization设置为Tongji Org与*有什么区别?感觉会影响到Sales Order里的Price List显示。 2010-12-13销售订单实施小结
困难:销售合同没有标准化
客户端布署
讨论栏2010-12-15采购及入库实施规划
主要工作
实施难点
需求调研汇集
讨论栏入库单显示价格> 在入库单上同时显示税前单价和税后单价,以便财务核算。
采购日程表> 希望增加采购日程表,以便追踪采购进度。
2010-12-16初步探索
Rule Engine与脚本
讨论栏2010-12-17Rule Engine下写脚本
org.compiere.util.DB.executeUpdate(sql, A_TrxName); 脚本使用体会
对Rule Engine的疑问
javax.swing.JOptionPane.showMessageDialog(null,"Doing something in Callout!"); 讨论栏2010-12-19采购询价的实施计划RfQ Response窗口
RfQ窗口
RfQ报表
讨论栏2010-12-22JasperReports导出PDF中文显示问题问题描述
具体步骤Step 1 准备TTF字体文件
BREAKTTC.EXE WQY-ZENHEI.TTC
Step 2 在iReport设置字体引用
Step 3 元素PDF属性的设置
Step 4 iReport预览
Step 5 ADempiere布署
关于PDF中文问题的补充关于jar字体包
关于WebApp.war
关于iTextAsian.jar方案
一点技巧
关于Subreport子报表SUBREPORT_DIR 子报表路径
关于子报表无法显示的问题
讨论栏2010-12-24价格表区分角色权限问题
销售代表的设置
讨论栏一楼-角色设置方法-Albert
二楼-感谢Albert的教导
2010-12-26实施栏讨论栏链接本系列链接相关链接 |