Openbravo如何新建一个调用
? ? ? ? 在商品管理頁(yè)面,商品編碼由商品名稱(chēng)和種類(lèi)名構(gòu)成。比如,商品名為orange,分類(lèi)名為fruit,那么商品編碼自動(dòng)變成orange_fruit。如何實(shí)現(xiàn)商品名,或者分類(lèi)名變化的時(shí)候,商品編碼跟著變,是本文要介紹的內(nèi)容。
? ? ? ? 二. 步驟
? ? ? ? 1. 新建一個(gè)模塊
? ? ? ? ?點(diǎn)擊Application dictionary->module,打開(kāi)模塊管理頁(yè)面,點(diǎn)擊新建。下面設(shè)置的參數(shù)是舉例,你們可以自己設(shè)置成其他的或者直接按照我說(shuō)的設(shè)置。表頭java package: org.openbravo.lws.howtos ? ?name:lwstest ?type: module ? description: for test callout ?version:1.0.0。表體,dependency頁(yè)簽:新建一行記錄dependent module選擇User Interface Application。DBPrefix頁(yè)簽新建一條記錄,錄入LWS321. Data Package頁(yè)簽新建一條記錄,name錄入lwstest data package,java package錄入org.openbravo.lws.howtos.data.
? ? ? ? 2. 編寫(xiě)后臺(tái)代碼
? ? ? ? 項(xiàng)目src目錄下面新建一個(gè)類(lèi)ProductConstructSearchKey,包名為:org.openbravo.lws.howtos.ad_callouts內(nèi)容如下:
// the package name corresponds to the module's manual code folder // created above package org.openbravo.lws.howtos.ad_callouts;import javax.servlet.ServletException;import org.openbravo.base.secureApp.VariablesSecureApp; import org.openbravo.dal.service.OBDal; import org.openbravo.erpCommon.ad_callouts.SimpleCallout; import org.openbravo.model.common.plm.ProductCategory; import org.openbravo.utils.FormatUtilities;public class ProductConstructSearchKey extends SimpleCallout {private static final long serialVersionUID = 1L;@Overrideprotected void execute(CalloutInfo info) throws ServletException {String strProductName = info.getStringParameter("inpname", null);String strProductCategoryId = info.getStringParameter("inpmProductCategoryId", null);info.addResult("inpvalue", getConstructedKey(info.vars, strProductName,strProductCategoryId));}protected String getConstructedKey(VariablesSecureApp vars,String strProductName, String strProductCategoryId) {final ProductCategory productCategory = OBDal.getInstance().get(ProductCategory.class, strProductCategoryId);String strProductCategoryName = productCategory.getName();String generatedSearchKey = FormatUtilities.replaceJS(strProductName.replaceAll(" ", ""))+ "_" + strProductCategoryName.replaceAll(" ", "");return generatedSearchKey;} }
? ? ? ? 3. 將調(diào)用注冊(cè)到數(shù)據(jù)字典
? ? ? ? 點(diǎn)擊??Application Dictionary || Setup || Callout 新建一條記錄,module選擇我們剛剛新建的module,name填寫(xiě)product_Construct_Searchkey,表體java class name填寫(xiě)剛剛新建的那個(gè)類(lèi)org.openbravo.lws.howtos.ad_callouts.ProductConstructSearchKey。
? ? ? 4. 將調(diào)用跟數(shù)據(jù)庫(kù)列對(duì)應(yīng)起來(lái)
? ? ? 點(diǎn)擊?Application Dictionary || Tables and Columns?,找到m_product表,切到表體column頁(yè)簽找到name列和Product Category列。將里面的Callout字段值設(shè)置為剛剛新建的callout:product_construct_searchkey。
? ? ? 5. 導(dǎo)出數(shù)據(jù)與編譯
? ? ? 運(yùn)行項(xiàng)目openbravo目錄下面的export.database.launch文件,也就是運(yùn)行ant export.database命令。
? ? ? 然后運(yùn)行eclipse.compile.launch文件,彈出框輸入需要重新編譯的窗口也就是Product。重啟tomcat應(yīng)該就可以看到效果了。
? ? ? ??
總結(jié)
以上是生活随笔為你收集整理的Openbravo如何新建一个调用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: clone远程代码 在不同电脑上git_
- 下一篇: Gmail:如何跟踪邮件阅读状态