之前有些人对这块有些疑问,比如:

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]关于"选单"操作的更多相关文章

  1. [K/3Cloud] 创建一个操作校验器

    概念: 定义了一个校验器对象,通常是添加到业务单据操作服务插件,用于对操作的合法性进行校验.继承自校验器抽象对象AbstractValidator. 示例: 新建一个类,继承自AbstractVali ...

  2. K/3Cloud二次开发基于WebDev附加进程调试

    大部分人在进行K/3cloud二次开发插件的调试时,选择的是附加IIS进程w3wp调试,本文给大家介绍一下基于WebDev附加进程调试,不用重启iis. 步骤如下: 1)拷贝K/3cloud产品安装目 ...

  3. [K/3Cloud] 使用操作还是服务

    现在菜单点击事件既可以挂操作又可以挂服务,那到底是应该挂操作还是服务呢? 有个需求是要求一个动作可以在两个时点被触发 1.单据由下推或选单生成的时候: 2.点击单据界面功能菜单: 这样是不是需要做一个 ...

  4. [K/3Cloud] 隐藏菜单后,如何在插件间接的调用隐藏菜单的操作

    使用场景: 动态表单里面挂了个单据的序时薄,序时薄有菜单,但是把序时薄的工具栏隐藏了.新增,修改全部动态表单自己写.删除和过滤我想间接调用下隐藏的序时薄的删除和过滤按钮的操作.在插件里如何实现? 答: ...

  5. [K/3Cloud] 分录行复制和新增行的冲突如何处理

    新增行:执行AfterCreateNewEntryRow,这个函数里面对一些数据进行处理(比如字段给上默认值): 复制行:复制行过程中希望这些字段能够得到我修改行信息后的数据,如果不处理,执行到Aft ...

  6. [K/3Cloud] 单据转换插件执行顺序

    1.下推事件及顺序 //初始化变量 OnInitVariable(InitVariableEventArgs e) //解析字段映射关系,并构建查询参数.这里可以加入你想要的额外的字段 OnQuery ...

  7. [K/3Cloud] 创建一个业务单据表单插件

    概念 创建一个业务单据插件,处理单据的相关控制逻辑. 示例 新建一个类,继承自单据插件基类Kingdee.BOS.Core.Bill.PlugIn.AbstractBillPlugIn. using ...

  8. [K/3Cloud] 创建一个单据转换插件

    概念: 创建一个业务单据转换插件,在单据转换的各个时点干预单据转换的相关逻辑控制. 示例: 新建一个类,继承自单据转换插件基类Kingdee.BOS.Core.Metadata.ConvertElem ...

  9. [K/3Cloud]K3Cloud的移动审批方面

    基于最新的K3Cloud2的SP2,当前K3Cloud上所有的工作流都可以在移动手机上进行移动审批,具体如下: K/3 Cloud 支持移动审批,支持安卓和IOS. 关于申请试用: 1.打开浏览器,进 ...

随机推荐

  1. robotframework - 基础关键词

    robotframework基础关键词如下: 1.可在python.notepad++ 编辑: *** Settings *** *** Test Cases ***variable ${a} Set ...

  2. JS中定时器的返回数值ID值

    定时器会返回一个数字值id,可以由clearInterval(id)或clearTimeout(id)来实现对对应定时器的清除. setInterval()/setTimeout()BOM中的Wind ...

  3. 乐字节Java8核心特性之方法引用

    大家好,我是乐字节的小乐,上一次我们说到了Java8核心特性之函数式接口,接下来我们继续了解Java8又一核心特性--方法引用. Java8 中引入方法引用新特性,用于简化应用对象方法的调用, 方法引 ...

  4. 【转】20道Spring Boot面试题

    面试了少量人,简历上都说自己熟习 Spring Boot, 或者者说正在学习 Spring Boot,一问他们时,都只停留在简单的使用阶段,很多东西都不清楚,也让我对面试者大失所望. 下面,我给大家总 ...

  5. 洛谷P1010 幂次方

    题目描述 任何一个正整数都可以用2的幂次方表示.例如 137=2^7+2^3+2^0 同时约定方次用括号来表示,即a^b 可表示为a(b). 由此可知,137137可表示为: 2(7)+2(3)+2( ...

  6. C++ 类中的3种权限作用范围

    三种访问权限 public:可以被任意实体访问 protected:只允许子类及本类的成员函数访问 private:只允许本类的成员函数访问 #include <iostream> #in ...

  7. Javascript对象基础讲解

    1.Object对象详解 javascript 里最基本的数据类型是对象. avaScript里的对象其实是一个无序的属性集合,属性又是一个个的名-值对. 除了字符串,数字,true,false,nu ...

  8. Dojo - 操作Dom的函数

    DOM Manipulation You might be seeing a trend here if you have gotten this far in the tutorial, in th ...

  9. Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见的一些。

    Web应用程序的安全性问题依其存在的形势划分,种类繁多,这里不准备介绍所有的,只介绍常见的一些.  常见Web应用安全问题安全性问题的列表: 1.跨站脚本攻击(CSS or XSS, Cross Si ...

  10. oracle数据库过期

    本文转载自http://soft.chinabyte.com/database/6/12320006.shtml[来源:比特网 作者:悠虎] 由于Oracle11G的新特性所致,经常会遇到使用sqlp ...