NC供应链功能扩展开发

供应链功能扩展,注意到类ScmPluginXML中的getScmPluginXML方法读取的路径是:

public static final String m_filePath = RuntimeEnv.getInstance().getNCHome()+
              ServiceConfig.getFileSeparator()+"ierp"+ServiceConfig.getFileSeparator()+"bin" +
              ServiceConfig.getFileSeparator()+"scmplugin.xml";

 所以修改后的scmplugin.xml文件必须放在nchome下,不能放在开发环境中。

 

1. scmplugin.xml的配置,以采购订单为例

 

   文件中主要分为:

 

   <vo_field_extend>   // 表头表体的字段扩展,即public扩展

   <ui_extend>            // UI扩展,即client扩展

   <bs_extend>           // BS扩展,即private扩展

 

    字段扩展:

 

<vo_field_extend>  // 字段扩展
             <cbilltypecode></cbilltypecode>  // 单据类型,如采购,21
             <voclassname></voclassname>      // 扩展的vo类名,表头VO类全名或者表体VO类全名
             <fields>						  // 扩展的字段列表
                <field>						  // 字段属性
                	<dbfieldname>test</dbfieldname> // 字段的数据库名称
                	<vofieldname>test</vofieldname> // VO类的字段名称
	                <dbfieldtype>1</dbfieldtype>           // 字段的数据库类型,详见java.sql.Types
    	            <vofieldtype>3</vofieldtype>           // 字段的VO类型,详见nc.vo.scm.pub.smart.SmartFieldMeta
    	            <persistence>Y</persistence>           // 字段是否保存到数据库 Y:保存 N:不保存
    	            <length>20</length>                    // 字段长度
                    <allownull>Y</allownull>               // 是否允许为空
                    <precision>0</precision>               // 精度
                </field>
             </fields>
  </vo_field_extend>
  

 UI扩展

  

<ui_extend>  // UI扩展
	 <cbilltypecode>21</cbilltypecode>     // 单据类型
	 <nodecode>4004020201</nodecode> 	   // 单据的节点号
	 <extenduiclassname>nc.ui.po.oper.OrderUI</extenduiclassname> //扩展的UI类名
	 <menus> // 菜单
		<menu>
			<name></name>
			<code></code>
			<hotkey></hotkey>
			<resid></resid>
			<parentmenucode></parentmenucode>
		</menu>
		<menu>
			<name></name>
			<code></code>
			<hotkey></hotkey>
			<resid></resid>
			<parentmenucode></parentmenucode>
		</menu>
	 </menus>
	 <uiplugin> // UI的插件类
		 <classname>nc.ui.plugins.po.oper.OrderUI</classname>  //UI插件类名
		 <mothed>N</mothed>  // 实现方式
	 </uiplugin>
</ui_extend>  

BS扩展

 

 

 <bs_extend> // BS扩展
	 <cbilltypecode></cbilltypecode>  // 单据类型
	 <nodecode></nodecode>      // 节点号
	 <bspluginclassname></bspluginclassname>  // BS插件类
</bs_extend>  

 

 

 2. 具体实现

 

    目标:采购订单中添加功能按钮,并实现按钮的click事件

 

    添加按钮,只需在功能注册里增加一个按钮即可。而财务会计里却是在配置文件里配置的。

 

    将UI扩展里配置添加到:scmplugin.xml中

 

    完整的配置段

 

   

<scm_plugin_pu name="采购插件">
<ui_extend>
    <cbilltypecode>21</cbilltypecode>
	 <nodecode>4004020201</nodecode>
	 <extenduiclassname>nc.ui.po.oper.OrderUI</extenduiclassname>
	 <uiplugin>
		 <classname>nc.ui.plugins.po.oper.OrderUI</classname>
		 <mothed>N</mothed>
	 </uiplugin>
</ui_extend> 
</scm_plugin_pu>

 这里的OrderUI插件类需要实现:nc.ui.scm.plugin.IScmUIPlugin接口

 

 BS的插件类需要实现:nc.bs.scm.plugin.IScmBSPlugin接口

 

 实现按钮事件,只需重写beforeButtonClicked方法即可

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值