在实际开发中,有些需求是要求系统单据,编辑或者触发其他按钮来回写其他模块单据

这时候就能用业务插件方式来触发其他模块的按钮事件,而不用去模块找对应的按钮编辑事件类

package hz.bs.hzctr.recbill.listener;

import nc.bs.businessevent.BusinessEvent;
import nc.bs.businessevent.IBusinessEvent;
import nc.bs.businessevent.IBusinessListener;
import nc.bs.dao.BaseDAO;
import nc.vo.arap.gathering.AggGatheringBillVO;
import nc.vo.arap.gathering.GatheringBillItemVO;
import nc.vo.arap.gathering.GatheringBillVO;
import nc.vo.pub.AggregatedValueObject;
import nc.vo.pub.BusinessException;
/**
* 收款单为退款单时,审批后,按表体对应的合同编码回写销售合同对应单据
* @author Yaolz
*/
public class RecAbleUnApproveRewSellctrListener implements IBusinessListener { private BaseDAO baseDao;
public BaseDAO getBaseDao(){
if(baseDao==null){
baseDao=new BaseDAO();
}
return baseDao;
} @Override
public void doAction(IBusinessEvent businessEvent) throws BusinessException {
BusinessEvent e = (BusinessEvent) businessEvent;
AggregatedValueObject[] values = (AggregatedValueObject[]) e
.getObject();
for (int i = 0; i < values.length; i++) {
AggGatheringBillVO gatherBillAggVO = (AggGatheringBillVO) values[i];
// 收款单表头
GatheringBillVO billHVo = (GatheringBillVO) gatherBillAggVO
.getParentVO();
// 收款单表体
GatheringBillItemVO[] gatherBillTtemVos = (GatheringBillItemVO[]) gatherBillAggVO
.getChildren(GatheringBillItemVO.class);
// 开票日期(业务日期)
String billdate = billHVo.getBilldate().toString();
// 交易类型为退款
if ("F2-Cxx-D2".equals(billHVo.getPk_tradetype())) {
for (GatheringBillItemVO bodyVO : gatherBillTtemVos) {
String def14 = bodyVO.getDef14();
if(def14 != null){
String sql = " UPDATE hzctr_sellctr_h SET checkoutdate = '"+billdate+"' WHERE pk_sellctr_h='"+def14+"' ";
BaseDAO dao = new BaseDAO();
dao.executeUpdate(sql);
}
}
}
}
} }

  

nc6 用业务插件注册来跑按钮事件的更多相关文章

  1. Dynamics CRM 本地插件注册器连CRMAn unsecured or incorrectly secured fault was received from the other party

    今天遇到个问题,在本地打开插件注册器连接到远程CRM服务器时报如下问题 但我在CRM服务器上连接注册器是可以打开的,所以不存在账号权限这类的问题了(当然我用的是超管的账号也不可能存在),最后查询得知是 ...

  2. Dynamics CRM2013 6.1.1.1143版本插件注册器的一个bug

    最近在做的项目客户用的是CRM2013sp1版本,所以插件注册器使用的也是与之对应的6.1.1.1143,悲剧的事情也因此而开始. 在插件中注册step时,工具里有个run in user's con ...

  3. Dynamics CRM 插件注册时报Assembly must be registered in isolation的解决方法

    在插件注册的时候经常会遇到"Assembly must be registered in isolation"的问题导致无法注册,之前经常会被同事或者朋友问到这个问题,遇到这个问题 ...

  4. Dynamics CRM2013/2015 插件注册工具登录后无法显示assembly列表问题的解决办法二

    本篇接前面的一篇博文:http://blog.csdn.net/vic0228/article/details/47079717,前篇提供了一种解决方案,将本机系统的语言切换成英文即可,今天再来介绍第 ...

  5. 一个事半功倍的c#方法 动态注册按钮事件

    前几天在网上看见一个制作计算器的c#程序,其中有一个动态注册按钮事件,觉的很有用.于是实际操作了一哈, 确实比较好. 言归正传,下面就来讲讲怎样动态注册按钮事件. 首先,我们需要设置变量来获取点击一个 ...

  6. Dynamics Crm Plugin插件注册的问题及解决方案(持续更新。。。。。。)

    1.注册插件的时候回遇到如下提示 Plug-in assembly does not contain the required types or assembly content cannot be ...

  7. 一种优雅的Golang的库插件注册加载机制

    一种优雅的Golang的库插件注册加载机制 你好,我是轩脉刃. 最近看到一个内部项目的插件加载机制,非常赞.当然这里说的插件并不是指的golang原生的可以在buildmode中加载指定so文件的那种 ...

  8. Android开发系列之按钮事件的4种写法

    经过前两篇blog的铺垫,我们今天热身一下,做个简单的例子. 目录结构还是引用上篇blog的截图. 具体实现代码: public class MainActivity extends Activity ...

  9. Java知多少(82)标签、按钮和按钮事件简介

    标签和按钮也许是图形界面中最常见的两种组件,按钮又总是与激发动作事件有关. 标签 标签(JLabel)是最简单的Swing组件.标签对象的作用是对位于其后的界面组件作说明.可以设置标签的属性,即前景色 ...

随机推荐

  1. c++11模拟boost元占位符placeholder

    准备实现meta programming的fold函数,发现自己缺少占位符实现,这样传入fold的transform op类(元函数)都不得不另外写个外覆类,其实我觉得没啥不好,简单直接,说实话干扰什 ...

  2. 【python】numpy中的shape用法

    转自 https://blog.csdn.net/u010758410/article/details/71554224# shape函数是numpy.core.fromnumeric中的函数,它的功 ...

  3. PAT 乙级 1065 单身狗 (25 分)

    1065 单身狗 (25 分) “单身狗”是中文对于单身人士的一种爱称.本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱. 输入格式: 输入第一行给出一个正整数 N(≤ 50 000),是 ...

  4. Cglib源码分析 invoke和invokeSuper的差别(转)

    原文 https://blog.csdn.net/makecontral/article/details/79593732 Cglib的实例 本文重在源码的分析,Cglib的使用不再复述. //被代理 ...

  5. ubuntu下安装owncloud提示没有zip模块时

    wget http://pecl.php.net/get/zip-1.13.5.tgztar -zvxf zip-1.13.5.tgzcd zip-1.13.5phpize ./configure m ...

  6. 实验四:xl命令的常见子命令以及操作

    实验名称: xl命令的常见子命令以及操作 实验环境: 这里我们需要正常安装一台虚拟机,如下图: 我们这里以一台busybox为例,来进行这些简单的常见的操作: 实验要求: 这里我们准备了5个常见操作: ...

  7. crontab自动失效注意事项

    若用户密码过期,用户的crontab计划任务会自动失效.重设用户密码修改时间后,crontab会自动恢复. #使用chage -l 查看用户密码过期时间 chage -l user #使用chage ...

  8. linux面试题-基础题1

    第1章 基础题1 1.1 在装系统创建Linux分区时,一般至少需要创建两个分区( ) A.FAT.NTFS   B. /usr.swap    C. /boot.swap  D.swap./ 1.2 ...

  9. 编写Servlet 实例 -Shopping网站时,遇到的几个问题

    问题一.在Web 上运行时,用JDBC链接MySQL总是出错,一直出现驱动加载失败 ------提示java.lang.ClassNotFoundException.解决方案:将数据库驱动jar文件导 ...

  10. leetcode3

    public class Solution { public int LengthOfLongestSubstring(string s) { var dic = new Dictionary< ...