以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]梯坎式提成比例的计算(已解决)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=53471)

--  作者:188802386
--  发布时间:2014/7/8 18:18:00
--  [求助]梯坎式提成比例的计算(已解决)
个人业绩0-5000提0.1
10001-20000提0.15
20001-30000提0.2
30001-40000提0.3
40001-50000提0.35
50001-60000提0.4
60001-70000提0.45
70001-9999999提0.5

在工资表的个人业绩列输入业绩金额后如何让系统自动在业绩提成列里自动计算出该提多少
是梯坎提成式的 如:
个人业绩4500 业绩提成为450
个人业绩为21000 业绩提成为3500
请老师指教
[此贴子已经被作者于2014-7-9 12:52:24编辑过]

--  作者:188802386
--  发布时间:2014/7/8 18:22:00
--  
附件传不起 我回家试试
--  作者:狐狸爸爸
--  发布时间:2014/7/8 18:27:00
--  

呵呵,这不应该成为一个问题哦:

 


Select Case e.DataCol.name
    Case "业绩金额"
        Dim tc As Double
        Dim yj As Double = e.DataRow("业绩金额")
        If yj <10000 Then
        ElseIf yj <=20000 Then
            tc = yj * 0.15
        ElseIf yj <=30000 Then
            tc = yj * 0.2
        ElseIf yj <=40000 Then
            tc = yj * 0.3
        ElseIf yj <=50000 Then
            tc = yj * 0.35
        ElseIf yj <=60000 Then
            tc = yj * 0.4
        ElseIf yj <=70000 Then
            tc = yj * 0.45
        ElseIf yj <= 99999999 Then
            tc = yj * 0.15
        End If
        e.DataRow("提成") = tc
End Select

[此贴子已经被作者于2014-7-8 18:30:40编辑过]

--  作者:188802386
--  发布时间:2014/7/8 18:57:00
--  
个人业绩0-5000提0.1
5001-10000提0.15
10001-20000提0.2
20001-30000提0.25
30001-40000提0.35
40001-50000提0.4
50001-60000提0.45
60001-9999999提0.5
今天怎么了 附件上传不了 狐狸爸爸是一种提成方式,但不是梯坎式的 
比如21000的个人业绩 是
前5000的业绩按0.1提=500  
中间50001-10000按0.15提=750
然后10001-20000按0.2提=2000
最后的1000按0.25提=250
最后业绩提成=500+750+2000+250  等于3500


--  作者:188802386
--  发布时间:2014/7/8 18:59:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:业绩提成(梯坎式.foxdb


--  作者:有点甜
--  发布时间:2014/7/8 19:08:00
--  

你对应该一下即可,留意红色地方,以此类推。

 

Select Case e.DataCol.name
    Case "业绩金额"
        Dim tc As Double
        Dim yj As Double = e.DataRow("业绩金额")
        If yj <10000 Then
            tc = yj * 0.1
        ElseIf yj <=20000 Then
            tc =  10000*0.1 + (yj - 10000) * 0.15
        ElseIf yj <=30000 Then
            tc = 10000*0.1 + 10000*0.15 + (yj-20000) * 0.2
        ElseIf yj <=40000 Then
            tc = yj * 0.3
        ElseIf yj <=50000 Then
            tc = yj * 0.35
        ElseIf yj <=60000 Then
            tc = yj * 0.4
        ElseIf yj <=70000 Then
            tc = yj * 0.45
        ElseIf yj <= 99999999 Then
            tc = yj * 0.15
        End If
        e.DataRow("提成") = tc
End Select

 


--  作者:188802386
--  发布时间:2014/7/8 19:15:00
--  
甜老师 我懂了,但是不是每个职称都是一种提成方式,比如职称列有经理,主管,业务员,他们的提成点都不一样,请问我改怎么把职称套进去呢 


--  作者:有点甜
--  发布时间:2014/7/8 19:28:00
--  

 代码这样写,比较繁琐

 

Select Case e.DataCol.name
    Case "业绩金额"      
        Dim tc As Double
        Dim yj As Double = e.DataRow("业绩金额")
        Select Case e.DataRow("职称")
            Case "职称1"
                If yj <10000 Then
                    tc = yj * 0.1
                ElseIf yj <=20000 Then
                    tc =  10000*0.1 + (yj - 10000) * 0.15
                ElseIf yj <=30000 Then
                    tc = 10000*0.1 + 10000*0.15 + (yj-20000) * 0.2
                ElseIf yj <=40000 Then
                    tc = yj * 0.3
                ElseIf yj <=50000 Then
                    tc = yj * 0.35
                ElseIf yj <=60000 Then
                    tc = yj * 0.4
                ElseIf yj <=70000 Then
                    tc = yj * 0.45
                ElseIf yj <= 99999999 Then
                    tc = yj * 0.15
                End If
            Case "职称2"
               
        End Select
        e.DataRow("提成") = tc
End Select


--  作者:188802386
--  发布时间:2014/7/8 19:29:00
--  
谢谢 甜老师
--  作者:逛逛
--  发布时间:2014/7/8 19:37:00
--  
以下是引用狐狸爸爸在2014-7-8 18:27:00的发言:

呵呵,这不应该成为一个问题哦:

 


图片点击可在新窗口打开查看           狐爸算提成,太娴熟了!