Foxtable(狐表)用户栏目专家坐堂 → [求助]


  共有2796人关注过本帖树形打印复制链接

主题:[求助]

帅哥哟,离线,有人找我吗?
沪上游客
  11楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/9/1 9:03:00 [显示全部帖子]

老师你好,不是这个问题。
现在我只要把父表(工程合同基础数据)表事件AfterLoad中:e.DataTable.LoadChildren("增值税fa piao开piao登记")取消注释,就会出现这个对话框,如果保存项目,在父表中会复制一条同样的记录,造成打开项目时错误提示:子表记录有父表多条记录。

我查了一下,在子表(增值税fa piao开piao登记)事件AfterMoveRow中的代码:
Dim Key As Decimal
Dim Index As Integer
Dim Filter As String
Dim r As Row
Index = Math.Min(e.OldIndex, e.NewIndex)
Key = e.Table.Rows(Index)("_SortKey")
r = e.Table.Rows(e.NewIndex)
Filter = "[_SortKey] >= " & Key & " And [合同编号] = '" & r("合同编号") & "'"
e.Table.DataTable.DataCols("本次开piao金额").RaiseDataColChanged(Filter)

这段代码中出现Decimal,是不是有问题?
谢谢老师!
[此贴子已经被作者于2017/9/1 9:04:22编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
沪上游客
  12楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/9/1 9:26:00 [显示全部帖子]

另外我在项目事件LoadUserSetting中加入以下代码,也会出现相同的错误对话框。为什么?
现在我总结了一下,只要把子表("增值税fa piao开piao登记")设定只加载所在部门的数据,就会出错。谢谢!


If User.Type = UserTypeEnum.Administrator Or UserTypeEnum.Developer Then
    DataTables("增值税fa piao开piao登记").LoadFilter = ""
Else If User.Group = "总公司" Then
    DataTables("增值税fa piao开piao登记").LoadFilter = ""
Else If User.Group Like "*区域" OrElse user.group Like "*直属" Then
    DataTables("增值税fa piao开piao登记").LoadFilter = "所属区域公司 = '" & User.Group & "'"
Else If User.Group Like "*分公司" Then
    DataTables("增值税fa piao开piao登记").LoadFilter = "分公司 = '" & User.Group & "'"
End If
DataTables("增值税fa piao开piao登记").Load()
[此贴子已经被作者于2017/9/1 9:32:56编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
沪上游客
  13楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/9/1 9:49:00 [显示全部帖子]

老师你好,我把子表中所有事件注销了,再恢复父表(工程合同基础数据)表事件AfterLoad中:e.DataTable.LoadChildren("增值税fa piao开piao登记")
还是出错:
.NET Framework 版本:2.0.50727.4984
Foxtable 版本:2017.8.19.1
错误所在事件:加载[增值税fa piao开piao登记]失败!
详细错误信息:
无法在 System.Decimal 和 System.DBNull 上执行“Or”操作。


 回到顶部
帅哥哟,离线,有人找我吗?
沪上游客
  14楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/9/1 10:08:00 [显示全部帖子]

老师想问一下,是不是在父表中的表达式中有Or,因为有很多是因为空值。
比如:IIF([其他税费_工会经费] Is Null And [其他税费_资源税] Is Null,0,IIF([其他税费_工会经费] Is Null Or [其他税费_资源税] Is Null,0 + [其他税费_资源税] Or 0 + [其他税费_工会经费],[其他税费_工会经费] + [其他税费_资源税]))
表达式Sum(Child(收入合同_总部申报).工会经费),如果子表没有关联记录,系统默认为空值,这种情况是不是可以设置为0,还有能不能把所有表达式列(高精度小数)空值设置为0,怎么设置?
这样可以减少IIF()还有"Or"
谢谢老师!
[此贴子已经被作者于2017/9/1 10:18:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
沪上游客
  15楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2144 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2017/9/1 12:53:00 [显示全部帖子]

谢谢老师!已解决。
是表达式列的问题,应该是高精度小数列为空值不可以用“Or”,现在我把公式都改为IsNull([语文],0) + IsNull([数学],0),就正常了。
感谢老师!


 回到顶部
总数 16 上一页 1 2