Foxtable(狐表)用户栏目专家坐堂 → [求助]梯坎式提成比例的计算(已解决)


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

主题:[求助]梯坎式提成比例的计算(已解决)

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4927 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2014/7/8 19:49:00 [只看该作者]

如果能根据提成表来套数据就好了,这样就能随时更改提成比例了,这种需求量是非常大了,居然官方没有此类的例子

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/8 19:52:00 [只看该作者]

以下是引用188802386在2014-7-8 19:49:00的发言:
如果能根据提成表来套数据就好了,这样就能随时更改提成比例了,这种需求量是非常大了,居然官方没有此类的例子

 

你这个,是知识点的综合运用,可以利用find等跨表去引用对应数据。

 

http://www.foxtable.com/help/topics/1451.htm

 


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2014/7/8 21:34:00 [只看该作者]

Select Case e.DataCol.name
    Case "业绩金额"
        Dim tc As Double
        Dim yj As Double = e.DataRow("业绩金额")
        If yj > 70000 Then
            tc = yj * 0.5
        Else
            tc = yj * ((yj \ 5000)*0.05+0.1)
        End If
        e.DataRow("提成") = tc
End Select

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4927 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2014/7/9 11:31:00 [只看该作者]

如何让这种店业绩只职务等于部门经理或店面经理的时候才显示店业绩金额 其他都空起

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140709113056.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/9 11:35:00 [只看该作者]

  取决于你的店业绩是怎么来的。如果要出来,可以用代码把它们清空

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/9 11:37:00 [只看该作者]

For Each dr As DataRow In DataTables("表A").DataRows
    If dr("职务") <> "经理" AndAlso dr("职务") <> "部门经理" Then
        dr("店业绩") = Nothing
    End If
Next

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4927 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2014/7/9 11:43:00 [只看该作者]

是这样得来的,但我只想“职务”列为部门经理或店面经理时才显示店业绩

If Functions.Execute("ShouQuan","佣金业绩表","生成工资表") Then
Dim dt As DataTable = DataTables("工资")
dt.DataRows.Clear
Dim d1 As Date = Forms("佣金一览表").Controls("StartDate").Value
Dim d2 As Date = Forms("佣金一览表").Controls("EndDate").Value
Dim filter2 As String = "上岗日期 <= #" & d2 & "# and (离职日期 >= #" & d1 & "# or 离职日期 is null)"
For Each dr As DataRow In DataTables("员工管理").Select(filter2)
    Dim ndr As DataRow = dt.AddNew
    ndr("日期") = Forms("佣金一览表").Controls("EndDate").Value
    ndr("姓名") = dr("姓名")
    ndr("部门") = dr("门店")
    ndr("职务") = dr("职务")
    ndr("个人业绩") = DataTables("佣金业绩表").Compute("sum(合计_佣金)","[置业顾问] = '" & dr("姓名") & "'")
    ndr("店业绩") = DataTables("佣金业绩表").Compute("sum(合计_佣金)","[门店] = '" & dr("门店") & "'")
Next
Forms("工资").Show()
Else
    MessageBox.show("你无生成工资权限!")
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/9 11:46:00 [只看该作者]

看16楼,清空一下

 

If Functions.Execute("ShouQuan","佣金业绩表","生成工资表") Then
    Dim dt As DataTable = DataTables("工资")
    dt.DataRows.Clear
    Dim d1 As Date = Forms("佣金一览表").Controls("StartDate").Value
    Dim d2 As Date = Forms("佣金一览表").Controls("EndDate").Value
    Dim filter2 As String = "上岗日期 <= #" & d2 & "# and (离职日期 >= #" & d1 & "# or 离职日期 is null)"
    For Each dr As DataRow In DataTables("员工管理").Select(filter2)
        Dim ndr As DataRow = dt.AddNew
        ndr("日期") = Forms("佣金一览表").Controls("EndDate").Value
        ndr("姓名") = dr("姓名")
        ndr("部门") = dr("门店")
        ndr("职务") = dr("职务")
        ndr("个人业绩") = DataTables("佣金业绩表").Compute("sum(合计_佣金)","[置业顾问] = '" & dr("姓名") & "'")
        If dr("职务") <> "经理" AndAlso dr("职务") <> "部门经理" Then
            dr("店业绩") = Nothing
        Else
            ndr("店业绩") = DataTables("佣金业绩表").Compute("sum(合计_佣金)","[门店] = '" & dr("门店") & "'")
        End If

    Next
    Forms("工资").Show()
Else
    MessageBox.show("你无生成工资权限!")
End If


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


加好友 发短信
等级:三尾狐 帖子:629 积分:4927 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2014/7/9 12:15:00 [只看该作者]

甜老师 由于我“佣金明细”表采用的sql分页加载,如何让店业绩从后台统计“结佣日”列"StartDate""EndDate"时间范围内的店业绩呢
If Functions.Execute("ShouQuan","佣金业绩表","生成工资表") Then
Dim dt As DataTable = DataTables("工资")
dt.DataRows.Clear
Dim d1 As Date = Forms("佣金一览表").Controls("StartDate").Value
Dim d2 As Date = Forms("佣金一览表").Controls("EndDate").Value
Dim filter2 As String = "上岗日期 <= #" & d2 & "# and (离职日期 >= #" & d1 & "# or 离职日期 is null)"
For Each dr As DataRow In DataTables("员工管理").Select(filter2)
    Dim ndr As DataRow = dt.AddNew
    ndr("日期") = Forms("佣金一览表").Controls("EndDate").Value
    ndr("姓名") = dr("姓名")
    ndr("部门") = dr("门店")
    ndr("职务") = dr("职务")
    ndr("个人业绩") = DataTables("佣金业绩表").Compute("sum(合计_佣金)","[置业顾问] = '" & dr("姓名") & "'")
        If ndr("职务") <> "店面经理" AndAlso ndr("职务") <> "见习经理" Then
            ndr("店业绩") = Nothing
        Else
            ndr("店业绩") = DataTables("佣金明细").Compute("sum(佣金)","[店面经理] = '" & dr("姓名") & "'")
        End If
Next
Forms("工资").Show()
Else
    MessageBox.show("你无生成工资权限!")
End If

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


加好友 发短信
等级:三尾狐 帖子:629 积分:4927 威望:0 精华:0 注册:2014/2/25 15:50:00
  发帖心情 Post By:2014/7/9 12:52:00 [只看该作者]

已解决

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