#实践案例#成本工作台_自动获取《月末在制分配标准值维护》原创
金蝶云社区-Cast
Cast
83人赞赏了该文章 1839次浏览 未经作者许可,禁止转载编辑于2023年02月02日 14:10:43

一、业务背景

(一)业务背景

1、在金蝶云星空系统中,成本模块的菜单,在产品盘点录入和月末在制存在关联关系,月末在制结存依赖在产品盘点录入的数据来生成月末在制结存数据,但是经常会有客户忘记在生成月末在制时,先去更新下在产品盘点录入,导致会存在数据缺失的情况。

2、存货关账后,任然需要再次获取一遍,存在重复操作的情况,每次获取操作步骤也繁琐

(二)业务痛点

1、成本会计需要打开多个页面来操作。

2、对接触成本时间不长的会计,可能会没有按步骤来准备成本计算的数据。


二、解决方案

(一)关键步骤

发布菜单:工作台设置

打开BOSIDE,先新增子功能:成本工作台,再新增:工作台设置、工作台方案

image.pngimage.pngimage.png


业务对象功能授权

管理员登录,对“成本会计”角色授权

image.png

 

新增工作台方案

 image.png


4  发布菜单:成本工作台

打开BOSIDE,新增

image.pngimage.pngimage.png

参数名:SCHEMENUMBER

 

新增工作台

 image.png


如果手工操作,则打开使用

 image.png

image.png


如果自动进行在产盘点和获取月末在制,则二开插件,并新增到工作台。

7.1 在工作台设置->校验条件配置 列配置二开的插件

image.png

7.2 在产品盘点自动获取接口示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Kingdee.K3.FIN.App.Core;
using Kingdee.K3.FIN.App.Core.Workbench;
using Kingdee.K3.FIN.Core;
using Kingdee.K3.FIN.CB.ServiceHelper;
using Kingdee.K3.FIN.CB.Common.BusinessEntity.FilterCondition;
using Kingdee.BOS.JSON;
using Kingdee.K3.FIN.CB.Business.PlugIn;
using Kingdee.BOS;

namespace AutoGetWipDataAndWipBom
{
    public class AutoGetWipData : HSVerifyItem
    {
        /// <summary>
        /// 执行检查是否通过
        /// </summary>
        /// <param name="ctx"></param>
        /// <param name="option"></param>
        /// <returns></returns>
        public override bool Execute(Context ctx, Kingdee.BOS.Orm.OperateOption option)
        {
            base.Execute(ctx, option);
            //默认完成
            this.CompStatus = WorkbenchStatus.Completed;
            this.CheckResult = Kingdee.BOS.Resource.ResManager.LoadKDString("已完成", "0032996000023274", Kingdee.BOS.Resource.SubSystemType.FIN);
            this.PassDate = AppServiceContext.GetSysDate(ctx);
            return true;
        }

        /// <summary>
        /// 自动获取在产品盘点
        /// </summary>
        /// <param name="ctx"></param>
        /// <param name="option"></param>
        /// <returns></returns>
        public override bool AutomateExecute(Kingdee.BOS.Context ctx, Kingdee.BOS.Orm.OperateOption option)
        {
            CommonBillRptCondition fileCondition = new CommonBillRptCondition();
            //核算组织
            fileCondition.AcntOrgId = base.OutStockAcctgParameters.AcctgOrg.Id;
            //会计政策
            fileCondition.AcntPolicyId = base.OutStockAcctgParameters.AcctPolicy.Id;
            //核算体系
            fileCondition.AcntSystemId = base.OutStockAcctgParameters.AcctgSys.Id;

            int year = 0;
            int period = 0;
            //获取当前年期
            CBCommonFunction.GetSystemCurYearPeriod(ctx, base.OutStockAcctgParameters.AcctgSys.Id, base.OutStockAcctgParameters.AcctgOrg.Id, base.OutStockAcctgParameters.AcctPolicy.Id, out year,out period);

            fileCondition.SelectYear = year;
            fileCondition.SelectPeriod = period;
            
            //获取在产品盘点
            ProductingCountServiceHelper.ProductCounting(ctx, fileCondition);
            return true;
        }
    }
}

三、方案的可推广价值

1、成本会计可以更快捷的完成成本计算前的数据准备。

2、对接触成本时间不长的会计,可以更加直观的理解成本流程,减少操作步骤上的错误。

3、开发人员也可以通过该例子来自定义设置其他的操作流程。


作者:罗涛、武湘江、钱奇

赞 83