[K/3Cloud]关于"选单"操作
之前有些人对这块有些疑问,比如:
1.选单操作是否和下推基本一样,都是公用同一套单据转换规则,只不过下推是源单推目标单,选单是目标单去选择源单,最终操作结果一样?
2,我想实现选单的时候,选单列表先通过插件过滤..是否支持这做法?..插件应该挂在哪个地方...重写哪个事件?
其实是一样的,选单会拿单据界面已经录入的部分字段对源单数据进行过滤,至于哪些字段参与过滤可以在单据转换规则上设置。配置在单据转换路线的插件策略上,派生AbstractConvertPlugIn类,可以看到有一些可重载的方法。
1、下推和选单走的是同一个规则。
2、不同的是选单先根据过滤条件弹出符合条件源单列表。
3、整个过程主要几个大步骤
1)构造过滤条件
2)取源单数据
3)分组
4)构目标单
5)字段映射
6)创建关联关系,及单位换算
7)执行表单服务
8)输出结果
单据转换插件事件执行顺序:
1、下推事件及顺序
//初始化变量
OnInitVariable(InitVariableEventArgs e)
//解析字段映射关系,并构建查询参数。这里可以加入你想要的额外的字段
OnQueryBuilderParemeter(QueryBuilderParemeterEventArgs e)
//构建列表中选择数据行的In语句
OnInSelectedRow(InSelectedRowEventArgs e)
//解析选单条件策略
OnParseFilter(ParseFilterEventArgs e)
//获取源单数据
OnGetSourceData(GetSourceDataEventArgs e) (下推执行)
//执行分组前
OnBeforeGroupBy(BeforeGroupByEventArgs e)
//创建目标单
OnCreateTarget(CreateTargetEventArgs e) (下推执行)
//字段映射开始
OnBeforeFieldMapping(BeforeFieldMappingEventArgs e)
//单个字段映射
OnFieldMapping(FieldMappingEventArgs e)
//计算公式映射
OnFieldCalculate(FieldCalculateEventArgs e)
//所有字段映射完成
OnAfterFieldMapping(AfterFieldMappingEventArgs e)
//关联关系(Link表)创建前
OnCreateLink(CreateLinkEventArgs e)
//关联关系(Link表)创建完成
OnAfterCreateLink(CreateLinkEventArgs e)
//单据转换后事件
AfterConvert(AfterConvertEventArgs e)
2、选单前事件及顺序(弹出选单列表前)
OnInitVariable(InitVariableEventArgs e)
//解析映射关系中的过滤选项
OnParseFilterOptions(ParseFilterOptionsEventArgs e)(选单执行)
OnParseFilter(ParseFilterEventArgs e)
3、选单事件及顺序
OnInitVariable(InitVariableEventArgs e)
OnQueryBuilderParemeter(QueryBuilderParemeterEventArgs e)
OnInSelectedRow(InSelectedRowEventArgs e)
//获取源单数据
OnGetDrawSourceData(GetDrawSourceDataEventArgs e)(选单执行)
OnBeforeGroupBy(BeforeGroupByEventArgs e)
//目标单创建后
OnCreateDrawTarget(CreateDrawTargetEventArgs e)(选单执行)
OnBeforeFieldMapping(BeforeFieldMappingEventArgs e)
OnFieldMapping(FieldMappingEventArgs e)
OnFieldCalculate(FieldCalculateEventArgs e)
OnAfterFieldMapping(AfterFieldMappingEventArgs e)
OnCreateLink(CreateLinkEventArgs e)
OnAfterCreateLink(CreateLinkEventArgs e)
//单据转换后事件
AfterConvert(AfterConvertEventArgs e)
[K/3Cloud]关于"选单"操作的更多相关文章
- [K/3Cloud] 创建一个操作校验器
概念: 定义了一个校验器对象,通常是添加到业务单据操作服务插件,用于对操作的合法性进行校验.继承自校验器抽象对象AbstractValidator. 示例: 新建一个类,继承自AbstractVali ...
- K/3Cloud二次开发基于WebDev附加进程调试
大部分人在进行K/3cloud二次开发插件的调试时,选择的是附加IIS进程w3wp调试,本文给大家介绍一下基于WebDev附加进程调试,不用重启iis. 步骤如下: 1)拷贝K/3cloud产品安装目 ...
- [K/3Cloud] 使用操作还是服务
现在菜单点击事件既可以挂操作又可以挂服务,那到底是应该挂操作还是服务呢? 有个需求是要求一个动作可以在两个时点被触发 1.单据由下推或选单生成的时候: 2.点击单据界面功能菜单: 这样是不是需要做一个 ...
- [K/3Cloud] 隐藏菜单后,如何在插件间接的调用隐藏菜单的操作
使用场景: 动态表单里面挂了个单据的序时薄,序时薄有菜单,但是把序时薄的工具栏隐藏了.新增,修改全部动态表单自己写.删除和过滤我想间接调用下隐藏的序时薄的删除和过滤按钮的操作.在插件里如何实现? 答: ...
- [K/3Cloud] 分录行复制和新增行的冲突如何处理
新增行:执行AfterCreateNewEntryRow,这个函数里面对一些数据进行处理(比如字段给上默认值): 复制行:复制行过程中希望这些字段能够得到我修改行信息后的数据,如果不处理,执行到Aft ...
- [K/3Cloud] 单据转换插件执行顺序
1.下推事件及顺序 //初始化变量 OnInitVariable(InitVariableEventArgs e) //解析字段映射关系,并构建查询参数.这里可以加入你想要的额外的字段 OnQuery ...
- [K/3Cloud] 创建一个业务单据表单插件
概念 创建一个业务单据插件,处理单据的相关控制逻辑. 示例 新建一个类,继承自单据插件基类Kingdee.BOS.Core.Bill.PlugIn.AbstractBillPlugIn. using ...
- [K/3Cloud] 创建一个单据转换插件
概念: 创建一个业务单据转换插件,在单据转换的各个时点干预单据转换的相关逻辑控制. 示例: 新建一个类,继承自单据转换插件基类Kingdee.BOS.Core.Metadata.ConvertElem ...
- [K/3Cloud]K3Cloud的移动审批方面
基于最新的K3Cloud2的SP2,当前K3Cloud上所有的工作流都可以在移动手机上进行移动审批,具体如下: K/3 Cloud 支持移动审批,支持安卓和IOS. 关于申请试用: 1.打开浏览器,进 ...
随机推荐
- [POJ3417]Network/闇の連鎖
Description 传说中的暗之连锁被人们称为 Dark. Dark 是人类内心的黑暗的产物,古今中外的勇者们都试图打倒它.经过研究,你发现 Dark 呈现无向图的结构,图中有 N 个节点和两类边 ...
- 用 jQuery 实现简单倒计时功能
问题场景:假设某个活动截止时间给定了,现在需要开发一个页面可以自动刷新距离活动截止时间还剩多少天? <!DOCTYPE html> <html xmlns="http:// ...
- 创建maven项目遇到的问题
1.新建完成的maven项目,缺少src/main/java 解决方案:把项目中的jre换成eclipse中默认的jre. 另外还可以参考:解决Eclipse建立Maven项目后无法建立src/mai ...
- redis 数据类型Hash
redis的Hash数据类型: hash数据类型 Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. 创建map: hmset map c & ...
- Knockout 实例
定义见:http://baike.baidu.com/item/Knockout/18611883#viewPageContent 此处仅列举一个小例子 <p> <select da ...
- codeforces_305C_STLset
C. Ivan and Powers of Two time limit per test 0.5 seconds memory limit per test 256 megabytes input ...
- C++ 程序的编译
一.编译器都具备集成开发环境(Integrated Developed Environment,IDE) 二.程序源文件命名约定: C++ 的后缀一般是 .cpp .cc .C .cpp .cxx 三 ...
- CAD绘制多行文字
在CAD设计时,需要绘制多行文字,用户可以设置设置绘制文字的高度等属性. 主要用到函数说明: _DMxDrawX::DrawMText 绘制一个多行文字.详细说明如下: 参数 说明 DOUBLE dP ...
- 梦想MxWeb3D,三维CAD协同设计平台 2019.05.05更新
SDK开发包下载地址: http://www.mxdraw.com/ndetail_20140.html 在线演示网址: http://www.mxdraw.com:3000/ 1. 增加CAD绘图 ...
- Spring框架系列(二)--装配和注入Bean
企业日常开发中,几乎都是Spring系的框架,无论是SSM.还是现在大火的SpringBoot+JPA/MyBatis,使用最大的目的就是简化开发 基本模块: 核心容器:Beans.Core.Cont ...