分享Python脚本初学心得
27人赞赏了该文章
7,299次浏览
编辑于2018年01月07日 11:27:29
一、定义变量
Python不需要定义变量,直接使用即可。刚一接触,很不习惯。
比如:i=1,你根本无需定义i。
二、获取单据体总行数
rows=this.Model.GetEntryRowCount("单据体的标识");
三、获取基础资料
获取单据体某行物料
baseObj=this.Model.GetValue("FMaterialID",行);
获取单据头基础资料仍然是这个语法,把行去掉即可,如:
baseObj=this.Model.GetValue("FCutomerID");
获取基础资料时要注意,需要判断是否为空。比如当新建一个单据还没有进行任何录入时,你获取单据上某个基础资料,可能会在运行时提示:
'NoneType' object is unsubscriptable
这是因为该基础资料字段还是NULL状态,对象没有创建成功,所以为NoneType,大概意思就是 x = None 然后你使用了x[0],就会出现这个错误。
所以需要在脚本里进行判断。
四、判断对象是否为空。
if baseObj is None
五、关于Python脚本里找不到BeforeSave事件的解决方法。
直接在脚本里输入
def BeforeSave(e):
this.View.ShowMessage("单据保存前触发的事件");
然后做张单据,保存。你会发现事件已触发。
Python不需要定义变量,直接使用即可。刚一接触,很不习惯。
比如:i=1,你根本无需定义i。
二、获取单据体总行数
rows=this.Model.GetEntryRowCount("单据体的标识");
三、获取基础资料
获取单据体某行物料
baseObj=this.Model.GetValue("FMaterialID",行);
获取单据头基础资料仍然是这个语法,把行去掉即可,如:
baseObj=this.Model.GetValue("FCutomerID");
获取基础资料时要注意,需要判断是否为空。比如当新建一个单据还没有进行任何录入时,你获取单据上某个基础资料,可能会在运行时提示:
'NoneType' object is unsubscriptable
这是因为该基础资料字段还是NULL状态,对象没有创建成功,所以为NoneType,大概意思就是 x = None 然后你使用了x[0],就会出现这个错误。
所以需要在脚本里进行判断。
四、判断对象是否为空。
if baseObj is None
五、关于Python脚本里找不到BeforeSave事件的解决方法。
直接在脚本里输入
def BeforeSave(e):
this.View.ShowMessage("单据保存前触发的事件");
然后做张单据,保存。你会发现事件已触发。
推荐阅读