星期四, 一月 11, 2007

Compiere 实施步骤

1.产品漫游—以熟悉 Compiere 应用程序

2.实施方法 —参考

3.测试—可参照Compiere 的示例实体"Garden World"

准备

您可能需要准备账户、业务伙伴和产品的导入。尽管您可以在之后进行所有记录的导
入,但若设置账户导入则会节约您的时间。在初始化阶段,提供对 CSV(逗号分隔
值)导入的支持,其中 CSV 文件含有预定义的属性列表。这是 导入 工具完整版的子
集,您可以在稍后使用。

账户&CoA(会计科目)

关于会计科目设置的详细资料请参考 这里 。

初始化实施

您需要以系统管理员身份以进行初始化实体的设置。

此程序将创建用户、角色,及单据类型、业务伙伴、产品等的"标准"实体。在运行
后,您可以创建及打印第一张发票。

设置程序将创建两个用户: "实体级别"角色的用户,具有维护规则和进行事务处理的
权限。 "组织级别"角色的用户,具有进行事务处理的权限。

精化实施
完成初始化实施后,您已经可以开始 Compiere 的运行了。但是你可以去"初始化实体
设置"工作流程以检查、更新。

Compiere 实施方法

Compiere 被设计为支持快速上线。主要优势在于 Compiere 独特的技术特性 - "上线
后的结构更改"(请参考" 信息结构 "),让您能在上线以后进行任何更改。这使得没
有必要存在非常细致的分析和配置阶段,因为" 如果您忘记了某些东西或设置错误了
什么"那么重新实施不是一个好做法。在许多 ERP 项目实施过程中发现必须进行某个
主要变更,又或者发现了某些遗漏,结果导致上线之前不得不重新实施,造成资金、
人力、设备和时间的浪费。

因此,这里为快速和方便实施提供了一些指引。其中的大多数,实际上不仅应用于
Compiere 这一 ERP 的实施 - Compiere 不过使它更容易罢了。

技巧 1 :尽量使用固定期限的实施合同,并坚持它。这可获得预定义交付(实施服
务)的公开价格。

成功案例(Use Cases)

用例(Use Case)是一个业务过程,比如订单输入、收款、发货等。基本而言,它是
您在业务开展中所做事情的清单。创建3种类别:

(1)紧迫 - 运营您的业务所必需的基本业务流程。

(2)便利 - 使业务流程更快、更容易、更有效。

(3)支持 - 帮助做出正确的决策、报表、分析...

有意思的是,在许多实施中,优先级似乎恰好被弄反了,这很令人吃惊。优先级(3)
提供了更高的信息级别,所以常常是战略决策的催化剂,因而它们是重要的,但优先
级(1)确保了您能够得以制定战略决策。软件供应商的售前活动通常完全聚焦于优先
级(3)上,并且咨询公司也因此而繁荣 - 不过,请考虑优先级(3)中有多少是必须
等到上线以后方能做出决策的。

这样说来,原型阶段应持续多长时间呢?这依赖于您的风险级别,至少优先级(1)的
所有用例应当准确工作。在此基础上,您的感觉更好,主意自然妙,轻松确定下一步
将完成的优先级(2)和(3)用例。

优先级(1)的用例工作正常时,您肯定无法进入负面的媒体报道标题了。

原型(Prototype)

每个产品都有它自己的方式去完成目标。如果您强制让 SAP 的行为像 Oracle
Applications 那样,或者像您现存的实施那样 - 那么无疑就增大了失败的风
险。Oracle、SAP、PeopleSoft 等商业应用系统实施的公开失败案例中,全都归入此
类。通常,失败与产品无关,而是实施者及客户所持的不现实期待和呆板态度所导
致。

因此,您如果要获得成功则需要一个操练场,以了解实现目标的最佳方式以及备选方
式。如果您暂行规定此阶段,那么您的上线系统其实变成了您的原型。Compiere 不会
介意这一点,并将精确地工作,然而您不过在系统中放入了一些测试数据而已。

技巧 2 :所有的上线系统都包含一些"杂音"数据,因此不必尝试拥有一个100%干净的
系统。如果在 Compiere 中无法删除这些"杂音"数据,那么可以隐藏它们(以满足一
致性的要求)。

尽早引入全部用户

变更有时不会受到热烈的欢迎。许多项目集中于"超级用户"或"用户代表团",限制了
给正常运营带来的打扰。适度则没问题,但请尽早引用所有的用户。

原型阶段的结束通常是进行总体导入的好时机。此时人们可尽情使用或肆虐系统,而
不会产生什么负面后果。您也可趁机获得非直接的确认,即覆盖了优先级(1)中的全
部问题。

因此,请将您以及超级用户们的 Compiere 解决方案展示出来,甚至开一个 Party,
让所有人都看看并试用您的杰作 - Compiere 系统原型。

迭代式开发

请习惯于循环:

设置较短时间内可完成的、较小的目标
让它工作
为下一次迭代总结经验
" 大爆炸 "方式 - 一切都同时开始工作 - 则使目标难以达到。

某些方面您可能第一次不能正确处理,所以小步骤产生的成功经过不断累积(即使遇
到"事故"也可快速恢复),就可完成最终目标。

上线以后

既然业务运营已处于上线状态中,您就有了时间和知识可以开始调查,Compiere 在业
务的策略方面能够怎样帮您。这使您得以更好地利用 Compiere,因为您已经对系统有
了更多的理解。

技巧 3 :为两个项目做出预算,一个是上线实施项目,另一个是上线6个月以后的项
目,用以完全发挥 Compiere 的功能。

对于6个月后的项目,如果不考虑计划的详细程度,需要决定的是:早实施还是晚实
施。用户不会再有变得惊慌的理由,"会议室驾驶仓"(或"Compiere 见面会")可以为
他们提供良好的培训基础。

Compiere 最大的优势这时就表现出来了:

已改变的优先级,新的业务和市场开发,或者新的视角要求改变 Compiere 的设置。
不久之后,您的用户将变得适应,并将更进一步地控制系统。

Compiere 允许从绝大多数情形下轻松恢复,因为它被设计为" 自恢复 "。

一切听起来不错。当然,使用软件支持服务,可以将问题的后果最小化。

切换上线

需要决定一个问题:是否并行运行。众所周知,并行运行意味着双倍的工作。因此,
在您的"Compiere 见面会"中,要与您的用户商量,看看他们是否对系统切换感到适
应。

技巧 4 :"用户认为无需并行运行"是一个重要指标,如不考虑(项目经理做出)是否
并行的决定。

真实系统

不要等到"一切"问题都解决。那样可能永远也解决不完。因此,在您删除了原型(的
确如此!)以后,开始使用新的实施和真实数据。

在这个阶段中(记住,您挑选出了所有的紧迫问题),主要的挑战是从已有系统将数
据迁移至Compiere中,并做必要的定制工作。

一个重要部分是小型但正式的"会议室驾驶仓"(您可在此模拟驾驶仓尝试 Compiere
飞车,无需系安全带)。在备份以后,您给予用户了解和尝试系统的机会。不要只计
划一次"会议室驾驶仓",完全可计划三次或更多,这依赖于实施的复杂性。这些
"Compiere 见面会"不应过长,用来帮助传播消息和减轻转换带来的心理压力 。

"会议室驾驶仓"也是对您的备份与恢复过程的检验。

获取经验的另一途径是升级和打安装补丁。Compiere 使得它们很容易,通过这些设置
可以获得经验。

背景

上面推荐的实施方法正变得越来越流行。基于 快速原型法 的方法论已经出现了较长
时间。 XP (极度编程 )是快速 、安全交付新技术的方法论(软件开发流程)。只
需用实施任务替代编码的部分,它就非常适用于应用软件实施项目。要了解关于 XP
的更多信息,请检查 Google 。

Rational 的重量级流程 Rational Unified Process(RUP)近来已从强烈反对 XP 转
为拥抱它。现在,Rational 为 RUP 提供一个 XP 插件。

Compiere 的会计科目

Compiere 需要用到一套账户用于系统操作,即便其中某些可能永远不会用于过账
(例:如果您没有外币事务处理,则像已实现盈利这样的账户将不会被用到 )。当创
建实体时,Compiere 需要创建一套默认的账户(会计科目) 。

AccountingXX.xls / AccountingXX.csv
文件 AccountingCN.xls、AccountingHK.xls 和 AccountingTW.xls分别对应于中国大
陆、香港和台湾的基本会计科目(包含于 QuickIT 实施工具包 的会计科目模板中
)。

文件 AccountingXX.xls 是导入和维护您的会计科目表的基础。

文件名中的 XX 代表国家或地区代码 - 因此文件 AccountingUS.xls 是美国风格会计
科目的良好基础。

您初始化新的实体(初始化实体设置)时,文件结构要求保持不变。在此阶段,仅必
填科目被导入/创建(在 Account_Default 中包含了值 - 第 H 列)。

在初始化设置以后,您使用它导入您的科目层次,或用于报表。为此,您可更改导入
格式以满足您的需求。

请注意,文件名只是一个建议。会计科目的早期结构对应于文件
NaturalAccount.xls/csv。文件 AccountingXX.xls/csv 的结构是一个超集。

如果您修改了文件,则 必须导出 .xls 文件为 .csv (逗号分隔值)格式,因为
Compiere 只能读取 .csv 文件。导出的结果文件应当位于 %COMPIERE_HOME% 的
"data/import"子目录下。

术语

会计科目 (CoA) = 自然账户的列表 - 它随 Accounting*.xls/csv 文件提供
账户 、 组合 或 有效组合 = 会计分段组合的值;分段在会计模式中定义
如:01-1600-HQ-应付账户(此处是公司和自然账户)
自然账户 = 账户分段 - 在您账户结构中的元素;这是您在 AccountingXX 文件中导
入的内容
如:1600 - 应付账户
细节 - 创建您自己的会计科目

您需要有不同的账户对应于每个默认账户。例如,即使您不想或不需要区分货币盈余
和货币亏损,Compiere 仍然需要这两个账户。您可合并科目,比如通过总账日记账分
录。
Compiere 需要最小集合的账户。这些账户由"Default Account"列的内部列名标识 -
例:B_ASSET_ACCT
您可更改、添加或删除某些行,只要存在一行对应于每个默认账户即可。
如果您不喜欢提供的示例会计科目(CoA),可采取如下步骤 :

更改行(值/关键字、名称、描述),以符合您的会计科目
删除所有的行,但含有默认账户的那些行除外
在您的会计科目中添加其它账户

各列的解释,可参考 Accounting*.xls 文件中的注释。注意,列名仅作为说明之用,
可以修改。

A - 账户_值

自然账户必须填写的主键(完全用户自定义),可以是数字或字母-数字,长度不超过
20个字符。请注意,每行必须唯一。

B - 账户_名称

自然账户必须填写的名称(完全用户自定义),长度不超过60个字符。

C - 账户_描述

自然账户可选的描述(完全用户自定义),长度不超过255个字符。

D - 账户_类型

必须填写的账户类型(如资产、负债、所有者权益、费用、资产、备注)。请注意,
首字母必须是 A、L、O、E、R 或 M。例如:"L - 负债"代表中文的负债账户类型。

E - 账户_符号

可选的账户符号标识(当前未实现,计划用于财务报表)。可选项包括自然(默
认)、借项和贷项。请注意,首字母必须是 N、D、C 或为空。例如:"D - 借项"代表
中文的借项账户符号标识。

F - 账户_单据控制

可选的账户单据标识(换言之,该账户仅能通过分类账过账,无人工日记账分录。为
简化科目对账,推荐这样做)。请注意,首字母必须是 Y、N 或为空。例如:"Y - 是
"代表中文的"是"账户单据标识。

G - 账户_汇总

必须填写的汇总账户标识(换言之,您不能过账到汇总账户,它们仅用于报表)。请
注意,首字母必须是 Y、N 或为空。例如:"Y - 是"代表中文的"是"汇总账户标识。

H - 账户_默认

可选的默认账户分配,这是账户的默认分配列名称。这是实际的列名称,请勿修改其
内容。您需要让所有默认账户至少存在单独的一行与之对应,且需要让所有的默认账
户被列出。

例如:B_INTRANSIT_ACCT 表示该账户是默认的银行在途账户。您可能不会用到它,或
希望为每家银行使用不同的在途账户,但是您仍然需要包含此行。

I - 账户_父

可选的父账户账(列 A )。它需要精确匹配。用于在您导入会计科目表时建立账户层
次。请注意,该列在初始化实体设置的过程中会被忽略。

J/K - 资产负债表_值,资产负债表_名称

可选的资产负债表行值/主键与名称。用于创建财务报表行集合。导入格式已经预定
义。

L/M - 美国1120资产负债表_值,美国1120资产负债表_名称

可选的资产负债表行值/主键与名称。用于创建财务报表行集合。导入格式已经预定
义。在这里,它以美国税代码的 Form 1120 为基础,不同于标准的美国资产负债表结
构。

N/O - 损益表_值,损益表_名称

可选的损益表行值/主键与名称。用于创建财务报表行集合。导入格式已经预定义。

P/Q - 美国1120损益表_值,美国1120损益表_名称

可选的损益表行值/主键与名称。用于创建财务报表行集合。导入格式已经预定义。在
这里,它以美国税代码的 Form 1120 为基础,不同于标准的美国损益表结构。

R/S - 现金流_值,现金流_名称

可选的现金流有行值/主键与名称。用于创建财务报表行集合。导入格式已经预定义。

compiere resource list

<div class="layout">
<div class="layoutregion">
<div id="g_body"><p>[请大家一起编辑本页面] </p><p> </p><p>资源搜索工
具:</p><ul><li>Google:<a href="http://my.donews.com/pastoral/">比特酋长
</a>为Compiere定制的Google custom
serach engine:<a
href="http://www.google.com/coop/cse?cx=015651053727539904439%3Ad58dvnv279e">Compiere
CSE</a>。你可以把它添加到你的Google PersonalHomepage,你也可以为其添加站
点;</li><li>eMule:也许应该上去搜索一下;</li></ul>
<p> </p>
<hr><h2><font size="4"><b>
Compiere相关项目网站</b></font>:<br>
</h2><dl><dl><dt><a
href="http://compilo.sourceforge.net/index.html">Compilo
- Compiere developer documentation.</a> </dt><dt><a
href="http://sourceforge.net/project/showfiles.php?group_id=111366">SF.net:
CompiereUtil</a>     <a
href="http://www.compierefans.org/blog/index.php">Compiere Util Project
HomePage</a> </dt><dt><a
href="http://sourceforge.net/projects/comxe">SF.net: Compiere on Oracle
XE</a> </dt><dt><a
href="http://sourceforge.net/projects/compiere-portal">SF.net: Compiere
Portal</a> </dt><dt><a
href="http://sourceforge.net/projects/cmpcs/">SourceForge.net:
Kompiere Libero (Manufacturing)</a> </dt><dt><a
href="http://www.compierefans.org/blog/index.php"><br></a> </dt><dt><a
href="http://compiere-mfgscm.sourceforge.net/">Compiere MFG &amp; SCM</a>
</dt></dl></dl>
<blockquote dir="ltr" style="margin-right:0px">
<p><a
href="http://www.openbravo.com/index.php?option=com_content&task=view&amp;id=130&Itemid=244">openbravo
ERP&amp;CRM</a>   
<a href="http://www.adempiere.com/">ADempiere</a></p></blockquote>
<h2>博客与论坛</h2>
<dl><dl><dt><a href="http://bbs.kuke.info/forumdisplay.php?f=18">上海酷克
Compiere论坛</a> </dt><dt><a
href="http://petershen.bokee.com/index.html">pshen的博客</a> </dt><dt><a
href="http://www.oslabs.org/">OSLabs - Home</a> </dt><dt><a
href="http://www.ohloh.net/opensource/software/compiere">Compiere ERP
+ CRM Business Solution
- Ohloh Metrics Report</a> </dt><dt><a href="http://red1.org/">red1 open
source empire</a>
</dt><dt><a
href="http://www.compiere.org/documentation/dbLogical/index.htm">Compiere
AD ER-Studio Intranet Documentation</a> </dt><dt><a
href="http://www.compiere.org/technology/build.html">Compiere Technology -
Building Compiere from Source</a>
</dt><dt><a href="http://www.compierefans.org/">Compiere Fans-zh</a>
</dt><dt><a href="http://www.smileblog.com/">Compiere Blog-zh</a>
</dt><dt><a href="http://groups.google.com/group/Compiere-China">Google
Groups Compiere-China</a> </dt><dt><a
href="http://www.workrun.com/21/0.htm">Compiere
ERP&amp;CRM</a> </dt><dt><a
href="http://www.knowledgesuccess.com/compiere/">knowledgesuccess</a>
</dt></dl></dl>
<h2><font size="4"><b>咨询与服务公司</b></font><br></h2>
<blockquote dir="ltr" style="margin-right:0px">
<dl><dt><a
href="http://entpiere.interpack.org/portal/entpiere/index.htm">首页 - 恩普
派</a>
</dt><dt><a href="http://www.astidian.co.za/comp.htm">Astidian Systems</a>
</dt><dt><a href="http://www.e-evolution.com/kompiere/">e-Evolution</a>
</dt><dt><a href="http://www.mycompiere.com/support/">myCompiere.com
Support</a> <br>Compiere-China     [  <a
href="http://www.compiere-china.com/support/setup_server.htm">Compiere-China
安装</a>   <a
href="http://www.compiere-china.com/download/dl_software.htm">Compiere
Download</a>  ]<br><a href="http://www.eousoft.com/">益用软件</a>
</dt></dl><dt><a
href="http://www.zoapcon.com/www2/Web/product/technique/systemstruct.htm">ZOAP
源科顾问有限公司</a> </dt>
<dt><a href="http://www.huahu.com.cn/">RMS ERP&amp;CRM 企业解决方案 DNN BPM
Suite 工作业务流程规划 门店管理</a> </dt>
<dt><a href="http://www.desoo.com/">Desoo 戴速: Compiere ERP &amp; CRM 企业
解决方案</a> </dt>
<dt><a href="http://www.adaxa.com.au/">ADAXA</a>       [<a
href="http://www.adaxa.com.au/index.php?option=com_content&task=section&amp;id=3&Itemid=27">Compiere
&quot;How-To"</a><a
href="http://www.adaxa.com.au/index.php?option=com_remository&amp;Itemid=53&func=selectcat&amp;cat=1">]  </a>
</dt>
<dt><a href="http://www.zhichi.cn/sa8.htm">compiere系统优势|北京智驰科技有
限公司</a> </dt>
<dt><a href="http://www.yugasoft.com/compiere.htm">上海优格软件有限公司
</a> </dt>
<dt><a href="http://www.janus-software.com/compiere_dl.html">Janus
Software</a> </dt></blockquote><wbr></div>

星期二, 一月 09, 2007

Compiere 安装在SUSE10下的成功实例

开源的ERP当然要用开源的操作系统啦,要不然,就本末倒置了。本文介绍了一个在
SUSE10下成功部署Compiere的实例,可作为参考。


安装前的准备
操作系统:Open SUSE Linux 10.0(内核2.6.9)
JAVA:SUSE10.0默认安装的是JRE1.4.2,不过Compiere网站上要求的是1.5.0,所以也
下载了一个SUN JDK1.5.0
Oracle:XE 10.0.2(后来证明XE完全可以使用)
Compiere:最新253b压缩包
别的没太多好说的,只有Oracle的XE版本,后来证明完全可用,并且安装相对简单
(只有一个rpm包),而且尺寸也小(所有的东西装完以后,我的SUSE分区只剩下
170M了
如果你准备用XE,从SUSE裸系统开始装这一大套东西只需要2G就可以了,但是如果用
标准版甚至企业版,那么准备4G空间吧!

安装过程
其实很简单,完全按照www.compiere.com上面的安装向导来就行了,注意一定要认真
仔细的一步一步操作
我试验了一下用SUSE自带的JRE1.4.2来跑RUN_setup.sh,结果不出所料报告了java方
法错误,看来必须用1.5.0
新建了一个用户comp,并且在~/.bashrc强制了PATH和相关的JAVA环境变量指向1.5.0
新建用户是个好习惯,一来在这个状况下可以单独为其设定1.5.0版本的JAVA为缺省
值,不会影响到其他用户继续使用1.4.2,二来,为一个服务建立一个特定的用户也符
合UNIX的安全习惯。
别忘了给comp加入到dba组中,并且在bashrc里面加上引用Oracle环境初始化脚本的
行。具体的做法在安装Oracle XE的rpm包后的设置过程中都有提示。
用root把compiere包解开到/opt,并且更换所有者为comp,给sh脚本赋予可执行权限
重新用comp用户登录桌面,语言一定要选择英语(后面会告诉你为什么),打开一个
终端检查JAVA环境变量和虚拟机版本,检查Oracle连通性(按照compiere主页的安装
步骤来)
一切就绪以后,就可以执行安装脚本RUN_setup.sh了,其实这个脚本是一个配置工
具,执行它会出现一个窗口,里面要求填入一些值,Test通过以后就可以保存并进行
下一步操作了。这里只要注意3点:A数据库名字叫做"XE"(如果你用XE版本的
话);B对于我的comp用户来说,不能使用<1024的端口,因此你要把缺省的端口改一
下,比如10080/10443等(注意Oracle默认占用8080端口,不要冲突了);C数据库用
户compiere不需要你手工建,安装程序会自己建的!
SAVE了以后就可以继续安装过程了,一般来说就不会再出什么问题了。别忘了设好
COMPIERE_HOME变量
最后都弄好以后,运行RUN_Env.sh不报错就算成功了
最后启动服务RUN_Server2.sh,实际上就是启动了内建的JBoss
最后打开浏览器就可以使用客户端了。根据我的经验,除了comp以外其他的没有设置
JAVA1.5.0为缺省jvm的用户一样可以使用WebStart客户端,因为在SUN JDK1.5.0安装
的时候自动把所有的WebStart连接绑定到了1.5版本的javaws上去了,因此无论谁在浏
览器中点击了WebStart的连接,默认启动的都是1.5的javaws
心得体会
一定要注意java的版本
1.5的java在SUSE10上面中文字体有问题,所以我强调第一次要用英文环境运行安装程
序,不然出来的中文字体都是方块。解决这个问题花了我一些时间,主要是1.5版本的
字体配置文件是按照特定顺序读取的,首先读取跟当前操作系统名称和版本对应的那
个文件,然后读取相似性越来越小的配置文件。一开始我没搞清楚这个顺序走了弯
路。
解决方法就是,把原来1.4.2的字体配置文件copy过来,并且命名为
fontconfig.SUSE.properties 这样优先级就是最高的了。如果设置好了java字体,那
么就可以用中文环境运行安装程序和客户端了
安装界面中还有DB2,sqlserver等数据库,IBM的虚拟机,以及其他类型的aplication
server可选,不过有些带<>箭头,估计还是测试阶段,过两天我会试一下win2K+IBM
JDK1.5+DB2的组合
登录界面有中文选项,但是进去以后还是英文界面,原来中文包是要收费的,靠
web界面的应用基本上没怎么做好,看来这方面要等很久了
Oracle XE版本挺好用的,作为试验和学习足够了,就是数据库名"XE"我迷惑了很久才
知道了,看了Oracle网站上的文档才知道的。