请教代码:
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 |
[此贴子已经被作者于2012-10-4 17:16:55编辑过]