#使用技巧#(金蝶云星空)定制业务分享-使用标准采购流程过滤单据结果定制化业务原创
金蝶云社区-言鱼
言鱼
42人赞赏了该文章 1,102次浏览 未经作者许可,禁止转载编辑于2024年06月22日 21:35:33

一、业务背景

A企业的有一项特殊业务,需要单独的进行处理,流程设计上使用“采购—暂估应付标准流程”,那么为了使用标准的这个系统流程,决定使用库存管理中“采购入库单”“采购退料单”单据,同时为了和其他采购业务区分,我增加了一个单据类型,使用了@林荫大道cc 提供给我的处理思路;


本来是想着走“其他入库单”推“应付单”然后核算的模式,但是想了下确实不如直接使用系统的标准采购业务流程单据;因此在@林荫大道cc 提供给我的处理思路基础上,我做了些小配置和小开发,以满足客户业务的需求;


具体见问答:“其他入库单”走暂估应付模式


业务场景说明:

A企业是某中型电商企业,主要销售成品茶叶,定制化从云南茶叶工厂进行要货,客户下单后广大销售员在金蝶云星空中做销售订单,然后物流根据下推的销售出库单进行发货和快递下单,在星空跟踪销售物流状态,签收后,下推应收单核销预收,或者应收单下推收款单核销代收;


特殊业务:由于企业有自己的发货仓,同时也从茶叶工厂(下述简称:茶厂)在销售后直接从茶厂仓发货,A企业为了管理茶厂的要货和库存,并管理对茶仓的往来账务,因此需要将这部分“定制茶”的业务进行单独处理;


流程简述:企业向茶厂定制一款产品,用于节日礼盒或者其他活动产品,设计部向供应商发了图纸,生产“盒子”,茶厂收到了企业的要货,要“内容物”(茶饼),企业模拟茶厂的生产,将“盒子+内容物”组装为“成品茶”,然后最终“成品茶”调拨到发货仓进行销售;


关键业务流程图:

image.png





流程图仅作为参考使用,可以自己定制流程,不一定要照搬套用;

本篇主要不是讲解业务流程的,而是订正说明“以下知识文档”相关配置和小二开内容


二开案例.列表插件.通过发布菜单时添加自定义参数控制列表过滤结果







二、关键步骤

(一)增加“采购入库单”“采购退料单”关于“定制茶”的单据类型

采购入库单:DZCRK 定制茶入库

1、复制“标准采购入库单”单据类型;

2、取消勾选“默认单据类型”;

3、编码、名称修改;

4、单据布局方案选择“标准入库单”的方案;

5、修改描述;

6、编码规则选择默认编码规则;


image.png



采购退料单:DZCTL 定制茶退料单

1、复制新增“标准退料单”单据类型;

2、取消勾选“默认单据类型”;

3、编码、名称修改;

4、单据布局方案选择“标准退料单”的方案;

5、修改描述;

6、编码规则选择默认编码规则;


image.png



(二)、将单据发布成两个列表菜单,实现不同的列表菜单使用不同的过滤条件来控制列表数据;

参考帖子:二开案例.列表插件.通过发布菜单时添加自定义参数控制列表过滤结果:

https://vip.kingdee.com/article/81119507636544000?productLineId=1&isKnowledge=2


1、新增发布菜单,设置自定义参数;

①设置“采购入库单”“采购退料单”的节点

操作节点:【发布】—【发布到主控台】

 image.png

 

 image.png

 

 

修改原“采购入库单列表”“采购退料单列表”节点,设置自定义参数:

 image.png 

注意:这里的A是手动输入的。定义了一个单据类型的范围,后边的参数值代码是“定制茶入库”的单据类型代码;

这里的A后边的二开会有用处!


参数值为“定制茶入库单”的ID

 

 

新增“定制茶入库单”、“定制茶入库单列表”、“定制茶退料单”、“定制茶退料单列表”节点


4个节点都参考如下配置


注意的是:

单据的权限项是“新增”,发布类型是“维护”

列表的权限项是“查看”,发布类型是“列表”


 image.png




2、二开列表插件过滤显示结果,使自定义参数生效

 这里的二开不使用原文中的代码,因为有问题!


通过发布菜单时添加自定义参数控制列表过滤结果(入库单和退料单均需配置列表插件

Python脚本:

def PrepareFilterParameter(e):
    billTypeId = this.View.OpenParameter.GetCustomParameter("BillTypeID")
    A = this.View.OpenParameter.GetCustomParameter("A")
    
    if (billTypeId == None or billTypeId == ""  or  A == None or A == ""):
        return
    elif (billTypeId == None or billTypeId == ""):
        if e.FilterString != None and e.FilterString.Length > 0:
            e.FilterString = e.FilterString + " and "
        e.FilterString = e.FilterString +("FBillTypeID != '" + A + "'")
        return
    else:
        if e.FilterString != None and e.FilterString.Length > 0:
            e.FilterString = e.FilterString + " and "
        e.FilterString = e.FilterString +("FBillTypeID = '" + billTypeId + "'")



原文中的插件并不能在原来的单据列表中真正的把“定制茶入库”新增的单据类型相关的单据剔除出去,因此用这个自定义参数“A”才可以真正的达到过滤的目的;


另外python脚本中需要对“A”进行判空处理,不然会影响“上下查”的列表界面的打开!




(三)新增子功能“定制茶出入库”,移动发布的节点

1、新增子功能“定制茶出入库”

image.png



2、移动新增的“定制茶相关功能明细(节点)”到“定制茶出入库”子功能下

image.png




三、最终效果

1、前台节点功能展示

image.png



2、列表数据展示

采购入库单列表,除了“定制茶入库”的单据类型外,其余均有单据;

image.png


定制茶入库单列表,只有“定制茶入库”的单据类型的单据

image.png





文末再次感谢@林荫大道cc 大佬的支持和指导!


毕竟思路决定出路



E N D



赞 42