销售订单销售组织和单据体库存组织不同按库存组织匹配库存出库配置方案原创
金蝶云社区-fengyj
fengyj
8人赞赏了该文章 51次浏览 未经作者许可,禁止转载编辑于2024年08月06日 19:16:54

销售订单销售组织和单据体库存组织不同,需要按库存组织匹配库存出库,由于销售订单的物料字段使用组织关联的是销售组织,因此物料的使用组织与单据体的库存组织不一致,此时是查不到库存数据的,匹配库存出库没有效果。


处理方案:

        1)在销售订单单据体上添加一个基础资料字段,并绑定物料资料;

        2)在销售订单表单插件上注册Python插件,插件代码如下:

import clr
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.DataEntity')
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Bill.PlugIn import *
from Kingdee.BOS.Core.Metadata import *
from Kingdee.BOS.Orm.DataEntity import *

def AfterBindData(e):
  if (this.View.OpenParameter.CreateFrom == CreateFrom.Push or this.View.OpenParameter.CreateFrom == CreateFrom.Draw):#下推或选单时触发,给新字段赋值
    dyobjs = this.View.Model.DataObject["SaleOrderEntry"]
    i=0
    for item in  dyobjs:
      if item["MaterialID"] is not None:
        this.View.Model.SetItemValueByNumber("F_TFGZ_Base_qtr",item["MaterialID"]["Number"].ToString(),i) #F_TFGZ_Base_qtr为字段标识,需要修改为自己的
      i=i+1
      
def DataChanged(e):
  if e.Field.Key == "FMaterialId" and e.NewValue is not None:#选择物料时触发,给新字段赋值
    this.View.Model.SetItemValueByNumber("F_TFGZ_Base_qtr", (this.View.Model.GetValue("FMaterialId", e.Row))["Number"].ToString(), e.Row)


        3)匹配库存出库服务字段映射上物料编码对应新字段。

赞 8