• [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)

  • 相关阅读:
    快速切题 sgu102.Coprimes 欧拉函数 模板程度 难度:0
    快速切题 sgu104. Little shop of flowers DP 难度:0
    poj 1163 The Triangle 搜索 难度:0
    sgu101 欧拉路径 难度:1
    快速切题 poj3414 Pots
    xml学习
    linux
    常用排序算法
    C++面试题目
    软件工程的一些问题
  • 原文地址:https://www.cnblogs.com/fyq891014/p/3308540.html
Copyright © 2020-2023  润新知