Foxtable(狐表)用户栏目专家坐堂 → 请教代码


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

主题:请教代码

帅哥哟,离线,有人找我吗?
szp2012
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:202 积分:1683 威望:0 精华:0 注册:2011/6/17 16:07:00
请教代码  发帖心情 Post By:2012/10/4 16:20:00 [只看该作者]

请教代码:

 

Dim drs As List(Of DataRow)

drs = e.DataTable.Select(" e.DataRow.IsNull  = True And [销售数量] > 0 ")

Dim dr As DataRow

 

Dim dr1 As DataRow

dr1 = DataTables("上月应收").Find("经手人= '" & dr1("业务员") & "'")

  Dim p As Double =  dr1("本月平均运费")

  dr1("平均运费")= p

 For Each dr In drs

Dim q As Double = dr("销售毛利")/ dr("销售数量") - 60

Dim h As Double = dr("销售毛利")/ dr("销售数量") - 60 -p

If dr("销售毛利") > 0  Then

    If dr("销售类型") = "自提" Then

      If q > 1  Then

        dr("毛利") = q*dr("销售数量")*4/1000

      Else q < = 1  Then

        dr("毛利")= dr("销售数量")*1

      End If

    Else dr("销售类型") = "送货" Then

      If h> 1  Then

        dr("毛利") = h*dr("销售数量")*4/1000

      Else  dr("销售毛利")/dr("销售数量")-60-p<= 0  Then

      dr("毛利")= dr("销售数量")

      End If

 

     

    End If

Else  dr("销售毛利") < = 0  Then

 

   dr("毛利")= dr("销售数量")

 

End If

Next

见附件销售表中datacolchanged事件中,总是显示出错,请指正

销售表导入后,自动算出每行业务员毛利(即每吨提成,销售表中“毛利”列)

1.“冲销单号”列有数字或“销售数量”列为负数的行是退货和单据冲销,不予计算

2."销售毛利"列为负数,即亏损,直接按每吨1元计入“毛利”列   毛利= 销售数量*1

3.“销售毛利列”为正数分:(吨毛利=销售毛利/销售数量-60-P(注意,销售类型为自提,p=0,销售类型为送货,P为每个业务员当月平均吨运费,运费金额/运输重量(运费表有明细))分下列情况

 

1)“销售类型”列 “自提”  

 

   1))销售毛利/销售数量-60(注:每吨60元固定费用)>1 时    毛利=吨毛利*销售数量*4/100

 

2))   销售毛利/销售数量-60(注:每吨60元固定费用)<=1 时 毛利=销售数量*1

2)“销售类型”列 “送货” 

  1))销售毛利/销售数量-60-p(注:每吨60元固定费用)>1 时    毛利=吨毛利*销售数量*4/100

 

2))   销售毛利/销售数量-60-p(注:每吨60元固定费用)<=1 时 毛利=销售数量*1


 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目4.zip

[此贴子已经被作者于2012-10-4 17:16:55编辑过]

 回到顶部
帅哥,在线噢!
y2287958
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2012/10/4 16:33:00 [只看该作者]

不好意思,俺生性愚昧,未看懂您的意思。

 回到顶部
帅哥哟,离线,有人找我吗?
szp2012
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:202 积分:1683 威望:0 精华:0 注册:2011/6/17 16:07:00
  发帖心情 Post By:2012/10/4 17:13:00 [只看该作者]

 

[此贴子已经被作者于2012-10-4 17:17:18编辑过]

 回到顶部
帅哥,在线噢!
y2287958
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4759 积分:34603 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2012/10/4 19:42:00 [只看该作者]

这个用表达式就可以的
不必要用代码的

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/10/4 19:50:00 [只看该作者]

一楼代码问题太多了,e.DataRow.IsNull  = True,这里应该要判断具体的字段

Else q < = 1  Then应该是ElseIf q < = 1  Then


 回到顶部
帅哥哟,离线,有人找我吗?
szp2012
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:202 积分:1683 威望:0 精华:0 注册:2011/6/17 16:07:00
  发帖心情 Post By:2012/10/4 20:46:00 [只看该作者]

按上述改过,还是不行,窗口销售按钮导入,出现

 

Exception has been thrown by the target of an invocation.

 

 

.NET Framework 版本:2.0.50727.42
Foxtable 版本:2012.9.27.1
错误所在事件:表,销售,DataColChanged
详细错误信息:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at UserCode.DataColChanged(DataColEventArgs e)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Foxtable.DataTable.Oll0OOOO0lO0ll1l0Ol010O1(Object O001O1, DataColumnChangeEventArgs O)


 回到顶部
帅哥哟,离线,有人找我吗?
szp2012
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:202 积分:1683 威望:0 精华:0 注册:2011/6/17 16:07:00
  发帖心情 Post By:2012/10/5 12:55:00 [只看该作者]

解决

[此贴子已经被作者于2012-10-5 13:01:36编辑过]

 回到顶部