Openbravo如何新建一个调用
? ? ? ? 在商品管理頁面,商品編碼由商品名稱和種類名構(gòu)成。比如,商品名為orange,分類名為fruit,那么商品編碼自動變成orange_fruit。如何實現(xiàn)商品名,或者分類名變化的時候,商品編碼跟著變,是本文要介紹的內(nèi)容。
? ? ? ? 二. 步驟
? ? ? ? 1. 新建一個模塊
? ? ? ? ?點擊Application dictionary->module,打開模塊管理頁面,點擊新建。下面設(shè)置的參數(shù)是舉例,你們可以自己設(shè)置成其他的或者直接按照我說的設(shè)置。表頭java package: org.openbravo.lws.howtos ? ?name:lwstest ?type: module ? description: for test callout ?version:1.0.0。表體,dependency頁簽:新建一行記錄dependent module選擇User Interface Application。DBPrefix頁簽新建一條記錄,錄入LWS321. Data Package頁簽新建一條記錄,name錄入lwstest data package,java package錄入org.openbravo.lws.howtos.data.
? ? ? ? 2. 編寫后臺代碼
? ? ? ? 項目src目錄下面新建一個類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)用注冊到數(shù)據(jù)字典
? ? ? ? 點擊??Application Dictionary || Setup || Callout 新建一條記錄,module選擇我們剛剛新建的module,name填寫product_Construct_Searchkey,表體java class name填寫剛剛新建的那個類org.openbravo.lws.howtos.ad_callouts.ProductConstructSearchKey。
? ? ? 4. 將調(diào)用跟數(shù)據(jù)庫列對應(yīng)起來
? ? ? 點擊?Application Dictionary || Tables and Columns?,找到m_product表,切到表體column頁簽找到name列和Product Category列。將里面的Callout字段值設(shè)置為剛剛新建的callout:product_construct_searchkey。
? ? ? 5. 導(dǎo)出數(shù)據(jù)與編譯
? ? ? 運行項目openbravo目錄下面的export.database.launch文件,也就是運行ant export.database命令。
? ? ? 然后運行eclipse.compile.launch文件,彈出框輸入需要重新編譯的窗口也就是Product。重啟tomcat應(yīng)該就可以看到效果了。
? ? ? ??
總結(jié)
以上是生活随笔為你收集整理的Openbravo如何新建一个调用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: clone远程代码 在不同电脑上git_
- 下一篇: Gmail:如何跟踪邮件阅读状态