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

销售订单下推生产订单释放预留

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

销售订单下推生产订单释放预留

#### 需求描述 1.某些类型的销售订单不走销售出库,因此下推生产订单入库后的预留关系不会被自动释放。 2.生产订单可以供应给其他需求单。 因此,在该类型的销售订单下推生产订单时,释放其与生产订单的预留关系,并保留生产订单下级的预留关系。 #### 实现思路 生产订单保存时,判定当前的生产订单作为供应的预留关系是否存在销售订单作为需求的预留关系,如果存在则获取生产订单的单据ID与分录ID批量释放预留,仅释放生产订单作为供应的预留关系。 1.二开锚点:生产订单保存操作插件 2.二开重写事件:AbstractOperationServicePlugIn #### 参考插件 ```csharp using Kingdee.BOS; using Kingdee.BOS.Core.BusinessFlow.ReserveLogic; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.Util; using Kingdee.K3.Core.MFG; using Kingdee.K3.Core.MFG.EnumConst; using Kingdee.K3.Core.MFG.PLN.Reserved; using Kingdee.K3.Core.MFG.PLN.Reserved.ReserveArgs; using Kingdee.K3.MFG.App; using Kingdee.K3.MFG.Common.BusinessEntity.PLN; using Kingdee.K3.MFG.Contracts.PLN.Reserve; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; namespace SampleAppPlugIn { [Description("生产订单释放预留")] public class MOSaveReleaseReserveLink : AbstractOperationServicePlugIn { public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e) { List<OriBillInfo> lstFinishCloseRows = new List<OriBillInfo>(); var releaseDatas = GetReleseDatas(this.Context, e.DataEntitys.Select(x => Convert.ToInt64(x["Id"])).ToList()); if (!releaseDatas.IsEmpty()) { //删除预留关系中该分录作为供应的分录,不删除相关需求的预留关系(并删除预留关系的转换日志,否则在重复保存时无法重新生成预留关系) ReserveArgs<ReleaseRowInfo> releaseArgs = new ReserveArgs<ReleaseRowInfo>(); releaseArgs.SelectRows = (from p in releaseDatas select new ReleaseRowInfo ( "PRD_MO", Convert.ToString(p["FSUPPLYINTERID"]), Convert.ToString(p["FSUPPLYENTRYID"]), "FTreeEnt

销售订单下推生产订单释放预留

#### 需求描述1.某些类型的销售订单不走销售出库,因此下推生产订单入库后的预留关系不会被自动释放。2.生产订单可以供应给其他需求单。因...
点击下载文档文档为doc格式

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

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