
[python插件代码,如何通过采购入库单保存时把单据体上的仓库、仓位赋值到基础资料的仓库、仓库](https://wenku.my7c.com/questions/476714464754828288?productLineId=1)
对于次回答提供了解决思路,但是没完全解决一直在私信交流,决定开篇文章分享功能
# 重点
- 要查看 e.DataEntitys 的数据包结构 因为了解了结构才能更顺利的取值避免多次取值失败
- 通过 ==raise NameError(JsonConvert.SerializeObject(obj));== 获取数据包结构

-
**修改完基础资料一定要清除缓存**
-
**修改完基础资料一定要清除缓存**
-
**修改完基础资料一定要清除缓存**
- 重要的事情说三遍
# 部署

# 代码块
``` python
import clr
clr.AddReference("System")
clr.AddReference("System.Core")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.App")
clr.AddReference("Kingdee.BOS.Core")
clr.AddReference("Kingdee.BOS.DataEntity")
clr.AddReference("Newtonsoft.Json")
clr.AddReference("Kingdee.BOS.ServiceHelper")
from Kingdee.BOS.Util import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Core.Metadata.FormElement import *
from Kingdee.BOS.App.Data import *
from System import *
from System.Linq import *
from System.Text import *
from Newtonsoft.Json import *
from Newtonsoft.Json.Linq import *
from Kingdee.BOS.ServiceHelper import *
def AfterExecuteOperationTransaction(e):
obj = e.DataEntitys;
_FEntity=obj[0]["InStockEntry"] #获取单据明细表
#raise NameError(JsonConvert.SerializeObject(obj)); #用于查看数据结构 方便取值使用
for item in _FEntity :
MaterialId_Id= item["MaterialId_Id"];#物料标识
StockId_Id = item["StockId_Id"];#仓库