易表在线答疑技术与交流用户社区 → [求助]关于"复杂利息计算"的新问题(“当月结息”如何改为“次月结息”?)


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

主题:[求助]关于"复杂利息计算"的新问题(“当月结息”如何改为“次月结息”?)

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/11/28 21:31:00 [只看该作者]

这下子行了!
我看你好象只是将几个replacefor()改成了evalfor(),其他地方没看出来个性什么,难道evalfor()比replacefor()神多了?

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/11/28 21:32:00 [只看该作者]

啊!行了!谢谢!
但我就是看见你好象将replacefor()的换成了evalfor(),其他没看出改了什么,怎么就成功了呢?
难道evalfor()比replacefor()

-=-=-=- 以下内容由 tzszw2006年11月28日 09:33pm 时添加 -=-=-=-
上面第三句应是"难道evalfor()比replacefor()神多了?"

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/28 21:48:00 [只看该作者]

可能是用表达式作Replacefor的替换值存在问题吧,而Evalfor是指定计算表达式,我猜的。

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/11/28 21:50:00 [只看该作者]

谢谢!
请问你平时遇到过类似问题吗?

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/28 21:51:00 [只看该作者]

还没遇到过。

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/11/28 21:56:00 [只看该作者]

那就怪了呀!可惜我对Evalfor总是掌握不好,虽然也仔细看过"技巧"区中的Evalfor专题!
再次谢谢!

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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/11/28 22:07:00 [只看该作者]

  另外,再想请教一个与此问题不太相干的问题:
  就是,象我上面33楼压缩包文件中"缴费明细"表已近4万条记录,"个人开户"表是从"缴费明细"表中取的不重复记录. 我原来没有设"缴费录入"和"缴费审核"两个表,而是将这两个功能窗口的功能集成在"缴费明细"表的"录入"和"审核"窗口(现这两个窗口不用了).当时一是觉得数据量太大,保存太慢;二是在录入人员录入数据时,审核人员不能即时看到新录入的数据,而且录入后的数据在审核人员审核时容易发生两人同时保存数据出错(即不是想要的保存结果问题).
  对此,你认为数据量大了是"分两个文件存放"(可能这样单个文件保存会快些)还是象我现在这样"都放在一个文件"中设计合理些呢?
  很想就此程序听听你的高见!
  谢谢!

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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/28 22:30:00 [只看该作者]

只能说各有长处,保存在同一个文件中调用数据快一点,其它都慢。
保存在不同文件中,调用数据相对来说慢一点。

我在个人开户表的窗口中新做了一个按钮,是调用其它文件的,你自己可以测试一下,将文件解压到同一个文件夹中。


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


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/28 22:34:00 [只看该作者]

文件太大传不上来。
你可以按我说的自己做一下。
1、将缴费明细表单独保存为一个文件,命名为“缴费明细”。
2、在个人开户第三个窗口增加一个自定义按钮。
公式:

FilterFor("保险编码","=",[%BXBH%],2) and ClearGrid("待遇审核") And Import("待遇审核",docdir+"缴费明细.egd","缴费明细","1498shx0099","保险编码","=",[%BXBH%]) And DelRow("待遇审核",1)And Replacefor("待遇审核","核定日期",[%核定日期%])and RecalcCol("待遇审核",11,16)and FilterRGrid("待遇审核","保险编码","=",[%BXBH%],2)and OpenRView("待遇审核",1)and ReplaceFor("个人开户","年龄",year([待遇审核!核定日期])-year([待遇审核!出生年月])+if((month([待遇审核!核定日期])-month([待遇审核!出生年月]))>=1,0,-1),"保险编码","=",[%BXBH%])and SetVariable([%给付年龄%],[年龄])and EvalFor("个人开户","给付系数","[给付系数!养老金系数]","年龄","=",[给付系数!年龄])and EvalFor("个人开户","缴费总额","round([%jfhj00%],2)","保险编码","=",[%BXBH%])and EvalFor("个人开户","积累金额","round([%jlje%]*(1-[系统信息!管理费率]),2)","保险编码","=",[%BXBH%])and if([%dylx1%]="一次性支付",EvalFor("个人开户","月待遇","round([积累金额],2)","保险编码","=",[%BXBH%]),EvalFor("个人开户","月待遇","round([给付系数]*[积累金额],2)","保险编码","=",[%BXBH%]))and recalcRow(GridName,Row,Row,1)and if([%sfkf%]>0,SetLabel(".","该保险编码的记录已开户!")and ShowRelationRows()and SetLabel("历史记录",[%lsjls%])and SetLabel("个人缴纳0",[%lsgrj%])and SetLabel("集体补贴0",[%lsjtb%])and SetLabel("镇街补贴0",[%lszjb%])and SetLabel("区级补贴0",[%lscjb%])and SetLabel("缴费合计0",[%lsjfhj%]),SetLabel(".","该保险编码的记录尚未开户!建议点[新增开户记录]命令按钮或转入[开户处理]模块中新增该编码的参保户信息!")and ShowRelationRows() and SetLabel("历史记录","   ")and SetLabel("个人缴纳0","         ")and SetLabel("集体补贴0","         ")and SetLabel("镇街补贴0","         ")and SetLabel("区级补贴0","         ")and SetLabel("缴费合计0","         "))and if(usertype=5 or usertype=6,FilterRGrid("退休核准","保险编码","=",[%BXBH%],2)and if([%txhj%]=0,MsgBox("该记录尚未初核,请先执行初核操作后才能复核",0,4),if([月待遇]-[退休核准!月待遇]=0,MsgBox("此次计算的月待遇标准与初核的标准一样,建议直接按下面的[复核]按钮!",0,4),MsgBox("此次计算的月待遇标准与初核的标准不一样,此笔记录不能执行[复核]操作!",0,4))),True)


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


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/11/28 23:31:00 [只看该作者]

好的,我按照你提供的方法测试一下!
但我刚才在参照已运行通过的你给的"按月或一次性给付待遇核定"中公式去修改"个人开户"表的"转(退)保给付待遇核定"窗口公式时,始终没成功,总是报公式有错误,实在想不能通.
其公式是这样的:
if([%dylx2%]="按月领取" or [%dylx2%]="一次性支付",FilterFor("保险编码","=",[%BXBH%],2) and ClearGrid("待遇审核") And Import("待遇审核",filename,"缴费明细","1498shx0099","保险编码","=",[%BXBH%]) And DelRow("待遇审核",1)And Replacefor("待遇审核","核定日期",[%核定日期%])and RecalcCol("待遇审核",11,16)and FilterRGrid("待遇审核","保险编码","=",[%BXBH%],2)and OpenRView("待遇审核",1)and ReplaceFor("个人开户","年龄",year([待遇审核!核定日期])-year([待遇审核!出生年月])+if((month([待遇审核!核定日期])-month([待遇审核!出生年月]))>=1,0,-1),"保险编码","=",[%BXBH%])and SetVariable([%给付年龄%],[年龄])and EvalFor("个人开户","给付系数","[给付系数!养老金系数]","年龄","=",[给付系数!年龄])and EvalFor("个人开户","缴费总额","round([%jfhj00%],2)","保险编码","=",[%BXBH%])and EvalFor("个人开户","积累金额","round([%jlje%]*(1-[系统信息!管理费率]),2)","保险编码","=",[%BXBH%])and if([%dylx1%]="一次性支付",EvalFor("个人开户","月待遇","round([积累金额],2)","保险编码","=",[%BXBH%]),EvalFor("个人开户","月待遇","round([给付系数]*[积累金额],2)","保险编码","=",[%BXBH%]))and recalcRow(GridName,Row,Row,1)and if([%sfkf%]>0,SetLabel(".","该保险编码的记录已开户!")and ShowRelationRows()and SetLabel("历史记录",[%lsjls%])and SetLabel("个人缴纳0",[%lsgrj%])and SetLabel("集体补贴0",[%lsjtb%])and SetLabel("镇街补贴0",[%lszjb%])and SetLabel("区级补贴0",[%lscjb%])and SetLabel("缴费合计0",[%lsjfhj%]),SetLabel(".","该保险编码的记录尚未开户!建议点[新增开户记录]命令按钮或转入[开户处理]模块中新增该编码的参保户信息!")and ShowRelationRows() and SetLabel("历史记录","   ")and SetLabel("个人缴纳0","         ")and SetLabel("集体补贴0","         ")and SetLabel("镇街补贴0","         ")and SetLabel("区级补贴0","         ")and SetLabel("缴费合计0","         "))and if(usertype=5 or usertype=6,FilterRGrid("退休核准","保险编码","=",[%BXBH%],2)and if([%txhj%]=0,MsgBox("该记录尚未初核,请先执行初核操作后才能复核",0,4),if([月待遇]-[退休核准!月待遇]=0,MsgBox("此次计算的月待遇标准与初核的标准一样,建议直接按下面的[复核]按钮!",0,4),MsgBox("此次计算的月待遇标准与初核的标准不一样,此笔记录不能执行[复核]操作!",0,4))),True),
FilterFor("保险编码","=",[%BXBH%],2) and ClearGrid("待遇审核1") And Import("待遇审核1",filename,"缴费明细","1498shx0099","保险编码","=",[%BXBH%]) And DelRow("待遇审核1",1) And Replacefor("待遇审核1","核定日期",[%核定日期%])and RecalcCol("待遇审核1",11,16)and FilterRGrid("待遇审核1","保险编码","=",[%BXBH%],2)and OpenRView("待遇审核1",1)and ReplaceFor("个人开户","年龄",year([待遇审核1!核定日期])-year([待遇审核1!出生年月])+if((month([待遇审核1!核定日期])-month([待遇审核1!出生年月]))>=0,0,-1),"保险编码","=",[%BXBH%])and SetVariable([%给付年龄%],[年龄])and EvalFor("个人开户","给付系数","[给付系数!养老金系数]","年龄","=",[给付系数!年龄])and EvalFor("个人开户","缴费总额","round([%jfhj00%],2)","保险编码","=",[%BXBH%]) and if([%dylx2%]="非正常退保",EvalFor("个人开户","积累金额","round(Sumfor("待遇审核1","缴费合计","保险编码","=",[%BXBH%])*(1-[系统信息!管理费率]),2)","保险编码","=",[%BXBH%]),if([系统设置!系统提醒_启用2]=-1,EvalFor("个人开户","积累金额","round(Sumfor("待遇审核1","积累金额","保险编码","=",[%BXBH%])*(1-[系统信息!管理费率]),2)","保险编码","

 回到顶部
总数 62 上一页 1 2 3 4 5 6 7 下一页