生产订单自动生成工序计划,并自动执行至下达后,工序计划的下达时间设置为取开工日期

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

生产订单自动生成工序计划,并自动执行至下达后,工序计划的下达时间设置为取开工日期

【应用场景】

生产订单自动生成工序计划,并自动执行至下达后,工序计划的下达时间设置为取开工日期。

由于整个流程是由生产订单的审核操作自动调用的,并不是界面手动操作,因此不会触发工序计划上的操作服务插件,也就无法通过工序计划上的操作插件进行赋值。

应该从生产订单审核这一时机点着手,在审核后处理中进行二开赋值。



【注意事项】

该实现方案涉及到工序计划的字段赋值,非最佳实践,不推荐使用,仅限于特殊场景下的特殊应用。


【实现步骤】

BOSIDE扩展生产订单,表单插件中注册Python脚本


Python脚本如下:

clr.AddReference("Kingdee.K3.MFG.App")
clr.AddReference("Kingdee.K3.MFG.Contracts")
clr.AddReference("Kingdee.BOS.App")
from Kingdee.K3.MFG.App import *
from Kingdee.K3.MFG.Contracts import *
from Kingdee.BOS.App import *
from Kingdee.BOS.App.Data import *
def AfterExecuteOperationTransaction(e):
	for dataEntity in e.DataEntitys:
		id = dataEntity["Id"]
		sqlStr="MERGE INTO T_SFC_OPERPLANNINGDETAIL_D T1 USING (SELECT D.FDETAILID,P.FPLANSTARTTIME FROM T_SFC_OPERPLANNING P INNER JOIN T_SFC_OPERPLANNINGSEQ S ON S.FID=P.FID INNER JOIN T_SFC_OPERPLANNINGDETAIL_D D ON D.FENTRYID=S.FENTRYID WHERE P.FMOID=" + id.ToString() + ") T2 ON T2.FDETAILID=T1.FDETAILID WHEN MATCHED THEN UPDATE SET T1.FCONVEYDATE=T2.FPLANSTARTTIME;"
		DBUtils.Execute(this.Context, sqlStr)

【金蝶云星空BOS二次开发案例演示】

https://vip.kingdee.com/article/94751030918525696



生产订单自动生成工序计划,并自动执行至下达后,工序计划的下达时间设置为取开工日期

【应用场景】生产订单自动生成工序计划,并自动执行至下达后,工序计划的下达时间设置为取开工日期。由于整个流程是由生产订单的审核操作自...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息