电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

工序计划(单据头-单据体-子单据体结构)的下推与反写

来源:金蝶云社区作者:金蝶2024-09-239

工序计划(单据头-单据体-子单据体结构)的下推与反写

概述

子单据体结构的下推和反写比较特殊,需要进行特殊处理。

 

下推

问题:

字段映射关系是子单据体字段->单据体字段,选择上游2行子单据体分录下推,下游单据只显示一行分录。

 

 

 

解决方法:

分组策略-按规则分组合并生成-单据体分录合并里加上可以唯一标识一行子单据体分录的字段,如工序号。

 



问题:

选择的是2行分录,下游单据把所有分录都下推了。

 

解决方法:

在单据转换插件的OnInSelectedRow方法里,把选择行的子单据体分录id加到过滤条件里。

 

示例代码

/// <summary>

/// 下推、从选单界面选择行返回后

/// </summary>

/// <param name="e"></param>

public override void OnInSelectedRow(BOS.Core.Metadata.ConvertElement.PlugIn.Args.InSelectedRowEventArgs e)

{

    base.OnInSelectedRow(e);

    //如果非整单下推,加上子单据体的过滤

    bool selectByBillId = false;

    this.Option.TryGetVariableValue(ConvertConst.SelectByBillId, out selectByBillId);

    string subFilter = null;

    if (!selectByBillId)

        subFilter = GetPlanSubEntryFilter(e);

    if (!subFilter.IsNullOrEmpty())

        e.InSelectedRowsSQL = e.InSelectedRowsSQL.JoinFilterString(subFilter, "AND");

 }

 

/// <summary>

/// 获取源单中子单据体选择行的过滤条件

/// </summary>

/// <param name="e">下推事件</param>

/// <returns>过滤条件</returns>

private string GetPlanSubEntryFilter(BOS.Core.Metadata.ConvertElement.PlugIn.Args.InSelectedRowEventArgs e)

{

    string filterStr = string.Empty;

    List<long> detailIds = new List<long>()

工序计划(单据头-单据体-子单据体结构)的下推与反写

概述子单据体结构的下推和反写比较特殊,需要进行特殊处理。 下推问题:字段映射关系是子单据体字段->单据体字段,选择上游2行子单据体分录...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信