??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品亚洲玖玖玖在线观看 ,精品亚洲视频在线观看,国产偷窥女洗浴在线观看亚洲http://m.tkk7.com/hispark/category/34942.htmlzh-cnWed, 07 Mar 2012 03:54:07 GMTWed, 07 Mar 2012 03:54:07 GMT60Opentaps + Oracle 安装http://m.tkk7.com/hispark/archive/2012/03/07/371381.htmlshanghai_sparkshanghai_sparkWed, 07 Mar 2012 02:56:00 GMThttp://m.tkk7.com/hispark/archive/2012/03/07/371381.htmlhttp://m.tkk7.com/hispark/comments/371381.htmlhttp://m.tkk7.com/hispark/archive/2012/03/07/371381.html#Feedback0http://m.tkk7.com/hispark/comments/commentRss/371381.htmlhttp://m.tkk7.com/hispark/services/trackbacks/371381.html
1、编?framework/entity/config/entityengine.xmlQ修改default delegate?localoracle

<delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false">
<group-map group-name="org.ofbiz" datasource-name="localoracle"/>
<group-map group-name="org.ofbiz.olap" datasource-name="localoracle"/>
<group-map group-name="org.ofbiz.tenant" datasource-name="localoracle"/>
<group-map group-name="org.opentaps.analytics" datasource-name="localoracle"/>
<group-map group-name="org.opentaps.testing" datasource-name="localoracle"/>
</delegator>


2、修改同个文件中的的localoracle 的datasource节点
    <datasource name="localoracle"
            helper
-class="org.ofbiz.entity.datasource.GenericHelperDAO"
            schema
-name="OFBIZ"
            field
-type-name="oracle"
            check
-on-start="true"
            add
-missing-on-start="true"
            alias
-view-columns="false"
            join
-style="ansi">
        
<read-data reader-name="seed"/>
        
<read-data reader-name="seed-initial"/>
        
<read-data reader-name="demo"/>
        
<read-data reader-name="ext"/>
        
<inline-jdbc
                jdbc
-driver="oracle.jdbc.driver.OracleDriver"
                jdbc
-uri="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
                jdbc
-username="ofbiz"
                jdbc
-password="ofbiz"
                pool
-minsize="2"
                pool
-maxsize="250"
                time
-between-eviction-runs-millis="600000"/>
    
</datasource>

3、将{ORACLE_HOME}\product\10.2.0\db_1\jdbc\lib目录下的ojdbc14.jar拯到framework/entity/lib/jdbc目录?br />
4、重新运行ant run-install生成数据库对?br />
5、现在Oracle数据库已l就lOK?br />



shanghai_spark 2012-03-07 10:56 发表评论
]]>
整合Magento和Opentaps提供完整的电子商务运营^?/title><link>http://m.tkk7.com/hispark/archive/2011/03/01/345394.html</link><dc:creator>shanghai_spark</dc:creator><author>shanghai_spark</author><pubDate>Tue, 01 Mar 2011 01:42:00 GMT</pubDate><guid>http://m.tkk7.com/hispark/archive/2011/03/01/345394.html</guid><wfw:comment>http://m.tkk7.com/hispark/comments/345394.html</wfw:comment><comments>http://m.tkk7.com/hispark/archive/2011/03/01/345394.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.tkk7.com/hispark/comments/commentRss/345394.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/hispark/services/trackbacks/345394.html</trackback:ping><description><![CDATA[我一直期望可以提供一个高性能、高定制性的电子商务套gQ它不应局限于传统的ERP应用或简单的U上商城应用。而是应将U上发生的品展C、线上营销、在U客h务与U下的仓储发货、经营分析、关键客戯别有机结合v来?br /> <br /> 开始Opentaps开发已l两q多了,对它的理解也来深。做Z个完整的ERP套g来说我觉得它_应付我们的日怸务:客户、订单、仓储、采购、胦务等。ƈ且它从应用层和开发层都已l提供了_的支持与扩展I间?br /> <br /> 我始l觉得Ofbiz提供的ecommerce模块q于单,或者说它与我们国h惌中的电子商城有比较大的差距。如果我们在q之上来开发的话可以需要付出很多的effort才可能达到我们想要的效果。当然opentaps也提供了另一个选择graciousQ但从个度来说我q不喜欢q个模块Q它为用h供的定制选项太少了,只能作ؓ有经验的开发者定制自己应用的一个基?br /> <br /> 在ؓOpentaps开发Magento开发Integration FeatureӞ我接触到了Magentoq个最q泛被用的电子商务套g。不q当时只是浅即止ƈ未做太多的功能研IӞ最q这些日子里我在不断深入了解了这个品后来叹服其功能的强大。我x惌的所有功能应该都被包括在q个产品已完成的feature中了。但同样我更期望是一个完整的U上U下相诏通的|络商城q营ҎQ离q样的要求Magento在胦务结、仓储管理、采购管理这些ERP功能斚w又明昄偏弱?br /> <br /> 我想Opentaps与Magento的整合可能不应仅限与原来所提供的品、订单信息的贯通,或许我们应该试提供更密切的信息联系。至第一步应该要把客戯料信息进行双向的同步Q然后是库存信息?br /> <br /> 考虑更远一点的话,在Magento或Opentaps中引入在U客服与呼叫中心的Feature也是一个非常让人振奋的事情。发展到q一步,我们可以简单的集成q两个优U开源品来为我们的U上U下提供全方面的服务了?br /> <br /> 在以后的文章里,我会l箋在这个方面做更多的设计与实现工作。如果有童鞋Ҏ话题感兴,可以把你的想法告诉我看是否可以一h做点事?br /> <br /> <br /> BTW: 现在opentaps已完成的magento整合内容可以在这里找?<a >http://www.opentaps.org/docs/index.php/Opentaps_Magento_Integration</a><br /> <img src ="http://m.tkk7.com/hispark/aggbug/345394.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/hispark/" target="_blank">shanghai_spark</a> 2011-03-01 09:42 <a href="http://m.tkk7.com/hispark/archive/2011/03/01/345394.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Opentaps在Windows 64位系l下~译AOP模块出错的解x?/title><link>http://m.tkk7.com/hispark/archive/2011/02/09/343993.html</link><dc:creator>shanghai_spark</dc:creator><author>shanghai_spark</author><pubDate>Wed, 09 Feb 2011 14:18:00 GMT</pubDate><guid>http://m.tkk7.com/hispark/archive/2011/02/09/343993.html</guid><wfw:comment>http://m.tkk7.com/hispark/comments/343993.html</wfw:comment><comments>http://m.tkk7.com/hispark/archive/2011/02/09/343993.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/hispark/comments/commentRss/343993.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/hispark/services/trackbacks/343993.html</trackback:ping><description><![CDATA[在Opentaps 1.4版本我将AOP由原来的AspectJ替换为现在Aspectwerkz。结果我自己首先在64bit的windowspȝ下遇到ant~译出错Q现在把解决Ҏ列在q里<br /> <br /> opentaps/opentaps-common/build-aspects.xml中的weaved内容替换Z下内容(其实是把原来的ant的替换jar内容d分成两部来执行)Q?br /> <br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><span style="color: #008000;"><!--</span><span style="color: #008000;"> ================================================================== </span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />         </span><span style="color: #008000;"><!--</span><span style="color: #008000;"> Weave advice into target jars                                      </span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />         </span><span style="color: #008000;"><!--</span><span style="color: #008000;"> ================================================================== </span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />         </span><span style="color: #0000ff;"><</span><span style="color: #800000;">target </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="weave"</span><span style="color: #ff0000;"> depends</span><span style="color: #0000ff;">="detect-dependencies"</span><span style="color: #ff0000;"> if</span><span style="color: #0000ff;">="processRequired"</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />           </span><span style="color: #0000ff;"><</span><span style="color: #800000;">echo </span><span style="color: #ff0000;">message</span><span style="color: #0000ff;">="[build] =========== Start Building Aspect (Weave) ============="</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />           </span><span style="color: #0000ff;"><</span><span style="color: #800000;">java </span><span style="color: #ff0000;">classname</span><span style="color: #0000ff;">="org.codehaus.aspectwerkz.compiler.AspectWerkzC"</span><span style="color: #ff0000;"> fork</span><span style="color: #0000ff;">="true"</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">jvmarg </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="-Daspectwerkz.definition.file=${aopConfig}"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">jvmarg </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="-Daspectwerkz.transform.filter=no"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #008000;"><!--</span><span style="color: #008000;"> <jvmarg value="-Daspectwerkz.transform.verbose=true"/> </span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />             </span><span style="color: #008000;"><!--</span><span style="color: #008000;"> <jvmarg value="-Daspectwerkz.transform.details=true"/> </span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">arg </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="-verify"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">classpath </span><span style="color: #ff0000;">refid</span><span style="color: #0000ff;">="local.class.path"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">classpath</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />               </span><span style="color: #0000ff;"><</span><span style="color: #800000;">pathelement </span><span style="color: #ff0000;">path</span><span style="color: #0000ff;">="${build.dir}/classes/common"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"></</span><span style="color: #800000;">classpath</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />             </span><span style="color: #008000;"><!--</span><span style="color: #008000;"> below is the jars to post-process </span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">arg </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="${ofbiz.dir}/framework/entity/build/lib/ofbiz-entity.jar"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />           </span><span style="color: #0000ff;"></</span><span style="color: #800000;">java</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />           </span><span style="color: #0000ff;"><</span><span style="color: #800000;">java </span><span style="color: #ff0000;">classname</span><span style="color: #0000ff;">="org.codehaus.aspectwerkz.compiler.AspectWerkzC"</span><span style="color: #ff0000;"> fork</span><span style="color: #0000ff;">="true"</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">jvmarg </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="-Daspectwerkz.definition.file=${aopConfig}"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">jvmarg </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="-Daspectwerkz.transform.filter=no"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #008000;"><!--</span><span style="color: #008000;"> <jvmarg value="-Daspectwerkz.transform.verbose=true"/> </span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />             </span><span style="color: #008000;"><!--</span><span style="color: #008000;"> <jvmarg value="-Daspectwerkz.transform.details=true"/> </span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">arg </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="-verify"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">classpath </span><span style="color: #ff0000;">refid</span><span style="color: #0000ff;">="local.class.path"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">classpath</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />               </span><span style="color: #0000ff;"><</span><span style="color: #800000;">pathelement </span><span style="color: #ff0000;">path</span><span style="color: #0000ff;">="${build.dir}/classes/common"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"></</span><span style="color: #800000;">classpath</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />             </span><span style="color: #008000;"><!--</span><span style="color: #008000;"> below is the jars to post-process, if these jar not effect each other you can put them in same pos, else please seperate them into another task </span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">arg </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="${ofbiz.dir}/framework/common/build/lib/ofbiz-common.jar"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />           </span><span style="color: #0000ff;"></</span><span style="color: #800000;">java</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />           </span><span style="color: #0000ff;"><</span><span style="color: #800000;">java </span><span style="color: #ff0000;">classname</span><span style="color: #0000ff;">="org.codehaus.aspectwerkz.compiler.AspectWerkzC"</span><span style="color: #ff0000;"> fork</span><span style="color: #0000ff;">="true"</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">jvmarg </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="-Daspectwerkz.definition.file=${aopConfig}"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">jvmarg </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="-Daspectwerkz.transform.filter=no"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #008000;"><!--</span><span style="color: #008000;"> <jvmarg value="-Daspectwerkz.transform.verbose=true"/> </span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />             </span><span style="color: #008000;"><!--</span><span style="color: #008000;"> <jvmarg value="-Daspectwerkz.transform.details=true"/> </span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">arg </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="-verify"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">classpath </span><span style="color: #ff0000;">refid</span><span style="color: #0000ff;">="local.class.path"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">classpath</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />               </span><span style="color: #0000ff;"><</span><span style="color: #800000;">pathelement </span><span style="color: #ff0000;">path</span><span style="color: #0000ff;">="${build.dir}/classes/common"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"></</span><span style="color: #800000;">classpath</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />             </span><span style="color: #008000;"><!--</span><span style="color: #008000;"> below is the jars to post-process </span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />             </span><span style="color: #0000ff;"><</span><span style="color: #800000;">arg </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="${ofbiz.dir}/applications/order/build/lib/ofbiz-order.jar"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />           </span><span style="color: #0000ff;"></</span><span style="color: #800000;">java</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />           </span><span style="color: #0000ff;"><</span><span style="color: #800000;">jar </span><span style="color: #ff0000;">jarfile</span><span style="color: #0000ff;">="${lib.dir}/${name}.jar"</span><span style="color: #ff0000;"> update</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;"> basedir</span><span style="color: #0000ff;">="${build.dir}/classes/common"</span><span style="color: #ff0000;"> includes</span><span style="color: #0000ff;">="org/opentaps/aspect/secas/**"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />             </span><span style="color: #008000;"><!--</span><span style="color: #008000;"> put aop.xml into target jar META-INF dir </span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />              </span><span style="color: #0000ff;"><</span><span style="color: #800000;">mkdir </span><span style="color: #ff0000;">dir</span><span style="color: #0000ff;">="${build.dir}/classes/META-INF"</span><span style="color: #ff0000;"> </span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />              </span><span style="color: #0000ff;"><</span><span style="color: #800000;">copy </span><span style="color: #ff0000;">file</span><span style="color: #0000ff;">="${aopConfig}"</span><span style="color: #ff0000;"> tofile</span><span style="color: #0000ff;">="${build.dir}/classes/META-INF/aop.xml"</span><span style="color: #ff0000;"> overwrite</span><span style="color: #0000ff;">="true"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />            </span><span style="color: #008000;"><!--</span><span style="color: #008000;"> create new jar with aop.xml, then copy it to orign location, using these for avoid unable rename error on windows 64bit system</span><span style="color: #008000;">--></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"><</span><span style="color: #800000;">zip </span><span style="color: #ff0000;">destfile</span><span style="color: #0000ff;">="${lib.dir}/ofbiz-entity.jar"</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"><</span><span style="color: #800000;">zipfileset </span><span style="color: #ff0000;">src</span><span style="color: #0000ff;">="${ofbiz.dir}/framework/entity/build/lib/ofbiz-entity.jar"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"><</span><span style="color: #800000;">fileset </span><span style="color: #ff0000;">dir</span><span style="color: #0000ff;">="${build.dir}/classes/"</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />                  </span><span style="color: #0000ff;"><</span><span style="color: #800000;">include </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="META-INF/aop.xml"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"></</span><span style="color: #800000;">fileset</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"></</span><span style="color: #800000;">zip</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />            </span><span style="color: #0000ff;"><</span><span style="color: #800000;">delete </span><span style="color: #ff0000;">file</span><span style="color: #0000ff;">="${ofbiz.dir}/framework/entity/build/lib/ofbiz-entity.jar"</span><span style="color: #ff0000;"> failonerror</span><span style="color: #0000ff;">="false"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"><</span><span style="color: #800000;">move </span><span style="color: #ff0000;">file</span><span style="color: #0000ff;">="${lib.dir}/ofbiz-entity.jar"</span><span style="color: #ff0000;"> tofile</span><span style="color: #0000ff;">="${ofbiz.dir}/framework/entity/build/lib/ofbiz-entity.jar"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br /> <br />                </span><span style="color: #0000ff;"><</span><span style="color: #800000;">zip </span><span style="color: #ff0000;">destfile</span><span style="color: #0000ff;">="${lib.dir}/ofbiz-common.jar"</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"><</span><span style="color: #800000;">zipfileset </span><span style="color: #ff0000;">src</span><span style="color: #0000ff;">="${ofbiz.dir}/framework/common/build/lib/ofbiz-common.jar"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"><</span><span style="color: #800000;">fileset </span><span style="color: #ff0000;">dir</span><span style="color: #0000ff;">="${build.dir}/classes/"</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />                  </span><span style="color: #0000ff;"><</span><span style="color: #800000;">include </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="META-INF/aop.xml"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"></</span><span style="color: #800000;">fileset</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"></</span><span style="color: #800000;">zip</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />            </span><span style="color: #0000ff;"><</span><span style="color: #800000;">delete </span><span style="color: #ff0000;">file</span><span style="color: #0000ff;">="${ofbiz.dir}/framework/common/build/lib/ofbiz-common.jar"</span><span style="color: #ff0000;"> failonerror</span><span style="color: #0000ff;">="false"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"><</span><span style="color: #800000;">move </span><span style="color: #ff0000;">file</span><span style="color: #0000ff;">="${lib.dir}/ofbiz-common.jar"</span><span style="color: #ff0000;"> tofile</span><span style="color: #0000ff;">="${ofbiz.dir}/framework/common/build/lib/ofbiz-common.jar"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br /> <br />            </span><span style="color: #0000ff;"><</span><span style="color: #800000;">zip </span><span style="color: #ff0000;">destfile</span><span style="color: #0000ff;">="${lib.dir}/ofbiz-order.jar"</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"><</span><span style="color: #800000;">zipfileset </span><span style="color: #ff0000;">src</span><span style="color: #0000ff;">="${ofbiz.dir}/applications/order/build/lib/ofbiz-order.jar"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"><</span><span style="color: #800000;">fileset </span><span style="color: #ff0000;">dir</span><span style="color: #0000ff;">="${build.dir}/classes/"</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />                  </span><span style="color: #0000ff;"><</span><span style="color: #800000;">include </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="META-INF/aop.xml"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"></</span><span style="color: #800000;">fileset</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"></</span><span style="color: #800000;">zip</span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />            </span><span style="color: #0000ff;"><</span><span style="color: #800000;">delete </span><span style="color: #ff0000;">file</span><span style="color: #0000ff;">="${ofbiz.dir}/applications/order/build/lib/ofbiz-order.jar"</span><span style="color: #ff0000;"> failonerror</span><span style="color: #0000ff;">="false"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />                </span><span style="color: #0000ff;"><</span><span style="color: #800000;">move </span><span style="color: #ff0000;">file</span><span style="color: #0000ff;">="${lib.dir}/ofbiz-order.jar"</span><span style="color: #ff0000;"> tofile</span><span style="color: #0000ff;">="${ofbiz.dir}/applications/order/build/lib/ofbiz-order.jar"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br /> <br />              </span><span style="color: #0000ff;"><</span><span style="color: #800000;">echo </span><span style="color: #ff0000;">message</span><span style="color: #0000ff;">="[build] =========== Done Building Aspect (Weave) =============="</span><span style="color: #0000ff;">/></span><span style="color: #000000;"> <br />            </span><span style="color: #0000ff;"></</span><span style="color: #800000;">target</span><span style="color: #0000ff;">></span></div> <br /> <br /> 以上Ҏ已经在opentaps wiki Q?a >http://www.opentaps.org/docs/index.php/General_Installation_of_Opentaps#Build_Aspect_class_Errors</a>Q?中加上过了?br /> <img src ="http://m.tkk7.com/hispark/aggbug/343993.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/hispark/" target="_blank">shanghai_spark</a> 2011-02-09 22:18 <a href="http://m.tkk7.com/hispark/archive/2011/02/09/343993.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>lOFBIZ POS模块加上查询库存Ҏ?/title><link>http://m.tkk7.com/hispark/archive/2011/02/08/343945.html</link><dc:creator>shanghai_spark</dc:creator><author>shanghai_spark</author><pubDate>Tue, 08 Feb 2011 03:29:00 GMT</pubDate><guid>http://m.tkk7.com/hispark/archive/2011/02/08/343945.html</guid><wfw:comment>http://m.tkk7.com/hispark/comments/343945.html</wfw:comment><comments>http://m.tkk7.com/hispark/archive/2011/02/08/343945.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://m.tkk7.com/hispark/comments/commentRss/343945.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/hispark/services/trackbacks/343945.html</trackback:ping><description><![CDATA[OFBIZ为我们提供了POS模块Q它已经可以满我们日常攉的大部分要求了。但是美中不的是它没有提供库存查询功能。我也没看出来OFBIZ有近期实现此功能的计划,所以打自己做一个?br /> <br /> 首先研究一下POS模块的代码结构:<br /> <br /> 1、POS模块同其它模块的实现方式有所区别Q它用了XUL技术来定制展示的界面。所有屏q文件用XUL格式定义于screens目录之下<br /> <br /> 2、按钮事件与java代码映射关系Q记录在config\buttonevents.xml?br /> <br /> 3、资源文件存攑֜XuiLabels_[locale].properties与config\PosUiLabels.xml?br /> <br /> 了解l构后,加上库存查询功能很单了Q我是这样做的:<br /> <br /> 1、在screens/default/menu/mgrmain.xml中增加一个mgrInquiryInventory库存查询按钮Q它会出现在POS?#8220;l理”界面中的<br /> <br /> 2、在buttonevents.xml中加上以下行Q映事件代?br /> <div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #0000ff;"><</span><span style="color: #800000;">event </span><span style="color: #ff0000;">button-name</span><span style="color: #0000ff;">="mgrInquiryInventory"</span><span style="color: #ff0000;"> class-name</span><span style="color: #0000ff;">="org.ofbiz.pos.event.ManagerEvents"</span><span style="color: #ff0000;"> method-name</span><span style="color: #0000ff;">="inquiryInventory"</span><span style="color: #ff0000;"> disable-lock</span><span style="color: #0000ff;">="false"</span><span style="color: #0000ff;">/></span></div> <br /> <br /> 3、在ManagerEvents.java中加入inquiryInventoryҎ代码Q我是用了一个ShowInventory的XPage来展现当前选中的库存分布Q?br /> <br /> 4、完工?br /> <br /> 了,包括阅读代码和编写这些东东d也就׃七八个小时的effortQ不知道Z么ofbiz׃肯加上这个功能呢Q或者pos模块不再发展了?<br /> <br /> <br /> <br /> <img alt="" src="http://m.tkk7.com/images/blogjava_net/hispark/pos.png" width="1022" height="727" /><br /> <br /> <img src ="http://m.tkk7.com/hispark/aggbug/343945.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/hispark/" target="_blank">shanghai_spark</a> 2011-02-08 11:29 <a href="http://m.tkk7.com/hispark/archive/2011/02/08/343945.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>The Data Model Resource Book - MW记http://m.tkk7.com/hispark/archive/2009/01/14/251226.htmlshanghai_sparkshanghai_sparkWed, 14 Jan 2009 02:57:00 GMThttp://m.tkk7.com/hispark/archive/2009/01/14/251226.htmlhttp://m.tkk7.com/hispark/comments/251226.htmlhttp://m.tkk7.com/hispark/archive/2009/01/14/251226.html#Feedback0http://m.tkk7.com/hispark/comments/commentRss/251226.htmlhttp://m.tkk7.com/hispark/services/trackbacks/251226.htmlZq一步了解ofbiz/opentaps的ER模型Q硬着头皮看了《The Data Model Resource Book》差不多两周。虽然还是有些地Ҏ点吃不准QM来说q是收益良多。我试它的思想与我以往用过或是我了解的对业务徏模的ER模型q行ҎQ可以在以后的开发中汲取l验Q?br />
1、实体之间的关系或是本n的描q都是有生命周期的,q一点从ER Diagram中随处可见的From Date 与Thru Date可以充分体现出来?br />
2、以W三方角度对业务建模而非“?#8221;方角度徏模,q个比较有趣Q通常来说我们会把销售订单与采购订单分成两个实体Q这是因为我们从使用者角度来看销售订单与采购订单是不同的业务cdQ而从W三方角度来着Q销售订单与采购订单都是当事Z间发生的采购/销售业务,兛_的业务内容与属性完全一_而这样徏模可以带来大量的业务逻辑q与可扩展性?br />

3、抽象层ơ较高的业务实体Q通过属性内容进一步细化业务对象?br />
q是我感觉比较重点的几个点,先记下!

shanghai_spark 2009-01-14 10:57 发表评论
]]>
Inventory Item序列化的含义http://m.tkk7.com/hispark/archive/2009/01/07/250366.htmlshanghai_sparkshanghai_sparkWed, 07 Jan 2009 08:42:00 GMThttp://m.tkk7.com/hispark/archive/2009/01/07/250366.htmlhttp://m.tkk7.com/hispark/comments/250366.htmlhttp://m.tkk7.com/hispark/archive/2009/01/07/250366.html#Feedback0http://m.tkk7.com/hispark/comments/commentRss/250366.htmlhttp://m.tkk7.com/hispark/services/trackbacks/250366.html
看了一?lt;<The Data Model Resource Book>>的这D话才弄明白Q?br /> The INVENTORY ITEM may be either a SERIALIZED INVENTORY ITEM,which means each item's serial num(ber) is tracked, or a NON-SERIALIZED
INVENTORY ITEM, which means a group of items is tracked together and the quantity on hand for these is maintained by their location.

即品是按个体单独跟t,q是按相同群体特征进行数据和存放地点跟踪理Q?br />
C来,不要下次再忘CQ?

shanghai_spark 2009-01-07 16:42 发表评论
]]>
MINILANG 开发指导烹调书http://m.tkk7.com/hispark/archive/2008/10/31/237744.htmlshanghai_sparkshanghai_sparkFri, 31 Oct 2008 01:21:00 GMThttp://m.tkk7.com/hispark/archive/2008/10/31/237744.htmlhttp://m.tkk7.com/hispark/comments/237744.htmlhttp://m.tkk7.com/hispark/archive/2008/10/31/237744.html#Feedback4http://m.tkk7.com/hispark/comments/commentRss/237744.htmlhttp://m.tkk7.com/hispark/services/trackbacks/237744.html* 如何在minilang中用Java静态方法获得数?br /> 使用beanshell脚本:

<set field="notApplied" value="${bsh:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(invoice)}" type="Double"/>

 

警告:你必M用type=""来{换你的结果类?否则的话,它将q回字符串类?


* 如何在minilang中调用JavaE序
你可以在minilang中插入一Dbeanshell代码,cM?applications/ecommerce/script/org/ofbiz/ecommerce/customer/CustomerEvents.xml的示?

        <call-bsh><![CDATA[
            String password = (String) userLoginContext.get("currentPassword");
            String confirmPassword = (String) userLoginContext.get("currentPasswordVerify");
            String passwordHint = (String) userLoginContext.get("passwordHint");
            org.ofbiz.securityext.login.LoginServices.checkNewPassword(newUserLogin, null, password, confirmPassword, passwordHint, error_list, true, locale);
        
]]></call-bsh>


  在beanshell脚本中可以访问在minilang中所有的变量


* 清除 ?h的比?br />   <clear-field field-name="foo"/> 讄它ؓnull. q可以是一个类的属性或是集合中的一个?br />   <refresh-value value-name="foo"/> 从数据库中重新获得foo的? foo必须是一个GenericValue.


* 如何讄一个布?br />  我无法找CQ何例?但是我这样做是成功的:

 <set field="orderAvailableCtx.countNewReturnItems" value="true" type="Boolean"/>


 我想minilang使用type=""中的cd与value中的值的做ؓ构造调?猜想在某天我看到q些代码时能证明我是对的...

本文档译自ofbiz 4.0 cookbooks,本h译,Ƣ迎转蝲,h明出?



shanghai_spark 2008-10-31 09:21 发表评论
]]>
OFBiz实体引擎开发烹调书 (? http://m.tkk7.com/hispark/archive/2008/10/26/236684.htmlshanghai_sparkshanghai_sparkSun, 26 Oct 2008 03:30:00 GMThttp://m.tkk7.com/hispark/archive/2008/10/26/236684.htmlhttp://m.tkk7.com/hispark/comments/236684.htmlhttp://m.tkk7.com/hispark/archive/2008/10/26/236684.html#Feedback0http://m.tkk7.com/hispark/comments/commentRss/236684.htmlhttp://m.tkk7.com/hispark/services/trackbacks/236684.html* 如何为SELECT SUM(QUANTITY - CANCEL_QUANTITY) AS QUANTITY之类的语句设|别?nbsp;

  <alias entity-alias="OI" name="quantity" function="sum">
      
<complex-alias operator="-">
          
<complex-alias-field entity-alias="OI" field="quantity" default-value="0"/>
          
<complex-alias-field entity-alias="OI" field="cancelQuantity" default-value="0"/>
      
</complex-alias>
  
</alias> 

   SELECT SUM(COALESCE(OI.QUANTITY,'0') - COALESCE(0I.CANCEL_QUANTITY)) AS QUANTITY在结果集包含默认值是一个好的习?否则如果有一ؓnull,那么最l相减的l果׃为null?
  操作W可以ؓM你当前用数据库所支持的SQL操作W?比如术q算W?, -, * ? 或者字W串q接W?||.

  你可以增加function=""标签来完成在complex-alias-field中的min, max, sum, avg, count, count-distinct, upper 及lower集合q算.  CZ, 以上的定义可以用另一U方法表CZؓ:

  <alias entity-alias="OI" name="quantity">
      
<complex-alias operator="-">
          
<complex-alias-field entity-alias="OI" field="quantity" default-value="0" function="sum"/>
          
<complex-alias-field entity-alias="OI" field="cancelQuantity" default-value="0" function="sum"/>
      
</complex-alias>
  
</alias>

   即ؓSELECT (SUM(COALESCE(OI.QUANTITY,'0')) - SUM(COALESCE(OI.CANCEL_QUANTITY,'0'))) AS QUANTITY查询l果?br />

* 我讨厌OFBiz的实体引?我要自己的JDBCq接!
  好的,以下是你获得JDBCq接的方? 

import org.ofbiz.entity.jdbc.ConnectionFactory;

String helperName 
= delegator.getGroupHelperName("org.ofbiz");    // gets the helper (localderby, localmysql, localpostgres, etc.) for your entity group org.ofbiz
Connection conn = ConnectionFactory.getConnection(helperName); 
Statement statement 
= conn.createStatement();
statement.execute(
"SELECT * FROM PARTY");
ResultSet results 
= statement.getResultSet();

//  通过普通JDBC 的结果集来操?/span>

//Alternatively, you can use the SQLProcessor like 
this:

SQLProcessor sqlproc 
= new SQLProcessor(helperName);
sqlproc.prepareStatement(
"SELECT * FROM PARTY");
ResultSet rs1 
= sqlproc.executeQuery();

ResultSet rs2 
= sqlproc.executeQuery("SELECT * FROM PRODUCT");

 你可以查看framework/webtools/webapp/webtools/WEB-INF/actions/entity/EntitySQLProcessor.bsh了解它的使用

在以下网址你可以获得相关JavaDoc的内?
http://www.opentaps.org/javadocs/version-1.0/framework/api/org/ofbiz/entity/jdbc/SQLProcessor.html
http://www.opentaps.org/javadocs/version-1.0/framework/api/org/ofbiz/entity/jdbc/ConnectionFactory.html

  *** 请先考虑以下内容: 你放弃数据库的无x意味着你在某些Ҏ无法与框架或其它程序集?你确定你要这么做?

获得更好的做?误?nbsp;http://www.opentaps.org/docs/index.php/Using_the_Query_Tool


* 关于旉比较Ҏ的一些警?/p>

在你?GREATER_THAN比较一?Timestampcd数据? 你有可能获得相同的时间数? 

delegator.findByAnd("XXX", UtilMisc.toList(new EntityExpr("fromDate", EntityOperator.GREATER_THAN, "2007-12-31 23:59:59.998")));

 有可能包含fromDate=2007-12-31 23:59:59.998的数?  (此种情况发生于PostgreSQL 8.1q且GenericDAO cȝ成的SQL代码?FROM_DATE > ' so 所以我也不明白发生q个问题的原?) 所以确保安全的Ҏ? 增加1U到需要比较的旉中然后?GREATER_THAN_EQUAL_TOҎ  

delegator.findByAnd("XXX", UtilMisc.toList(new EntityExpr("fromDate", EntityOperator.GREATER_THAN_EQUAL_TO, "2008-01-01 00:00:00.998")));

 

* 警告: 在空集合中用EntityOperator.IN

请小心如果用EntityOperator.INd断一个非I集合在一个空集合中的包含?你有可能获得一个语法错? 在Derby或者其它一些不Zh知的数据库中可能会出?
所以徏议你能在使用EntityOperator.IN之间,通常执行UtilValidate.isNotEmptyҎ来判断一下结果集是否为空

* 警告: delegator.getNextSubSeqId 不能保唯一?/p>

很多实体有很多合成的主键.CZOrderItem's 主键是orderId + orderItemSeqId.  InventoryItemDetail's 主键是inventoryItemId +inventoryItemSeqId.  通常, delegator.getNextSubSeqId 通常是获得一个序列?但是在多U程的访问下有可能无法确保生成的值的唯一?  此段内容?http://issues.apache.org/jira/browse/OFBIZ-1636 中有相关文档记录.

当前, 如果有可能多个线E尝试同时写入实体组合键?可以使用delegator.getNextSeqId来替代getNextSubSeqId.  (此问题不会发生于OrderItem, 因ؓ它只使用单线E写? 但有可能发生?InventoryItemDetail, 它用多U程来创建库存记录项.)
 

?gt;>

本文档译自ofbiz 4.0 cookbooks,本h译,Ƣ迎转蝲,h明出?

shanghai_spark 2008-10-26 11:30 发表评论
]]>
OFBiz实体引擎开发烹调书 (? http://m.tkk7.com/hispark/archive/2008/10/25/236524.htmlshanghai_sparkshanghai_sparkSat, 25 Oct 2008 03:42:00 GMThttp://m.tkk7.com/hispark/archive/2008/10/25/236524.htmlhttp://m.tkk7.com/hispark/comments/236524.htmlhttp://m.tkk7.com/hispark/archive/2008/10/25/236524.html#Feedback1http://m.tkk7.com/hispark/comments/commentRss/236524.htmlhttp://m.tkk7.com/hispark/services/trackbacks/236524.html* 我可以在entitymodel.xml文g中定义自qview-entities?

不能, 你可以动态定义它?你可以查看org.ofbiz.party.party.PartyServices中的findPartyҎ学习它的使用

* 如果为有效期间创建条?

我们提供了一l非常有用的ҎEntityUtil.getFilterByDateExpr ,它能q回一个EntityConditionListҎ有效期间来筛选一个结果集. 

* 如何在大数据l果集下工作

如果你检Z个大的数据结果集,你应当用EntityListIterator通过q代方式d数据,而非List.
CZ,如果你?

List products = delegator.findAll("Product");


你可能获得一?java.lang.OutOfMemoryError".  q是׃你通过findAll, findByAnd, findByCondition{方法来获得一个大的内存数据结果集D内存溢出.  在这U情况下, 应该使用EntityListIteratorq代方式来读取你的数? q个CZ应改写成:

productsELI = delegator.findListIteratorByCondition("Product"new EntityExpr("productId", EntityOperator.NOT_EQUAL, null), UtilMisc.toList("productId"), null);

 

注意获得EntityListIterator的方法只用通过条g, 所以你需要将你的条g重写为EntityExpr (在此ơ情况下,productId是主键字D不可能为空? 所以将q回所有Proudct实例,)?EntityConditionList.

此方法参C包含出的字段(q里为productId)以及排序字段(q里不需?所以赋了null)

你可以传递一个null作ؓEntityCondition参数来获得所有结?然后q不一定在所有数据库下都能正常工?  在maxdb及其它不常用的数据库下时你要心使用q些高功能.

* 如何使用EntityListIterator

当我们通过EntityListIteratorq代讉K数据? 通常是这?

while ((nextProduct = productsELI.next()) != null{
.
    
// operations on nextProduct
}


在EntityListIterator 中?nbsp;.hasNext()Ҏ是一U不l济的做?

在你完成你的操作?要记得关闭此q代

productsELI.close();

 

* 如何查询无重l果?/p>

当前只能通过list iteratorҎq指定EntityFindOptions参数,CZ如下:

    listIt = delegator.findListIteratorByCondition(entityName, findConditions, 
            
null// EntityConditions参数
            fieldsToSelectList, 
            fieldsToOrderByList,  
            
            
//关键部分.  W一个true表示"specifyTypeAndConcur"
            
// W二个true指完是一个o重查?  昄在实体引擎中只能通过q个Ҏ来进行o重查?/span>
            new EntityFindOptions(true, EntityFindOptions.TYPE_SCROLL_INSENSITIVE, EntityFindOptions.CONCUR_READ_ONLY, true));

 

在minilang, 它会更简?

 

  <entity-condition entity-name="${entityName}" list-name="${resultList}" distinct="true">
     
<select field="${fieldName}"/>
     .


* 如何q行一个大写不敏感的查询(即不分大写)

你需要查询条件表辑ּ两边均{为大?CZ:

andExprs.add(new EntityExpr("lastName"true, EntityOperator.LIKE, "%"+lastName+"%"true));

     (来源org.ofbiz.party.party.PartyServices)


* 如何EntityListIterator转换成List

  使用EntityListIterator.getCompleteList() 及getPartialList Ҏ


* 如何自动获得下一个ID?/p>

  在minilang 中?<sequence-id-to-env ...> 或在Java中通过delegator.getNextSeqId(...) 获得 .  id序列存放于SequenceValueItem?


* 关于ID值的一些警?/p>

  不要在种?演示数据中?0000做ؓ数据的ID,当系l尝试自动创建数据时,它们都将试10000,q将D一个键值冲H错?

* 如何从一个明l项中获得序列ID
  
  有些实体,比如拥有itemSeqId 的InvoiceItem(发票明细? and OrderItem(订单明细?.此项通常在你处一ơؓitem生成GenericValue 时自动生成ID,之后向delegator要求生成目的seq Id:

  GenericValue orderItem = delegator.makeValue("OrderItem", orderItemValues);
  delegator.setNextSubSeqId(orderItem, 
"orderItemSeqId", ORDER_ITEM_PADDING, 1);

未完待箋>>

本文档译自ofbiz 4.0 cookbooks,本h译,Ƣ迎转蝲,h明出?

shanghai_spark 2008-10-25 11:42 发表评论
]]>
OFBiz实体引擎开发烹调书 (一)http://m.tkk7.com/hispark/archive/2008/10/24/236404.htmlshanghai_sparkshanghai_sparkFri, 24 Oct 2008 08:26:00 GMThttp://m.tkk7.com/hispark/archive/2008/10/24/236404.htmlhttp://m.tkk7.com/hispark/comments/236404.htmlhttp://m.tkk7.com/hispark/archive/2008/10/24/236404.html#Feedback0http://m.tkk7.com/hispark/comments/commentRss/236404.htmlhttp://m.tkk7.com/hispark/services/trackbacks/236404.html q个限制主要是ؓ了Oracle只支?0字符以内的数据库对象名称,再加上OFBiz会自动在单词之间加上"_",所以就得出了这么个限制.

* 兌的工作方?br /> 它们定义于entitymodel.xml文g中的<entity>D,CZ如下Q?br />
      <relation type="one" fk-name="PROD_CTGRY_PARENT" title="PrimaryParent" rel-entity-name="ProductCategory">
        
<key-map field-name="primaryParentCategoryId" rel-field-name="productCategoryId"/>
      
</relation>
      
<relation type="many" title="PrimaryChild" rel-entity-name="ProductCategory">
        
<key-map field-name="productCategoryId" rel-field-name="primaryParentCategoryId"/>
      
</relation>
    typeq个属性标{֮义关联类? "one"表示一对一,"many"表示从此实体引出的一对多关系
    fk-name的属性值是数据库外键名.q外键命名是一个好的习?虽然如果你不讄此属?OFiz也会自己建外?
    rel-entity-name的属性值指向关联的实体名称
    title用来区分两个实体之间的多重关p?br />     <key-map>节点定义兌中用到的字D?field-name指向本实体内的引用字D?rel-field-name定义兌的实体字D?你可以通过多个字段l合兌
    当你讉K一个关?你可以用title+entityName作ؓ参数调用.getRelated("")?getRelatedOne("")Ҏ.在关联ؓ"many"时?getRelated("")是恰当的,因ؓ它返回一个List,同样在关联ؓ"one"旉过.getRelatedOne("")Ҏ获得一个?

* view-entities相关内容
view-entities的功能非常强?它允怽可以创徏一个join-like查询,即你的数据库不支持join.
关于你数据库的join语法存放在entityengine.xml的datasource节点下的join-style属性中.
当你通过<view-link...>节点两上实体连接v来时,C:
1. 实体名称序是重要的
2. 默认的连接方式是inner join(卛_L值存在于两个实体cM),外连接需要用rel-optional="true"
如果多个实体中拥有相同的字段名称,比如statusId,l果集中的statusId使用W一个实体中的该?其它实体中的同名列将被丢?如果你想要同时获得这些列,你需要通过在其之前加入<alias-all>节点,一个方式是使用<alias ..>节点来ؓ不同实体的同名字Dv别名,CZ:
<alias entity="EntityOne" name="entityOneStatusId" field="statusId"/>
<alias entity="EntityTwo" name="entityTwoStatusId" field="statusId"/>
另一U方法是?lt;alias-all>节点中?lt;exclude field="">,如下:
<alias-all entity-alias="EN">
  
<exclude field="fieldNameToExclude1"/>
  
<exclude field="fieldNameToExclude2"/>
</alias-all>

q样也可以排除掉很多不打用到的信?特别是在一个非常大的表中查询时.
如果你打执行类g以下的查询语句时:
SELECT count(visitId) FROM  GROUP BY trackingCodeId WHERE fromDate > '2005-01-01'
需要包含字DvisitId以及function="count" 标签,trackingCodeId需加上group-by="true"标签,fromDate需要加上group-by="false"标签

在你q行查询?有一仉帔R要的事情需要注?比如说delegator.findByConditionҎ,你必L定检出的字段列表,q且你不能指定fromDate字段,否则你将得到一个错?q就是ؓwebtools不能够用view-entities来查看的原因.

你可以查看applications/marketing/entitydef/entitymodel.xml的底部内容学?及通过applications/marketing/webapp/marketing/WEB-INF/actions/reports学习beanshell脚本的调?

未完待箋>>

本文档译自ofbiz 4.0 cookbooks,本h译,Ƣ迎转蝲,h明出?


shanghai_spark 2008-10-24 16:26 发表评论
]]>
贴点opencrx的资?/title><link>http://m.tkk7.com/hispark/archive/2008/10/21/235740.html</link><dc:creator>shanghai_spark</dc:creator><author>shanghai_spark</author><pubDate>Tue, 21 Oct 2008 10:04:00 GMT</pubDate><guid>http://m.tkk7.com/hispark/archive/2008/10/21/235740.html</guid><wfw:comment>http://m.tkk7.com/hispark/comments/235740.html</wfw:comment><comments>http://m.tkk7.com/hispark/archive/2008/10/21/235740.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://m.tkk7.com/hispark/comments/commentRss/235740.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/hispark/services/trackbacks/235740.html</trackback:ping><description><![CDATA[<p>真是费Q原以ؓ是很单的事情Q没惛_看这个项目看了两三周都没研究明白它。文档太,逻辑l构也太复杂QOFBiz虽然也复杂,但好Ҏ档比较多Q。算了,我还是专注搞好OFBiz好啦。把手头上找到的可怜的几个文档贴上来吧Q谁要有好书也麻烦推荐来看下Q?/p> <p> </p> <a title="20080630-openMDX2-Features.pdf" href="/Files/hispark/20080630-openMDX2-Features.pdf">20080630-openMDX2-Features.pdf</a><br /> <a title="openCRX_ActivityManagementCN2.pdf" href="/Files/hispark/openCRX_ActivityManagementCN2.pdf">openCRX_ActivityManagementCN2.pdf</a><br /> <a title="openCRX_JBoss4_1.10.pdf" href="/Files/hispark/openCRX_JBoss4_1.10.pdf">openCRX_JBoss4_1.10.pdf</a><br /> <a title="openCRX_Oracle_9_1.10.pdf" href="/Files/hispark/openCRX_Oracle_9_1.10.pdf">openCRX_Oracle_9_1.10.pdf</a><br /> <a title="openCRX_Quick_Start1.10.pdf" href="/Files/hispark/openCRX_Quick_Start1.10.pdf">openCRX_Quick_Start1.10.pdf</a><br /> <a title="openMDX_Flyer.pdf" href="/Files/hispark/openMDX_Flyer.pdf">openMDX_Flyer.pdf</a> <br /> <br /> ȝ一点,你能不靠外力短时间能掌握openCRXQ绝对不是一般的智力哇! <img src ="http://m.tkk7.com/hispark/aggbug/235740.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/hispark/" target="_blank">shanghai_spark</a> 2008-10-21 18:04 <a href="http://m.tkk7.com/hispark/archive/2008/10/21/235740.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>OFBiz控制器与WEB应用指引http://m.tkk7.com/hispark/archive/2008/10/11/233795.htmlshanghai_sparkshanghai_sparkSat, 11 Oct 2008 14:04:00 GMThttp://m.tkk7.com/hispark/archive/2008/10/11/233795.htmlhttp://m.tkk7.com/hispark/comments/233795.htmlhttp://m.tkk7.com/hispark/archive/2008/10/11/233795.html#Feedback0http://m.tkk7.com/hispark/comments/commentRss/233795.htmlhttp://m.tkk7.com/hispark/services/trackbacks/233795.htmlo 使用安全q接
在你?lt;request-map ..>~辑中?lt;security > 标签Q其中https="true"ə面使用https协议Qauth="true|false"军_用户是否必须先登入系l,direct-request="false"不允许用户直接通过览器输入地址方式讉KQ即只能通过request-chainh链方式访问)

o 异步方式q行服务
<event type="sevice" path="async" >

o 认用户不会多次提交表单
使用
<response type="request-redirect" >
替代type="view"Q在使用request-redirect做ؓ回应方式Ӟ会参C为URL一部分Q所以在有特D字W时有可能导致错误。所以不要这样用:
<response name="viewContact" type="request-redirect" value="viewContact"/>
可以使用以下方式来替代:
<response name="viewContact" type="request" value="viewContact"/>

o 错误信息的获?br /> 错误与事件信息被讄于请求属性中?_ERROR_MESSAGE_(String)Q_EVENT_MESSAGE_(String)。它们可以request.setAttribute()方式讄及通过request.getAttribute()方式d?br /> 参?framework/common/webcommon/includes/messages.ftl

o 在请求后q行重定?br /> 使用"/control/req1/req2"方式则控制器在执行h"req1"后进?req2"

o 如何在查询按钮中加入预填参数
查询按钮可以通过Javascript方式创徏查询操作Q你可以使于预填字段方式在尾部增加参敎ͼCZQ?br />
"javascript:call_fieldlookup2(document.addProductStoreRole.partyId,'LookupPartyName?productStoreId=${productStoreId}');"

o 关于XSL:FO的提C?br /> 在描q或文本后追?xml或?lt;#escape x as x?xml>Q以避免收到错误提示?br />
o 在应用间切换时保持用L入状?br /> 在一个应用蟩转至另一个应用时在URL中放入externalLoginKey参数Q这Ll就不会再次要求你进行登入操作:
&externalLoginKey=${externalLoginKey}

本文档译自ofbiz 4.0 cookbooks,本h译,Ƣ迎转蝲,h明出?

shanghai_spark 2008-10-11 22:04 发表评论
]]>
OFBiz 菜单lg(menu-widget)指引http://m.tkk7.com/hispark/archive/2008/10/09/233306.htmlshanghai_sparkshanghai_sparkThu, 09 Oct 2008 03:16:00 GMThttp://m.tkk7.com/hispark/archive/2008/10/09/233306.htmlhttp://m.tkk7.com/hispark/comments/233306.htmlhttp://m.tkk7.com/hispark/archive/2008/10/09/233306.html#Feedback0http://m.tkk7.com/hispark/comments/commentRss/233306.htmlhttp://m.tkk7.com/hispark/services/trackbacks/233306.html菜单lg通常用于生成屏幕主菜单栏Q类gMain | Data Source | Campaign | Tracking | Segment | Contact List |   Reports | Logout

o 定义菜单

<menu-item name="DataSource" title="${uiLabelMap.DataSource}"><link target="FindDataSource"/></menu-item>

 name属性用于标识菜单项?br />  title属性用于菜单显C名Uͼ也可是uiLabelMap
 link指定菜单的跌{URI

o 使得指定的菜单高?br />  在屏q组件的<screen>-<actions>D中加入

<set field="headerItem" value="reports"/>

 valuegؓ已定义过的要加亮的菜单项
 
o Ҏ条g选择是否昄菜单?/strong>
  ?lt;menu-item>节点中?<condition>?

     <condition><not><if-empty field-name="userLogin"/></not></condition>
     
<condition><if-empty field-name="userLogin"/></condition>


o 使用CSS样式?/strong>
  ?lt;menu-item>节点中用以下属?br />     align-style="" 定义寚w方式
    widget-style="" 定义菜单在未选中时的样式
    selected-style="" 定义菜单在选中时的样式

o 叛_齐菜单项
  使用align-style="col-right" 来启?"col-right" CSS样式
  注意q个样式把W一个菜单项攑ֈ最双Q第二个攑֜W一个的左边Q依ơ类?br />
本文档译自ofbiz 4.0 cookbooks,本h译,Ƣ迎转蝲,h明出?



shanghai_spark 2008-10-09 11:16 发表评论
]]>
OFBiz调试技巧禅与道http://m.tkk7.com/hispark/archive/2008/10/08/233239.htmlshanghai_sparkshanghai_sparkWed, 08 Oct 2008 14:44:00 GMThttp://m.tkk7.com/hispark/archive/2008/10/08/233239.htmlhttp://m.tkk7.com/hispark/comments/233239.htmlhttp://m.tkk7.com/hispark/archive/2008/10/08/233239.html#Feedback0http://m.tkk7.com/hispark/comments/commentRss/233239.htmlhttp://m.tkk7.com/hispark/services/trackbacks/233239.html1、如何调试OFBiz
首先你需要学习和熟悉OFBiz的教E与工具指导文档。指导文档特别重要,因ؓ很多子主题内容不是排列最前的内容却可能导致问题的发生。你应该熟悉cM于FreemakerQbeanshell,XMLq些技术。你也应该有q处理那些与OFBiz无关问题的经验,比如处理数据库或服务器引L问题?br /> 现在Q你应该仔细查看日志文g了解你错误发生的原因。OFBiz在日志文件中提供大量的信息,q些信息有助于你了解你遇到的问题。它比处理的艺术更重要。哪些东西看上去工作有些特别Q比如比如有些关联程序将D或媄响到的结果,你都可以在日志文件中扑ֈ。如果你实无法在日志文件中发现M有用的东西,q时增加你自q日志信息直到你有_的信息来发现实际的问题所在?br /> 本指引将向你介绍OFBiz的日志文件工作情况,如何增加你自q日志记录Q以及一些常见信息的含义。这些知识的理解建立在你理解JAVA及其它相关的技术基上,所有问题的焦点只在于OFBiz的概念与信息内容中?/p>

2. OFBiz日志文g
OFBiz创徏较多日志文gq将它们存储于logs/目录Q在opentaps-0.9或更早版本中Q或framework/logs/Q在opentaps-0.9之后版本Q,文g有:
 - ofbiz.log.? - 记录所有OFBiz生成日志信息。此文g在满时自动循环创徏新文Ӟ即ofbiz.log是当前日志文Ӟofbiz.log.1是较早些旉的日志文Ӟofbiz.log.2是比ofbiz.log.1更早旉的日志文Ӟ以此cL?br />  - console.log - 记录所有OFBiz在控制台界面q行昄的内宏V也有可能无效?br />  - access_log.? - cM于Apache httpd日志格式记录所有服务请求。很漂亮但对调试没有什么用处?/p>

大多数据旉Q你可以通过ofbiz.log或console.log来查询调试信息。因为它们有很多内容Q所以你最好用一个可以翻与q行查找的编辑器来打开q些日志文g?/p>


3、查找日志信?br /> Java日志信息最Ҏ查找。它们的日志信息中通常有类名与行号生成Q?/p>

111770[PaymentGatewayServices.java:776:INFO ] (Capture) Invoice [#10110] total: 38.54

MinilangҎ日志中的cd均ؓLog.javaQ如Q?/p>

112499[                Log.java:103:INFO ] Finished quickShipEntireOrder:\nshipmentShipGroupFacilityList=[[shipmentId=10120, facilityId=WebStoreWarehouse, shipGroupSeqId=00001]]\nsuccessMessageList=[Created shipment with ID [10120] for ship group ID [00001] for facility ID [WebStoreWarehouse]]

如果你在beanshell中直接用输出,你输出的内容显著的昄于日志文件中Q?/p>

2006-07-19 13:46:26,373 [  ServiceDispatcher.java:450:DEBUG] [[Sync service finished- total:0.027,since last(Begin):0.027]] - 'ecommerce / getProductCategoryAndLimitedMembers'
parentCategory = TABLE-LINENS-SOLIDS 
2006-07-19 13:46:26,874 [      PriceServices.java:802:INFO ] PromoPrice and ProductPriceAction had null amount and no default price was available, using list price: 2.0 for product with id 15899

如果你在beanshell中用调试方法,你将在日志中得到如下信息Q?/p>

2006-07-19 13:46:26,373 [  ?:?] parentCategory = TABLE-LINENS-SOLIDS

你可以ؓ那些无法发现日志信息的minilang或beanshell代码中加入自q信息输出?/p>

所有freemarkerQscreen-widget或form widget输出的信息将直接昄在你的浏览器屏幕上。除非这些控件崩溃否则不会显CZQ何日志信息?/p>

4. 增加你自q日志信息
在Java中增加你自己的日志信息,请用OFBiz Debugc?org.ofbiz.base.util.Debug)中的调试ҎQ如logInfoQlogWarning, logError...
 CZQ?nbsp;  Debug.logInfo("Now processing invoice " + invoiceId, module);

在beanshell中增加日志信息,同样使用DebugҎQ但在内容中忽略?"q样内容?/p>

在freemarker中增加日志信息,只需要显CZ打算跟踪的变量,如:

   ${invoice}  <#-- 显C?nbsp;invoice 的一般属性?->
   ${invoice.invoiceId}  
<#-- 显Cinvoice.invoiceId属性?nbsp;-->

 

在minilang中增加日志信息,使用<log >指oq输入你的|比如在freemarker中:

   ${invoice}  <#-- will display the entire GenericValue invoice -->
   ${invoice.invoiceId}  
<#-- will display the invoiceId field of invoice -->


通常level节点属性用于设|日志别,如:"info", "warning", "error"Q对应于Debug中的同名Ҏ?/p>


5. 何时需要重启OFBiz

你在做如下更Ҏ需要重新启动OFBiz服务器:
- Java文gQ记得要重新~译Q?br /> - 配置/.properties文g
- entitymodel或entitygroup XML定义文g
- 服务或secas XML文g
- JPublish XML文g

你在q行以下修改时无需重新启动OFBiz服务器:
- freemarker FTL模版
- beanshell BSH模版
- Screens XML文g
- Forms XML文g
- 控制器XML文gQ注意:在opentaps-0.8和OFBiz 3.x及更早版本中Q你在更Ҏ制器旉要重启)
但有可能你需要在览器中清除~存?br />  

6. 常见错误及其含义Q?br />

Cannot locate service by name (captureBillingAccountPayment)

   * 此服?(captureBillingAccountPayment) 在所?services.xml 定义中都找不?
Cannot find service location (org.ofbiz.order.order.OrderServices)
   * 说明在services XML定义点上指向的资源不存在.  如果q是一个minilang或beanshell服务Q即服务引擎无法扑ֈ此文件。如果这是一个Java服务Q则说明在classpath中无法查扑ֈq个cR?/p>

Service method does not exist (com.opensourcestrategies.financials.invoice.InvoiceServices.setInvoiceDueDate(org.ofbiz.service.DispatchContext, java.util.Map))

   * 含义是在某个services.xml指定的这个服务不存在对应的JavaҎ。通常发生于你在修改了Java文g后忘记再ơ编译它来新增的方法生效?/p>

java.lang.IllegalArgumentException: Could not get next sequenced ID for sequence name: Party (Could not get next sequenced ID for sequence name: Party).   

   * pȝ无法取得实体的下一个自动IDQ通常发生于数据库断开情况?/p>

ERROR: insert or update on table "inventory_item" violates foreign key constraint "inv_item_facility"


   * ?inventory_item"表的插入/修改操作时违?inv_item_facility"外键U束?/p>

Error calling event: org.ofbiz.webapp.event.EventHandlerException: Service invocation error (Commit transaction failed)

   * q是一个非o厌的错误信息。通常它意味着你访问的服务所触发的ECA链服务中有一个服务失败,于是D全部的操作失败。服务引擎无法ؓ你进一步跟t,所以你需要进入log文g中进一步查N误原因。访问你的logs/ofbiz.log 或logs/console.log文gM解触发错误的Ҏ原因?/p>

Unable to bind UserTransaction/TransactionManager to JNDI

   * q是在opentaps 0.8/0.9及OFBiz的pre-Geronimo版本在Linuxpȝ下可能会发生的一个问?  解决Ҏ可以在以下网址中找?  
     http://lists.ofbiz.org/pipermail/users/2004-June/004094.html

Message: The entity name must immediately follow the '&' in the entity reference.
org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.

   * q是一?XSL:FO 错误q意味着你在文本中了字W?&'Q比如说你在描述或地址中了这个字W?XSL:FO 使用xml属性格式,所以你需要确认你在文本字D后攄?xml?br />

本文档译自ofbiz 4.0 cookbooks,本h译,Ƣ迎转蝲,h明出?

shanghai_spark 2008-10-08 22:44 发表评论
]]>
安装OFBiz 4.0开发环?/title><link>http://m.tkk7.com/hispark/archive/2008/10/07/232894.html</link><dc:creator>shanghai_spark</dc:creator><author>shanghai_spark</author><pubDate>Tue, 07 Oct 2008 04:55:00 GMT</pubDate><guid>http://m.tkk7.com/hispark/archive/2008/10/07/232894.html</guid><wfw:comment>http://m.tkk7.com/hispark/comments/232894.html</wfw:comment><comments>http://m.tkk7.com/hispark/archive/2008/10/07/232894.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.tkk7.com/hispark/comments/commentRss/232894.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/hispark/services/trackbacks/232894.html</trackback:ping><description><![CDATA[  <p><span style="font-family: 宋体"><strong>准备工作Q?/strong></span></p> <p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt">1?nbsp;<span style="font-family: 宋体">安装</span>JDK 1.5<span style="font-family: 宋体">或以上版本,讄?/span>JAVA_HOME</p> <p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt">2?nbsp;<span style="font-family: 宋体">安装</span>MySQL 5.0<span style="font-family: 宋体">或以上版?/span></p> <p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt">3?nbsp;<span style="font-family: 宋体">?/span><a >http://www.eclipse.org/downloads/</a><span style="font-family: 宋体">下蝲最?/span>Eclipse<span style="font-family: 宋体">版本Q我下的?/span>3.4.1<span style="font-family: 宋体">版的</span>Eclipse IDE for Java EE Developers<span style="font-family: 宋体">Qƈ解压臛_作目录(我解压至"</span>C:\\"<span style="font-family: 宋体">Q即工作目录?</span>C:\\eclipse"<span style="font-family: 宋体">Q?/span></p> <p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt">4?nbsp;<span style="font-family: 宋体">启动</span>Eclipse<span style="font-family: 宋体">Q通过点击</span>Help<span style="font-family: 宋体">菜单中的</span>Software Updates...<span style="font-family: 宋体">启动</span>Software Updates<span style="font-family: 宋体">向导界面Q新?/span>subclipse<span style="font-family: 宋体">q程站点Q远E下载地址?/span>http://subclipse.tigris.org/update_1.0.x<span style="font-family: 宋体">Q勾选下载安?/span>Subclipse Plugin<span style="font-family: 宋体">后点?/span>Intasll<span style="font-family: 宋体">按钮安装<br /> </span></p> <p><span style="font-family: 宋体">    <img style="width: 526px; height: 296px" height="296" alt="Subclipse Plugin安装" src="http://m.tkk7.com/images/blogjava_net/hispark/ofbiz1.JPG" width="526" border="0" /><br /> <br /> <strong>Z码:</strong></span></p> <p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt">1?nbsp;<span style="font-family: 宋体">在新?/span>…<span style="font-family: 宋体">向导对话框中选择?/span>SVN<span style="font-family: 宋体">中检出项?br /> <img height="499" alt="SVN出项? src="http://m.tkk7.com/images/blogjava_net/hispark/ofbiz2.JPG" width="522" border="0" /><br /> <br /> </span></p> <p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt">2?nbsp;<span style="font-family: 宋体">?/span>SVN<span style="font-family: 宋体">Z|?/span>URL<span style="font-family: 宋体">框中输入Q?/span><a href="http://svn.apache.org/repos/asf/ofbiz后点M一?>http://svn.apache.org/repos/asf/ofbiz</a><span style="font-family: 宋体">后点?/span>Next<span style="font-family: 宋体">?br /> <img height="502" alt="查ofbiz代码" src="http://m.tkk7.com/images/blogjava_net/hispark/ofbiz3.JPG" width="527" border="0" /><br /> </span></p> <p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt">3?nbsp;<span style="font-family: 宋体">选择文g?/span>"branches"release4.0<span style="font-family: 宋体">后点?/span>Finish<span style="font-family: 宋体">?br /> </span></p> <p><span style="font-family: 宋体">    <img height="500" alt="选择SVN出文件夹" src="http://m.tkk7.com/images/blogjava_net/hispark/ofbiz4.JPG" width="526" border="0" /><br /> </span></p> <p><span style="font-family: 宋体"><br /> <strong>数据库配|?</strong>[可以参考我写的</span><a title="opentaps 1.0.2安装(mysql)" href="http://m.tkk7.com/hispark/archive/2008/10/02/232097.html" target="_blank">opentaps 1.0.2<span style="font-family: 宋体">安装</span>(mysql)</a><span style="font-family: 宋体">一文]Q?/span></p> <p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt">1?nbsp;<span style="font-family: 宋体">通过</span>mysql<span style="font-family: 宋体">命o行来创徏</span>obfiz<span style="font-family: 宋体">q行所需数据库,Z方便识别Q我们这里就?/span>ofbiz<span style="font-family: 宋体">来做数据库吧?/span></p> <p style="text-indent: 21pt">mysql> create database ofbiz;</p> <p>       mysql> exit</p> <p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt">2?nbsp;<span style="font-family: 宋体">~辑</span>ofbiz<span style="font-family: 宋体">目录中的</span>framework/entity/config/entityengine.xml<span style="font-family: 宋体">文gQ其能正确q接C?/span>mysql<span style="font-family: 宋体">数据库中Q注意其中的</span>ofbiz-user<span style="font-family: 宋体">?/span>ofbiz-password<span style="font-family: 宋体">Q把它们Ҏ你实际的数据库连接用户名与密码)?/span></p> <p><span style="font-family: 宋体">其中的</span><delegator name="default"...> <span style="font-family: 宋体">D中?/span>"datasource-name"<span style="font-family: 宋体">从原来的</span>"local" <span style="font-family: 宋体">改ؓ</span> "localmysql"</p> <p><span style="font-family: 宋体">~辑</span><datasource name="localmysql"...> <span style="font-family: 宋体">D内容,修改</span>"jdbc-uri"<span style="font-family: 宋体">?/span>"jdbc:mysql://127.0.0.1/ofbiz?autoReconnect=true"<span style="font-family: 宋体">Q修?/span>"jdbc-username"/ "jdbc-password"<span style="font-family: 宋体">Z?/span>mysql<span style="font-family: 宋体">q接用户?/span>/<span style="font-family: 宋体">密码Q修?/span>character-set="gbk"<span style="font-family: 宋体">Q?/span>collate="gbk_bin",<span style="font-family: 宋体">CZ如下</span>:<br /> </p> <p> </p> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080"> 1</span><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000"> </span><span style="color: #0000ff"><</span><span style="color: #800000">delegator </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="default"</span><span style="color: #ff0000"> entity-model-reader</span><span style="color: #0000ff">="main"</span><span style="color: #ff0000"> entity-group-reader</span><span style="color: #0000ff">="main"</span><span style="color: #ff0000"> entity-eca-reader</span><span style="color: #0000ff">="main"</span><span style="color: #ff0000"> distributed-cache-clear-enabled</span><span style="color: #0000ff">="false"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 2</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080"> 3</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">group-map </span><span style="color: #ff0000">group-name</span><span style="color: #0000ff">="org.ofbiz"</span><span style="color: #ff0000"> datasource-name</span><span style="color: #0000ff">="localmysql"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 4</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080"> 5</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="color: #0000ff"></</span><span style="color: #800000">delegator</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 6</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080"> 7</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="color: #0000ff"><</span><span style="color: #800000">delegator </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="default-no-eca"</span><span style="color: #ff0000"> entity-model-reader</span><span style="color: #0000ff">="main"</span><span style="color: #ff0000"> entity-group-reader</span><span style="color: #0000ff">="main"</span><span style="color: #ff0000"> entity-eca-reader</span><span style="color: #0000ff">="main"</span><span style="color: #ff0000"> entity-eca-enabled</span><span style="color: #0000ff">="false"</span><span style="color: #ff0000"> distributed-cache-clear-enabled</span><span style="color: #0000ff">="false"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 8</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080"> 9</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">group-map </span><span style="color: #ff0000">group-name</span><span style="color: #0000ff">="org.ofbiz"</span><span style="color: #ff0000"> datasource-name</span><span style="color: #0000ff">="localmysql"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> </span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="color: #0000ff"></</span><span style="color: #800000">delegator</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> </span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">13</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="color: #0000ff"><</span><span style="color: #800000">delegator </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="test"</span><span style="color: #ff0000"> entity-model-reader</span><span style="color: #0000ff">="main"</span><span style="color: #ff0000"> entity-group-reader</span><span style="color: #0000ff">="main"</span><span style="color: #ff0000"> entity-eca-reader</span><span style="color: #0000ff">="main"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> </span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">15</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">group-map </span><span style="color: #ff0000">group-name</span><span style="color: #0000ff">="org.ofbiz"</span><span style="color: #ff0000"> datasource-name</span><span style="color: #0000ff">="localmysql"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> </span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="color: #0000ff"></</span><span style="color: #800000">delegator</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> </span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="color: #0000ff"><</span><span style="color: #800000">delegator </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="other"</span><span style="color: #ff0000"> entity-model-reader</span><span style="color: #0000ff">="main"</span><span style="color: #ff0000"> entity-group-reader</span><span style="color: #0000ff">="main"</span><span style="color: #ff0000"> entity-eca-reader</span><span style="color: #0000ff">="main"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> </span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">group-map </span><span style="color: #ff0000">group-name</span><span style="color: #0000ff">="org.ofbiz"</span><span style="color: #ff0000"> datasource-name</span><span style="color: #0000ff">="localmysql"</span><span style="color: #0000ff">/></span><span style="color: #000000">        <br /> </span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">23</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />   </span><span style="color: #0000ff"></</span><span style="color: #800000">delegator</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> </span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">25</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />…<br /> </span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">27</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></span></div> <p><br />  </p> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080"> 1</span><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff"><</span><span style="color: #800000">datasource </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="localmysql"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080"> 2</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080"> 3</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />            helper-class</span><span style="color: #0000ff">="org.ofbiz.entity.datasource.GenericHelperDAO"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080"> 4</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080"> 5</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />            field-type-name</span><span style="color: #0000ff">="mysql"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080"> 6</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080"> 7</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />            check-on-start</span><span style="color: #0000ff">="true"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080"> 8</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080"> 9</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />            add-missing-on-start</span><span style="color: #0000ff">="true"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">10</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">11</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />            check-pks-on-start</span><span style="color: #0000ff">="false"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">12</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">13</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />            use-foreign-keys</span><span style="color: #0000ff">="true"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">14</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">15</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />            join-style</span><span style="color: #0000ff">="ansi-no-parenthesis"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">16</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">17</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />            alias-view-columns</span><span style="color: #0000ff">="false"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">18</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">19</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />            drop-fk-use-foreign-key-keyword</span><span style="color: #0000ff">="true"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">20</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">21</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />            table-type</span><span style="color: #0000ff">="InnoDB"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">22</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">23</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />            character-set</span><span style="color: #0000ff">="gbk"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">24</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">25</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />            collate</span><span style="color: #0000ff">="gbk_bin"</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> </span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">27</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">read-data </span><span style="color: #ff0000">reader-name</span><span style="color: #0000ff">="seed"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> </span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">29</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">read-data </span><span style="color: #ff0000">reader-name</span><span style="color: #0000ff">="demo"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> </span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">31</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">read-data </span><span style="color: #ff0000">reader-name</span><span style="color: #0000ff">="ext"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> </span><span style="color: #008080">32</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">33</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">inline-jdbc<br /> </span><span style="color: #008080">34</span><span style="color: #800000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">35</span><span style="color: #800000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />                </span><span style="color: #ff0000">jdbc-driver</span><span style="color: #0000ff">="com.mysql.jdbc.Driver"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">36</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">37</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />                jdbc-uri</span><span style="color: #0000ff">="jdbc:mysql://127.0.0.1/ofbiz?autoReconnect=true"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">38</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">39</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />                jdbc-username</span><span style="color: #0000ff">="ofbiz-user"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">40</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">41</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />                jdbc-password</span><span style="color: #0000ff">="ofbiz-password"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">42</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">43</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />                isolation-level</span><span style="color: #0000ff">="ReadCommitted"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">44</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">45</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />                pool-minsize</span><span style="color: #0000ff">="2"</span><span style="color: #ff0000"><br /> </span><span style="color: #008080">46</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">47</span><span style="color: #ff0000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" />                pool-maxsize</span><span style="color: #0000ff">="20"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> </span><span style="color: #008080">48</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /><br /> </span><span style="color: #008080">49</span><span style="color: #000000"><img alt="" src="http://m.tkk7.com/images/OutliningIndicators/None.gif" align="top" /></span></div> <p><br /> <br />    3?nbsp;<span style="font-family: 宋体">pȝ初始?/span></p> <p style="margin-left: 42pt"><span style="font-family: 宋体">在命令行H口下,q入</span>ofbiz<span style="font-family: 宋体">根目录后q行</span></p> <p style="margin-left: 42pt">ant run-install</p> <p style="margin-left: 42pt"><span style="font-family: 宋体">pȝ开始安装,{大U?/span>15-30<span style="font-family: 宋体">分钟后,pȝ提示安装完成?br /> </span></p> <p><span style="font-family: 宋体"><br /> <strong>启动</strong></span><strong>ofbizQ?/strong></p> <p><span style="font-family: 宋体">有两U方式可以启?/span>ofbiz<span style="font-family: 宋体">Q?/span></p> <p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt">1?nbsp;<span style="font-family: 宋体">双击根目录下?/span>startofbiz.bat<span style="font-family: 宋体">启动</span></p> <p style="margin-left: 18pt; text-indent: -18pt; tab-stops: list 18.0pt">2?nbsp;<span style="font-family: 宋体">?/span>eclipse<span style="font-family: 宋体">中用鼠标右键点击</span>build.xml<span style="font-family: 宋体">Q在右键菜单中选择</span>Run As->Ant Build…<span style="font-family: 宋体">在弹出的构徏对话框中</span>targets<span style="font-family: 宋体">选项卡中N?/span>run<span style="font-family: 宋体">后点?/span>run<br /> </p> <p><span style="font-family: 宋体">    <img style="width: 629px; height: 504px" height="504" alt="OFBiz ANTq行配置界面" src="http://m.tkk7.com/images/blogjava_net/hispark/ofbiz5.JPG" width="629" border="0" /><br /> <br /> <strong>讉K</strong></span><strong>ofbizQ?/strong><br /> </p> <p>打开览器访问:<a href="https://localhost:8443/webtools/control/main">https://localhost:8443/webtools/control/main</a>点击屏幕x的Login链接后进行登录,d后就可以讉K你希望的功能Ҏ,pȝ默认帐号为admin/ofbizQ拥有所有权限?br />     <img height="404" alt="OFBizȝ? src="http://m.tkk7.com/images/blogjava_net/hispark/ofbiz-mai.JPG" width="639" border="0" /></p> <p>本h原创文章Q欢q{载,转蝲h明出处!</p> <img src ="http://m.tkk7.com/hispark/aggbug/232894.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/hispark/" target="_blank">shanghai_spark</a> 2008-10-07 12:55 <a href="http://m.tkk7.com/hispark/archive/2008/10/07/232894.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>opentaps 1.0.2的partice(l习)例子http://m.tkk7.com/hispark/archive/2008/10/03/232180.htmlshanghai_sparkshanghai_sparkFri, 03 Oct 2008 04:00:00 GMThttp://m.tkk7.com/hispark/archive/2008/10/03/232180.htmlhttp://m.tkk7.com/hispark/comments/232180.htmlhttp://m.tkk7.com/hispark/archive/2008/10/03/232180.html#Feedback5http://m.tkk7.com/hispark/comments/commentRss/232180.htmlhttp://m.tkk7.com/hispark/services/trackbacks/232180.html
自己吃的苦就不希望后来者再一遍喽Q整理下攑֜q里Q待有缘人来取,?..

本h制作Q欢q{载,转蝲h明出处!

下蝲地址

shanghai_spark 2008-10-03 12:00 发表评论
]]>
opentaps 1.0.2安装(mysql)http://m.tkk7.com/hispark/archive/2008/10/02/232097.htmlshanghai_sparkshanghai_sparkThu, 02 Oct 2008 07:26:00 GMThttp://m.tkk7.com/hispark/archive/2008/10/02/232097.htmlhttp://m.tkk7.com/hispark/comments/232097.htmlhttp://m.tkk7.com/hispark/archive/2008/10/02/232097.html#Feedback12http://m.tkk7.com/hispark/comments/commentRss/232097.htmlhttp://m.tkk7.com/hispark/services/trackbacks/232097.htmlopentaps是一个基于ofbiz基础开发的完全开源的企业U应用系l。它包括了完整的ERP和CRM解决Ҏ和内建的企业工具?/p>

opentaps现在在国内应用面不象sugarcrm/vtigercrmq些企业应用那样普遍Q我惛_大程度是׃JavaEE应用的逻辑l构严}与复杂度军_其不象PHP应用那样Ҏ拆分按需阅读切入。了解一个JavaEE的应用需要先了解其构造的框图、分层结构、每层实现的技术方式以及采用的技术。对于OFBizq样一个野心极大要囊括几乎所有企业应用层面的目Q想要掌握它更难上加难了,也许我们可以选择单开始,先从文档的中文化与由入繁的练习中开始了解这个庞大的开源项目?/p>


闲话说Q我们先从opentaps的安装开始,让我们能够在自己的机器上跑vopentaps开始,也许你一直在L的企业应用已l全部在此喽Q?/p>

准备工作Q?br /> 1、安装JDK 1.5或以上版本,q在pȝ中设|好JAVA_HOME及相关PATH
2、安装MYSQL 5.0或以上版?br /> 3、安装ANT1.7或以上版本,q在pȝ中设|好ANT_HOME及相关PATH
4、从以下地址下蝲opentaps 1.0.2二进制版?br /> http://nchc.dl.sourceforge.net/sourceforge/opentaps/opentaps-1.0.2-all-platforms.zip

开始安装:
1、通过mysql命o行来创徏opentaps所需数据库,Z方便识别Q我们这里就用opentaps来做数据库吧?br /> mysql> create database opentaps;

2、将下蝲的opentaps-1.0.2-all-platforms.zip解压至你的工作目录?/p>

3、编辑opentaps目录中的framework/entity/config/entityengine.xml文gQ其能正确q接C的mysql数据库中?br /> 3.1 其中的<delegator name="default"...> D中?datasource-name"从原来的"local" 改ؓ "localmysql"
3.2 ~辑<datasource name="localmysql"...> D内容,修改"jdbc-uri"?jdbc:mysql://127.0.0.1/opentaps?autoReconnect=true"Q修?jdbc-username"/ "jdbc-password"Z的mysqlq接用户?密码Q修改character-
set="gbk"Qcollate="gbk_bin",CZ如下:

 

    <delegator name="default" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" distributed-cache-clear-enabled="false">
        
<group-map group-name="org.ofbiz" datasource-name="localmysql"/>
    
</delegator>
    
<delegator name="default-no-eca" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main" entity-eca-enabled="false" distributed-cache-clear-enabled="false">
        
<group-map group-name="org.ofbiz" datasource-name="localmysql"/>
    
</delegator>

    
<delegator name="test" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main">
        
<group-map group-name="org.ofbiz" datasource-name="localmysql"/>
    
</delegator>
    
<delegator name="other" entity-model-reader="main" entity-group-reader="main" entity-eca-reader="main">
        
<group-map group-name="org.ofbiz" datasource-name="localmysql"/>        
    
</delegator>




    
<datasource name="localmysql"
            helper-class
="org.ofbiz.entity.datasource.GenericHelperDAO"
            field-type-name
="mysql"
            check-on-start
="true"
            add-missing-on-start
="true"
            check-pks-on-start
="false"
            use-foreign-keys
="true"
            join-style
="ansi-no-parenthesis"
            alias-view-columns
="false"
            drop-fk-use-foreign-key-keyword
="true"
            table-type
="InnoDB"
            character-set
="gbk"
            collate
="gbk_bin">
        
<read-data reader-name="seed"/>
        
<read-data reader-name="demo"/>
        
<read-data reader-name="ext"/>
        
<inline-jdbc
                
jdbc-driver="com.mysql.jdbc.Driver"
                jdbc-uri
="jdbc:mysql://127.0.0.1/opentaps?autoReconnect=true"
                jdbc-username
="opentaps"
                jdbc-password
="opentaps-password"
                isolation-level
="ReadCommitted"
                pool-minsize
="2"
                pool-maxsize
="20"/>



4、进行系l初始化
在命令行H口下,q入opentaps根目录后q行
ant run-install
pȝ开始安装,{大U?5-30分钟后,pȝ提示安装完成?/p>


启动opentaps
双击q行opentaps目录下的startofbiz.bat命o卛_Q请注意控制台输入默认输log下的ofbiz.log中,所以无法从控制C判断pȝ是否启动完成Q一般需{待两到五分钟。也可以输出改回至console?/p>

讉Kopentaps
打开览器访问:http://localhost:8080/
点击你希望访问的功能Ҏ,pȝ默认帐号?br /> admin/ofbizQ拥有所有权限?/p>

 

 本h原创文章Q欢q{载,转蝲h明出处!



shanghai_spark 2008-10-02 15:26 发表评论
]]>
opentaps CRM 部分概览(l?http://m.tkk7.com/hispark/archive/2008/10/01/231998.htmlshanghai_sparkshanghai_sparkWed, 01 Oct 2008 07:55:00 GMThttp://m.tkk7.com/hispark/archive/2008/10/01/231998.htmlhttp://m.tkk7.com/hispark/comments/231998.htmlhttp://m.tkk7.com/hispark/archive/2008/10/01/231998.html#Feedback2http://m.tkk7.com/hispark/comments/commentRss/231998.htmlhttp://m.tkk7.com/hispark/services/trackbacks/231998.htmlU烦、联pMh和客h?/strong>

在CRM应用中有一个核心应用是线?潜在客户转化成客戗在opentaps中的CRM应用Q潜在客h在[U烦]中做为线索创建的。一个线索是一个公叔R的一个联lh且不能拥有更多的相关联络信息。在你进行线索筛选后Q例如进行了电话跟进Q你可以标记此线索有效。这Ӟ当线索变成客P你可以将U烦转换成客户客户和一个联lh。你也可以ؓq个客户客户建立更多的联pMh信息?/p>

注意如果你有关于同一家公司客L多个U烦Ӟpȝ允许你徏立它们ؓ不同的线索,而把它们转换成一个客户客戗线索{换屏q允怽选择一个已l存在的客户客户?/p>

q里没有关于什么样的线索可以{换成一个客户客L正式要求——你可以按照你自q应用需求来q行调整?/p>

技术性备注:做ؓ一个客戗线索或客户Q一个参与者必L?#8220;Account”, “Contact”,?“Prospect” 的PartyRoleq要与另一个参与者有一个PartyRelationship。因此,不满x要求的OFBiz参与者是不能做ؓ一个account, lead, 或contact的。同P一个客户客h一个OFBiz的PartyGroupQ线索和联系人是一个OFBiz Person?/p>

客户

?.9.1版本之前Q客h有者默认是可以理客户l,但不能ؓ此客户创建机会。因此,在你创徏一个客户后Q你除了无法创徏Z外可以做M事。创Z个客LQ且你在此组上有拥有完整的用P?写)使用权限Ӟ你可以创建机会?/p>

?.9.1版本之后Q客h有者可以ؓ其创建机会?/p>

每个客户可以拥有一个父U客P父客户可以在[创徏客户]或在修改时输入?/p>

客户列表Ҏ客户名称排序?/p>

联系?/strong>

在联pMh创徏后,联系人可以通过客户主页面上[新联pMh]菜单或是联系Z面上的[新客户]方式来加入到客户上?/p>

联系人列表根据联pMh的姓/名排序?/p>

U烦

U烦是一个原始状态的联系?客户信息。当一个线索进行{换后Q将后生成一个联pMh与客戗?/p>

U烦可以拥有父对象。此父对象应是一个已存在的客戗?/p>

U烦默认会被分配l线索创?/p>

当你q行一个线索识别后Q点击[U烦识别]来标识它已经通过“识别”?/p>

当你转换一个线索,你将被带C个屏qƈ被询问是做ؓ一个新建客戯是一个已存在的客L联系人。如果此U烦的公司已l被建立Q选择已存在的客户。否则,保持此字DؓI。线索中关于联络人的信息会被{换成一个联pMh。如果选择了一个已存在的客PU烦{换成它的联系人。如果未选择已存在的客户Q将会基于线索中的公怿息创Z个新的客PU烦信息成为此客户的一个联pMh?/p>

U烦在{换成联系?客户时必L有公司名U才会{换成功?/p>


注意Q如果你在{换线索时选择了一个已存在的客Pq时U烦中的所有公怿息将会丢失。这包括Q?#8220;公司名称”?#8220;q营业额”?#8220;行业”…

在拥有关联机会的U烦q行转换Ӟ兌Z同将会自动{换成目标客户、联pMh的机会信息?/p>

如果你根据线索生成了一个新的客PU烦中的联系信息Q地址、电话、电邮)自动转换成客户中的联pM息。如果你Z一个已存的客户q行转换U烦Q则U烦中的联系信息不会拯到客户中?/p>

U烦在未识别或{换前可以被删除(CZQ还处于“新徏”?#8220;被分?#8221;状态)。在0.9.1版本前,你不能删除Q何拥有关联活动(事g或Q务,如电子邮Ӟ的线索?/p>

U烦列表可以ҎU烦中的公司名称、姓、名的Q一Ҏ?/p>

合ƈU烦/联系?客户

?.9.1版本开始,你可以将重复的线?联系?客户q行合ƈ。用左边的快捷菜单中[合ƈ___]链接q输入从-和至- U烦/联系?客户的partyId。页面将会要求你q行认Q在你确认合q操作后Q?/p>

合ƈҎ中来源的线?联系?帐户信息可能不支持过多的数据?/p>

Z

当机会刚建立Ӟ阶段是用于表明机会成功的概率Q成功概率可以在以后q行修改Q但是当它更新到一个新的阶D,概率׃自动更新x阶段的概率。估计结束日期是用于提供Z未来预期情况?/p>

一个机会只能在来源于一个帐户但可以兌多个联系人?/p>

在编?更新ZӞ你必d于其所属帐LQ在帐户上创建机会时Q你一定有权限更新此帐戗更新机会要求你填写更改备注?/p>

在版?.9.1Q机会可以在U烦识别后创Z个机会。当U烦转换后,Z同时关联于帐户与联pMh?/p>

注意Z?#8220;预测关闭日期”实际上存储做Z个日?旉QJava中的TimestampcdQ,

Z阶段的概率存储于SalesOpportunityStage.defaultProbability字段

案例

案例必须创徏兌于至一个帐h联系人。一个案例可以有多个联系人或帐户关例Q虽然现在没有与之关联的接口?/p>

“我的案例”昄所有分配给你的帐户或联pMh相关的案例。它默认分配l用h限是Q如果你被分配一个帐P而它有关联的案例Q那q个案例属于你?/p>

更新案例Ӟ你需要拥有相关的帐户/联系人权限?/p>

案例关闭需要特别的权限?/p>

发送电子邮?/strong>

在帐P联系人或U烦的联pMh信息屏幕中,你可以点MQ何的电子邮gQ将弹出一个发送邮件的屏幕。你可以输入另一个电子邮件地址或查询机?案例。当你完成时Q你可以点击[发送]邮g或[保存以后发送]。[保存以后发送]把电子邮g保存为收件h的一个待办活动。在成功发送后Q电子邮件将保存为活动历史的一部分?/p>

如果电子邮g地址不是收g人参与者的电子邮g地址Q你获得一个错误?/p>

注意[文本]和[文本]按钮切换电子邮件MIME格式为文本与文本,但当前超文本~辑器还没有整合q来。因此,如果你打用超文本格式邮gӞ直接通过_脓或编写html格式内容。已计划提供一个整合浏览器的超文本~辑器?/p>

{选接收的电子邮g

在opentaps0.9.1QCRM/SFA应用可以{选你接收的电子邮Ӟ它们保存ؓpȝ的通讯zdQ且它们关联到你的用户、联pMh、帐hU烦上。配|此功能Q首先应按照“Configuration and Setup”q行邮g容器的配|。接着~辑此文?/p>

hot-deploy/crmsfa/servicedef/smcas.xml

把用于接攉件的L信息Ҏ后Q重启你的服务,pȝ开始览视你的主机ƈ且保存新的电子邮件。它根据邮件的来源电子邮g地址试匚w你的帐户/U烦/联系人,Ҏ接收?抄送电子邮件地址匚w你的CRM用户?/p>

在接收到一新的电子邮件时Q它在pȝ中记录ؓ一个通讯事gQCommunicationEventQ。如果来源电子邮件地址匚w了一个参与者电子邮件地址Q帐戗线索或联系人)Q它被记录为来源于参与者。如果接攉件地址匚w另一个参与者的电子邮g地址Q它被记录为发送给该参与者的电子邮g。(技术备注:CRM/SFA应用使用OFBiz storeIncomingEmail服务Q当使用WorkEffort调用和关联收件h做ؓWorkEffort的参与者)

新电子邮件做为关联于参与者(帐户、线索、联pMhQ和接收者(用户Q的一个待办活动创建。当你登录至CRM/SFA应用Ӟ你将可以?#8220;待办zd”列表中查看到你收到的邮g且在发g人(帐户/U烦/联系人)?#8220;待办zd”中查看到它。你可以点击q个zd查看电子邮gQ这把它标Cؓ开始,当你完成时将把它标记为结束(技术备注:CRM/SFA应用把电子邮g的通讯事gCommunicationEvent在你开始活动时标记为待?#8220;Pending”Q结束时标记为完?#8220;Complete”Q?/p>

未关联到M参与者的电子邮g保存在pȝ中。你可以使用参与者管理应用来q行手工{选。在[Party]>[Comm]查询cd?#8220;自动电子邮g”状态ؓ“未知参与?#8221;的通讯事g。然后编辑它们关联至pȝ用户Q标记它们ؓ“完成”?/p>

zd

q里有两U活动类型:d和事件。事件用于显C在日历中的会议。Q务是电话、电子邮件或不显C在日历中的普通Q务。在你初ơ登录时可以?#8220;我的起始?#8221;中显C待办活动列表,它们包括事g与Q务?/p>

事g可以通过日程Q点L间图标)或帐戗联pMh、线索、案例、机会屏q两U方式创建。Q务只能在后者或d列表中创建,因ؓ它们是不在日历中昄的?/p>

当你创徏一个活动时QQ务或事gQ,你可以输入计划的起始日期/旉和持l的期间。如果用户在此期间将会忙于处理此事,则点?#8220;?#8221;?#8220;d”。如果有另一个Q务或事g已经在用此时段q标Cؓ“?#8221;?#8220;d”Q将会生一个错误信息。如果你坚持要用此时估Q点?#8220;忽略日程冲突”。当你更C件时Q你一样需要设|?#8220;忽略日程冲突”如果它与已存在的事g旉冲突?/p>

记录一件已发生q的zd时。这些活动将会创建做为完成的Q用户也会要求输入实际的开始与l束旉?/p>

划某事创Z个新的活动,事g或Q务时Q用戯入计划开始时间和l束日期。原状态ؓ“计划”的事件可以ؓ“已确?#8221;。当认后,你可以在事g中加入参与者ƈ通过发送邮仉请他们。加入一个参与者自动确认他们。邀请他们发送发送电子邮件。输入的备注被包含在其中,而且q个电子邮g包含两个链接:接入与拒l?/p>

如果参与者已l在相同时段|?#8220;?#8221;于另一个事件或dQ他们是无法加入C件中。如果未讄状态,则此D|间被假设为可用?/p>

当你拥有自己的事件时Q你可以在发生期间内Q开始至l束旉Q内把它标记?#8220;已完?#8221;?/p>

q有一个Q务创Zؓ“已计?#8221;Ӟ当用户准备开始此zdQ更CQ务至“已开?#8221;且输入开始时间。如果未输入旉Q系l将记录当前旉做ؓ开始时间。类似地Q当用户准备标记它完成时Q?#8220;已完?#8221;Q,如果未输入时_pȝ记录当前时间做为完成时间?/p>

至于一电子邮Ӟ当你点击[发送电子邮件]pȝ记录它作ؓ开始时间。当你点击[发送]Q系l记录它作ؓl束旉。如果你保存以后发送,此活动将不会记录它ؓ完成直至你实际发送此邮g?/p>

当查看活动时Q你在上面查看到活动的详细内容Q在中间的关联的zd参与者(帐户/联系?U烦/l成员)、如果这是封电子邮gQ电子邮件在下方。注意OFBiz设计为允许每个work effort中允许多个通讯事gQ但我们在活动中只显C其中的一个。这个概늨微有点落后:在OFBizQ你创徏work effort作ؓ“目”q与很多电子邮gq进行关联。在q里Qwork effor用于分离?#8220;d”Q如发送一个电子邮件。你可以创徏work effort作ؓ目Q但它可以分L调用子Q务。它在Workeffor Manager中支持,但在CRM/SFA中没有这L用法?/p>

当你记录电话或电子邮件时Q?#8220;呼入/呼出”标志参与者是d方还是被动方?/p>

参与者列表显CZQ务或事g的参与者(帐户/联系?U烦Q,当前只有日程拥有者(如活动的创徏人)可以更新参与者可用状态及增加/删除他们。未来版本可能会改变q点限制?/p>

查询zd显C那些已完成的活动或d列表?/p>

当事件被取消Q它不再显CZ日历中?/p>

预测

销售预用机会概率和数据来计在未来旉D늚预期销售额。预来源于Z的计,每个销售员预测Z自己的客h会和U烦相关联的Z计算。与其相关的M客户和已认的线索可以用于计预。因此,所有销售员销售预合计将过整个公司的销售预,因ؓ很多销售员拥有相同的客PZ获得公司的预,每次只一个增加销售经理而且每个客户和线索只计算一ơ?/p>

所有销售员可以创徏自己的预和输入他的销售定额。只有销售经理可以创建组/销售区域的预测。当前每个销售员只能创徏自己的预?/p>

创徏你自q预测Q选择[创徏预测]q择相应的季度来创徏。只有未关闭的季度,卛_q未到结束日期的季度可用于创建预?/p>

你将会被要求输入此季度的按月销售定额。当你完成后Q点击[创徏]。你的销售定额将输入q系l且按月/季度的预将会被创徏军。每个月的销售预计基于:
1Q?nbsp;成交金额=此月状态ؓ“已关?#8221;Z金额累计
2Q?nbsp;最好金?预计在此月关闭的Z金额累计Q不当前的阶段
3Q?nbsp;预测金额=所有高于最低概率的Z金额*概率的篏计金额。最低门槛定义于crmsfa.properties配置文g?


季度预测是基于月度预的累计?/p>

查看M的预需要特别的权限。否则,你只能查看你自己的预?/p>

如果你拥有查看别人预的权限Q点击[查询预测]可以查询其它人的预测。你可以Ҏl成员或旉D|q行查询。查询的预测是按季度的?/p>

默认的,只有销售经理或理员可以修改已存在的预。修改一个预,点击预测的月份,输入修改后的定额Q填写更改备注,然后点击[修改]。此月和季度的预值将会被修改?/p>

每当预测被修改,旧的版本会被保存ؓ历史。当查看预测Ӟ你可以查看整个的预测修改历史Q包括旧版本的修Ҏ期与定额、最好预期和预期Q?/p>

当一个时间段正式关闭或已l束Q对应的预测不允许再修改?/p>

如果在一个时间段已创Z个预,当新的机会创建或已存在的Z更新Ӟ它将自动更新。与该机会相关的客户/U烦相关的预成员将会自动更新。如果机会预计关闭日期被U至一个新的时间段Q受影响的预将会更新。然而如果机会移动到一个未建预的旉ҎQ新的预将会自动徏立?/p>


报h

报h部分允许你ؓ自己的客h看和创徏报h。关键特性包括根据报价名U、类别、状态查询报P创徏报hQ根据报价创单。注意这些屏q同h“订单理”中的报h屏幕的一部分?br /> 报h的重要功能包括:
• [查询报h] –查询报h信息
• [查看报h] – 查看报h的摘要信?br /> • [报h] – 理报h的表头信息,包括客户与仓?br /> • [报hl项] – 增加/删除报h和修改它们的h?br /> • [创徏订单] – Ҏ报h内容创徏订单


订单

订单部分允许你在CRM/SFA应用中查询订单或创徏新订单?/p>

0.9.x版本的订单页是基于OFBiz订单理导入的,可以?#8220;General Overview”中查看相应的详细文档?/p>

1.0.x及之后版本的订单重写支持订单的输入和查询。你可以在此中为客户创建和查询订单?/p>

“我的订单”는于显C当前登录用L订单?/p>

你可以客戯l信息屏q中的订单页中用快速创单,或直接用[创徏订单]链接来创Z个新的订单?/p>

如果你用快速创单,你必输入客戗订单名Uͼ和要求发货日期。你可以输入一个品idQ系l将会加入数量ؓ1.0此品进入你的订单?/p>

注意在订单管理中“要求发货日期”?#8220;发出日期”是相同的。它不是订单理中的“要求发货日期”。那个字D在现阶D不支持?/p>

当你输入所有的订单目后,点击[完成订单]。你查看到一个要求你为每个订单项选择发货目的C方式的屏q。在你确认后Q系l将自动创徏多组分离的目的地与发货方式的发货l?/p>

其它的订单项屏幕与订单管理中的相同?/p>

订单品仓库配|于config/crmsfa.properties文g中。当前CRM订单系l支持每个订单项只来源于一个品仓库。这ơ不支持产品目录?/p>

市场

市场准备用于不同的市场相关的功能。当前只有系l中的调查列表及允许你查看这些调查反馈的l果?/p>

服务调查

q里有一个独立的web应用用于发送客戯查、投。当前,q是一个非常简单的web应用可以用于昄调查Q收集反馈然后向客户{谢?/p>

你可以在内容理中创查,然后通过以下地址讉K它:
http://www.mysite.com/surveys/control?surveyId=${surveyId}
其中${surveyId}是你的调查在内容理中的ID
你可以通过crmsfa/webapp/surveys/子目录中的文件来定制它?/p>

OFBiz

你可以通过crmsfa.properties中的“crmsfa.tab.ofbiz.show”参数来启?用昄q回至OFBiz链接Q如果启用,你将在标{N中查看到OFBiz的链接?/p>

如果你打ؓ你的用户讄讉KOFBiz应用权限Q请查看Security Documentation了解更详l的内容?/p>

技术备注:同其它应用整?/p>

报hQ订单和市场实际上是重用订单管理与内容理Q调查)中的屏幕Q它们是q样做的Q?br /> 1. 在CRM/SFA应用中创铈页?br /> 2. 在web.xml中设|对应应用main-decorator-location 参数Q这栯些屏莫在CRM/SFA应用中调用时Q它们将使用CRM/SFA中的屏幕样式来替代原来的样式昄?br /> 3. 从原来的controller.xml中复制相关的view- ?request-maps?CRM/SFA应用中的controller.xml
4. 在订单项中,原来订单理中客L链接是链接至Party Manger的,而在CRM/SFA中应参C改至客户面?br />
本文档译自opentaps v0.9 manual,本h译,Ƣ迎转蝲,h明出?



shanghai_spark 2008-10-01 15:55 发表评论
]]>
opentaps CRM 部分概览http://m.tkk7.com/hispark/archive/2008/09/28/231718.htmlshanghai_sparkshanghai_sparkSun, 28 Sep 2008 09:46:00 GMThttp://m.tkk7.com/hispark/archive/2008/09/28/231718.htmlhttp://m.tkk7.com/hispark/comments/231718.htmlhttp://m.tkk7.com/hispark/archive/2008/09/28/231718.html#Feedback2http://m.tkk7.com/hispark/comments/commentRss/231718.htmlhttp://m.tkk7.com/hispark/services/trackbacks/231718.htmlCRM/SFA应用用?/p>

CRM/SFA设计用于销售代表、销售经理、客h务代码管理公怸销售和客户服务的应用,它的主要功能ҎQ?br /> • 跟踪销售情?br /> • 识别销售线索ƈ此转换成客?br /> • 跟踪客户联系
• 输入和跟t商机开始到l束的生命周?br /> • 理客户销售报?br /> • 创徏和查看客?联系人销售订?br /> • 生成销售预?br /> • 理客户案例?(客服h?
• 发送电子邮?br /> • 理zd和工作,包括会议、电话、电子邮?br /> • 跟踪市场zd如:客户调查


创徏新用?/p>

创徏新用户需要在Party Manager中操作,点击[Party] > [Create]创徏一个新的参与者。至ؓ其分配一个以下角Ԍ“Account manager”, “Account Rep”, “CSR”。注意每个用户可以拥有其它的角色?#8220;Employee”、但只有以上三个角色用于CRM/SFA应用Q下一步创Z个用L录ƈ且ؓ其分配安全组QSALES_MANAGER, SALES_REP, ?SALES_REP_LIMITED, ?CSR

注意Q在party manager中的角色与CRM/SFA中的角色是不同的Q在party managerQ角色仅定义Z些h或组面对另一些h或组时的w䆾。在CRM/SFA中,角色意味在客户销售关pM的分演的角色Q而且它也暗指着一l对应的权限?/p>

如果用户忘记自己密码Q可以通过“忘记密码”功能新密码邮至原来预设的个人邮件地址中?/p>

用户概况

在CRM/SFA应用界面中的剙[概况]链接位居用户名与[d]按钮之间。点L链接可访问用h况页面,你可以在此页面中修改用户名称Q修改密码,增加联系方式信息Q如Q电邮、邮政地址、电话等Q。注意你不可能在q里更改用户d信息Q这只能在Party Manager中操作)。此还可以查看用户q往的访问历双Ӏ?/p>

?我的团队

?.9.1版本开始,你可以在[我的帐号]的右边看到[我的团队帐户],如果你点L的帐P你的d被配置为只查看你的个h信息而非使用团队帐号。这个功能工作于U烦、联pMh、案例、机会?/p>

帐号l?/p>

CRM/SFA应用中的帐号l是通常用于工作于同一l角色和权限l合的团队, 一个组在它建立时可以被分配一个帐受接着Q帐L理员或帐号所有者可以重新分配组成员或他们的责QQ这样很大程度不同于“军事单位”l,通常那些l是一直拥有固定的领导、成员的?/p>

Z创徏一个组Q你需要用Party Manger。在[Party] > [Create] >> [Create New Party Group]q给你的l命名。然后在[Roles]处分配一个[Account Team]角色l它。然后在[Relationships]处加上你的组成员。以下信息项必段输入Q?br /> • lPartyId
• l成员角?(Account Manager, Account Rep, ?CSR), Z早先创徏的用h分配的角?
• “Is a” 字段必须讄?#8220;Assigned To”
• l角色应该设|ؓ “Account Team”
• 讄h日期
• Party Relationship Security 必须是你的组安全权限.  ?Party Manager, 一长串安全l将会显C,选择一个与CRM/SFA 应用相关的安全组.  (查看 “Security Documentation.”)
联系信息

pȝ允许你ؓ每个?l徏立多重的联络方式信息Q你的帐受线索、联pMh都可以根据你的需求输入Q意多的电话号码、地址、电子邮件地址。每个联l信息都需要标识出它的用途?/p>


当你使用[创徏联系人]、[创徏U烦]、[创徏帐号]Q系l将Z你的表单输入创徏以下联系信息Q?br /> • 地址信息被做ؓ“一般信函地址”?#8220;一般收货地址”
• 电话L做?#8220;ȝ话号?#8221;
• 电子邮g做?#8220;ȝ子邮件地址”
• |站地址做?#8220;ȝ站地址”


但你在创pM息时Q你应当创徏电子邮g作ؓȝ子邮件地址及地址做ؓ一般收货地址。主电子邮g地址用于发送自动通知邮g。一般收货地址用于订单发货?/p>

电话L和电子邮件在所列帐受线索、联pMh的主电子邮g和主电话L?/p>

你可以点MQ何的列在联络pȝ中的电子邮g地址来发送电子邮Ӟ查看下面?#8220;发送电子邮?#8221;

备注

在CRM/SFA应用中,很多东西可以创徏和保存备注。备注菜单通常在屏q的下方?br />
本文档译自opentaps v0.9 manual,本h译,Ƣ迎转蝲,h明出?



shanghai_spark 2008-09-28 17:46 发表评论
]]>
opentaps CRM 开发者概?/title><link>http://m.tkk7.com/hispark/archive/2008/09/28/231692.html</link><dc:creator>shanghai_spark</dc:creator><author>shanghai_spark</author><pubDate>Sun, 28 Sep 2008 07:45:00 GMT</pubDate><guid>http://m.tkk7.com/hispark/archive/2008/09/28/231692.html</guid><wfw:comment>http://m.tkk7.com/hispark/comments/231692.html</wfw:comment><comments>http://m.tkk7.com/hispark/archive/2008/09/28/231692.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/hispark/comments/commentRss/231692.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/hispark/services/trackbacks/231692.html</trackback:ping><description><![CDATA[<p><strong>架构</strong></p> <p>CRM/SFA应用很大E度不同于其它的OFBizBiz应用QOFBIZ应用设计Zl可以整合在一起适合各种商业zd的进E,CRM/SFA应用设计为支持角?zd的全部活动在CRM应用中,q样子,它将带来与其它应用的很多不同?/p> <p>1.CRM/SFA的商业逻辑_度于其它OFBizQ而且通常会调用很多其它应用中的action。如当创Z个帐hQCRM/SFA应用调用另一个OFBiz服务创徏Party、PartyGroup、PartyRole、PartyRelationship{等</p> <p>2.在OFBiz其它应用中高度抽象的数据模型在这里表达成更传l直观的概念。示例,“Party”被表达成为account ,lead, contact, team, ?team member,  它们拥有不同的用L面和业务逻辑?/p> <p>3.OFBiz?#8220;WorkEffort”面向用户时表达ؓ“Activity”,而且只是事g和业务可作ؓ“Activity”,其它?“WorkEffort”例如刉品过E在CRM/SFA中不昄出来?/p> <p>4.它拥有PartyRelationship.securityGroupId定义多个参与者之间权限的不同的安全模型(CZQ组成员A是否有权讉KB帐户Q)它用了不同的安全方法(查看“Security Documentation”了解详细信息Q?/p> <p> </p> <p><strong>用户界面原则</strong></p> <p><br /> CRM/SFA应用有一个不同于其它OFBiz应用的界面原则。简单来_此原则就?建立一个容易让用户明白和用的界面Q好q让用户不停的思考如何用?/p> <p><br /> CZQ?#8220;work effort”是一个OFBiz中的a task, a project, an event, 或a manufacturing production step,在OFBiz的WorkEffort应用中让用户自己创徏它时选择对应的实例选项Q而在q里QWorkEffort被分d不同的h机界面上昄各自的特性?/p> <p><br /> 大多C用者,不会?#8220;我打创Z个work effort在参与者X和Y之间”Q他们通常?#8220;我ؓ参与者X和Y在明天上午徏立一个约?#8221;。这样CRM/SFA应用提供创徏U会界面q加入参与者X和YQ在此界面启动约会及完成它?/p> <p><br /> 所以这意味着有些在OFBiz中允许的操作在CRM/SFA界面中不再被允许。示例,在OFBiz创徏一?#8220;EVENT”cd的work effor时可把它兌到货q或产品制作q程。这些信息在OFBiz的work effort中是可见字段Q尽work effort在event中ƈ无这些关联字Dc另一面,在CRM/SFA中界面看不到q些字段</p> <p><br /> q样的功能减带来的是操作的易于理解Q且也让一些日常的操作减少不必要的步骤?/p> <p>另一个UI原则是将很多分离的步骤合而ؓ一个操作步骤。最好的例子是当你创Z个联pMhӞ你可以在一个屏q内输入所有联pMh信息Q而系l会自动的根据信息创建参与者、联pM息及兌,很多分d不同OFBiz中的应用合而ؓ一?/p> <p> <br /> 最后,我们打算避免用户点击回退、向前去查看信息Q所以太多数屏幕都把信息昄在同一个屏q里Q而不是提供很多的信息标签</p> <p><br /> <strong>~码U定</strong></p> <p>另外Q创建CRM/SFA应用Q我们还有一些与其它不同的编码约定:<br /> 1.强制要求视图与数据准备分离Q我们限制视囑ֱ如freemaker?XML只承担展现数据功能。这h味着在formlg中不会存?#8221;action”标签?/p> <p>2.在屏q组件定义中Q用beanshell脚本?lt;entity-one> XML操作更好?/p> <p>3.Minilang脚本在一个方法中不要过十行。用java来编写复杂的商业逻辑。不要在minilang中?lt;or>?lt;and>及计?/p> <p>4.保证代码块简捗一般的Q如果你的方法超q两百行Q徏议你考虑如何重构它?/p> <p>5.Z的代码加上注释。描qC~码的目的和l果Q而不仅是你做了什么。示例,如果你编写了如下代码<br />  invoiceId=null;<br /> 不要注释写成Q?/讄InvoiceId为null<br /> 而应该写成://invoiceId应该为空Q否则服务不会创Z个新的发?/p> <p>6.使用较长的变?Ҏ名称Q如QcomputeForecastParentPeriodQ而不是一个很短无意义的名U?/p> <p>7.使用意指你所调用的实体对象的变量名,而不仅是一个羃略的变量名?CZQ如果你获得一个orderItems集合Q变量名不要仅叫?#8221;item”——可以叫它们”orderItems”?#8221;nextOrderItem”Q诸如此cR如果你获得一个OrderPaymentPreference实体Q不要命名ؓ“payments”Q因为Payment实体同你命名的这个对象不是同一个东ѝ?/p> <p>8.在FTL、表单组件、beanshell和Java服务中用java来帮助将复杂的逻辑q行分离?/p> <p>9.代码分d应用的不同目录中Q将表单、屏q组件XML文档攑֜widgets目录中,JAVA包放在src/目录下,FTL攑֜webapp/crmsfa/QBSH脚本攑֜webapp/crmsfa/WEB-INF/actions/?#8230;</p> <p><br /> 10.在服务XML中加了相x释指出需注意的事Ҏ此服务可能发生的意外<br /> <br /> 本文档译自opentaps v0.9 manual,本h译,Ƣ迎转蝲,h明出?</p> <img src ="http://m.tkk7.com/hispark/aggbug/231692.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/hispark/" target="_blank">shanghai_spark</a> 2008-09-28 15:45 <a href="http://m.tkk7.com/hispark/archive/2008/09/28/231692.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://m.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://606059.com" target="_blank">vѹۿ</a>| <a href="http://saob19.com" target="_blank">޹Ƭ߹ۿ</a>| <a href="http://2030188.com" target="_blank">ɫվWWWþþž</a>| <a href="http://715686.com" target="_blank">ٸ69XXX</a>| <a href="http://tuopumao.com" target="_blank">޵һseվ</a>| <a href="http://ldcatv.com" target="_blank">߹Ӱվ</a>| <a href="http://www330330.com" target="_blank">aëƬƵۿ</a>| <a href="http://kimnote.com" target="_blank">þþþ?V</a>| <a href="http://468862.com" target="_blank">ͬgayվ߹ۿ</a>| <a href="http://4438xx21.com" target="_blank">Ʒާѡ벥Ų </a>| <a href="http://yygcui.com" target="_blank">ŮƵƵȫƵվ</a>| <a href="http://bjfljg.com" target="_blank">ѾþþƷþþ</a>| <a href="http://yjjinfeng.com" target="_blank">avɫӰ</a>| <a href="http://szzdjl.com" target="_blank">޳a߹ۿ</a>| <a href="http://lfpfjc.com" target="_blank">91㽶߹ۿѸ</a>| <a href="http://ghiearning.com" target="_blank">Ůڵվ</a>| <a href="http://w6446.com" target="_blank">AV뼤Ƭ</a>| <a href="http://nyminer.com" target="_blank">Ůһ18</a>| <a href="http://youweidianqi.com" target="_blank">91ѹԲ2021</a>| <a href="http://yuejiju.com" target="_blank">޹Ʒ߲</a>| <a href="http://shcxsoft.com" target="_blank">ղ2021</a>| <a href="http://yw756.com" target="_blank">Ʒϵ߹ۿ </a>| <a href="http://dodxs.com" target="_blank">AVպAV </a>| <a href="http://jufandev.com" target="_blank">jyzzjyzz鶹</a>| <a href="http://longcais.com" target="_blank">AV˾þԭ</a>| <a href="http://yy12345.com" target="_blank">޹ŮƵ</a>| <a href="http://djllgs.com" target="_blank">ھƷѾþӰԺ</a>| <a href="http://srvz83.com" target="_blank">Ʒ_Ʒ</a>| <a href="http://xxx2222.com" target="_blank">Ƶһվ</a>| <a href="http://57gt.com" target="_blank">ӰӾ߹ۿȫ </a>| <a href="http://6464k.com" target="_blank">պƷһҳһ</a>| <a href="http://bogygames.com" target="_blank">ɫ͵͵͵ۺ</a>| <a href="http://ynrygc.com" target="_blank">91㽹߹ۿ</a>| <a href="http://19933k.com" target="_blank">ۺС˵</a>| <a href="http://my77789.com" target="_blank">avרav </a>| <a href="http://831055.com" target="_blank">**ʵëƬѹۿ</a>| <a href="http://dodxs.com" target="_blank">޾Ʒ޿һ </a>| <a href="http://hetaoqpj.com" target="_blank">ѹۿҹ</a>| <a href="http://pjwys.com" target="_blank">޳avƬ</a>| <a href="http://rhacu.com" target="_blank">һƵѹۿ</a>| <a href="http://532342.com" target="_blank">ѿٸƵ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>