|
快速开发平台中,客户进行二次构建开发,有一个注册人员的功能,在选中一个岗位后,点击注册人员,发现有时候正常,有时候不正常。不正常的时候出现的错误如下:
failed to convert parameter value from a string to a int32.
记录部件1.SetFieldValue("GANGWEIID",Me.GetParam("岗位ID"))
通过这个错误代码发现,是给记录部件的GANGWEIID字段赋值时,出现的,于是 msgbox(Me.GetParam("岗位ID") ) 查看传入的是什么,结果测试的时候是一个数字。那就奇怪了,为什么偶尔还出现这种字符转化整数错误呢?
经过排查,GANGWEIID这个字段,设置了他表关联,从部门岗位表关联过来,并且设置了关联条件。
之前的代码是:
'设置所属岗位的他表业务表变量,并设置默认岗位ID
zd= 记录部件1.GetColumnBizTable("GANGWEIID")
zd.SetVaribleValue("orgidstr",记录部件1.GetFieldValue("SUOSHUBUMENID"))
记录部件1.SetFieldValue("GANGWEIID",cint(Me.GetParam("岗位ID")))
上面代码是先对这个字段的他表变量赋值了,然后再对这个字段设置值,就可能引起上面图的问题。
改正后的代码:
记录部件1.SetFieldValue("GANGWEIID",cint(Me.GetParam("岗位ID")))
'设置所属岗位的他表业务表变量,并设置默认岗位ID
zd= 记录部件1.GetColumnBizTable("GANGWEIID")
zd.SetVaribleValue("orgidstr",记录部件1.GetFieldValue("SUOSHUBUMENID"))
先给字段赋值,在给字段的他表变量设置值。
然后就正常了。
|
|