成本计算等级品二开-成本项目等级品二开
【应用场景】
特殊场景下需要对某些成本项目单独设置权重时可以二开
【注意事项】
成本项目权重来源需要另外二开,当前文章仅为设置成本计算等级品权重内容
【实现步骤】
1.继承AbstractCostCalPlugIn类,重写ReCalVarietalCostItemWeight方法
using Kingdee.K3.FIN.CB.App.Core.CostCal.Parameters; using Kingdee.K3.FIN.Core.Object.CostCal; using System.Collections.Generic; using System.Linq; namespace Kingdee.K3.FIN.CB.App.Core.PlugIn { /// <summary> /// 成本计算的插件基类 /// </summary> public class test: AbstractCostCalPlugIn { /// <summary> /// /// </summary> /// <param name="weights">当前订单的入库退库单权重对象</param> /// <param name="costItemId">成本项目内码</param> /// <param name="productingParameter">当前成本计算对象</param> public override void ReCalVarietalCostItemWeight(Dictionary<ProductSeq, decimal> weights, long costItemId, ProductingParameter productingParameter) { //获取自定义权重来源,需要按小数位设置来源,默认时的权重都是100,比如设置废品的权重是合格品的一半 val=0.5 var val = 0; Dictionary<ProductSeq, decimal> newWeights = new Dictionary<ProductSeq, decimal>(); foreach (KeyValuePair<ProductSeq, decimal> ky in weights) { //判断废品 if (ky.Key.StockState == Kingdee.K3.FIN.Core.AcctgStockState.Waster) { //20522 直接材料 成本项目内码 if (costItemId == 20522) { if (!newWeights.Keys.Contains(ky.Key)) { //按原权重*新权重 newWeights.Add(ky.Key, ky.Value * val); } } } } //回写到成本过程的权重对象上 foreach (KeyValuePair<ProductSeq, decimal> ky2 in newWeights) { weights[ky2.Key] = ky2.Value; } } } }
2.在数据库配置二开插件
通过 SELECT * FROM T_HS_APPPLUGIN WHERE FNUMBER='CBJS' 找到配置内码
再去T_HS_APPPLUGINENTRY表配置好二开插件
成本计算等级品二开-成本项目等级品二开
【应用场景】特殊场景下需要对某些成本项目单独设置权重时可以二开【注意事项】成本项目权重来源需要另外二开,当前文章仅为设置成本计算等...
点击下载文档
本文2024-09-23 02:14:45发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-151155.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章