
【场景】解释不同场景下表达式引用报错的逻辑
【案例1】单据上的字段,直接访问

错误描述: 'fieldKey' is not defined;其中这个fieldKey是单据上的字段标识
错误修正:这类错误很简单,把字段加回去就好了;通常可能原因是元数据里面误删除了一个字段,可通过元数据修改记录或协同平台svn元数据还原把字段补回去
【案例2】单据上的基础资料字段,访问其单据头引用属性
表达式:fmaterialid != null and fmaterialid.FIsProduce == true

错误描述: 基础资料字段 'bdfieldkey' 没有定义 'fieldkey' 的应用,请修正公式火灾此字段上添加其引用
其中bdfieldkey是单据上的字段标识,fieldKey是基础资料里面的字段标识;
此案例中bdfieldKey 是物料, fieldKey 是允许生产
错误修正:
<1>先检查基础资料中这个字段是否存在,如果不存在,则需要按照元数据修改记录或协同平台svn元数据还原把字段补回去

<2>确认当前单据中的基础资料,对应的引用属性是否存在此字段

如图所示,确实缺少了该字段的引用;增加此引用后访问正常

【案例3】单据上的基础资料字段,访问其单据体引用属性
表达式:FMaterialid!=null and len(filter(lambda x:x.UseOrgId10 != null and x.IsEnable==true and x.InvPtyId_Id==10003, FMaterialID.MaterialInvPty))>0
![Image_202212021102