以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 提前支付时应兑金额的计算 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145744) |
||||
-- 作者:rgbjwjb -- 发布时间:2020/2/6 14:17:00 -- 提前支付时应兑金额的计算
这个融资管理系统主要实现:1融资时开具收款收据,2、按实际兑付情况计算利息,并打印报表交银行支付3、相关查询功能 我已将“收款明细表”和“兑付明细表”通过“收据号码”关联了; 本息支付的规则:按年支付利息,最后一年本金和利息合并计算;如果未到期(提前支取),就按实际应计本息扣除已支付的利息计算本次应付金额。 我想请教的是:1、提前支取时,本次应付金额的代码如何修改? 2、选择利息计算类型后,相应的窗口不能立即弹出(要先关掉前面的窗口后才能打开) 请指教!谢谢! |
||||
-- 作者:有点蓝 -- 发布时间:2020/2/6 14:29:00 -- 1、业务的东西我不懂,请说明按什么规则(公式)进行计算? 2、判断一下勾选时再打开 如: If e.Sender.Checked Then Forms("提前支取利息单").Open End If |
||||
-- 作者:rgbjwjb -- 发布时间:2020/2/6 15:56:00 -- For Each r1 As Row In Tables("收款明细表").GetCheckedRows Dim r2 As Row = Tables("兑付明细表").AddNew r2("收据号码") = r1("收据号码") r2("兑付日期") = Date.Today r2("借款日期") = r1("借款日期") r2("借款金额") = r1("收取金额") r2("借款年限") = r1("借款年限") r2("利率") = r1("利率") r2("债权人") = r1("债权人") Dim t As TimeSpan Dim d As Date = r1("借款日期") t = Date.Today - d r2("借款天数")=t.TotalDays r2("应结金额")= r2("借款金额")* r2("利率") /360*t.TotalDays r1("本息是否兑付") = True Next 上面代码中的倒数第三行代码( r2("应结金额")= r2("借款金额")* r2("利率") /360*t.TotalDays )要做这样的修改:要减去这张收据已付利息,请问您怎么修改? 例如:张先生2015年1月1日,缴集资款15万,利率2%,年限5年,票号:555555,按年支付利息 2015年12月31日,我们支付给张先生利息3000 2016年12月31日,我们支付给张先生利息3000 2017年6月30日,未到5年,需提前支取,此时应结本息为:150000*2%*2.5-(3000+3000)+150000=151500 谢谢老师! |
||||
-- 作者:有点蓝 -- 发布时间:2020/2/6 16:23:00 -- 方法1,建一个已支付表,支付过的利息都记录到这个表里,最后计算的时候,减去这个表已经登记的利息 2、如果确定往年已经全部结息,就只计算今年的好了 r2("应结金额")= r2("借款金额")* r2("利率") /360 * Date.Today.DayOfYear |
||||
-- 作者:rgbjwjb -- 发布时间:2020/2/6 17:39:00 -- 老师你好!你的上述方法只适用于缴款日期为年初(每年的1月1日)的情况,如果缴款日期不是在年初的话就不适用了。 1、跨年度:缴款日期:2019年3月4日,兑付日期:2020年1月9日 2、不跨年度:缴款日期:2019年9月5日,兑付日期:2019年10月22日 我是根据你的建议,建了一个数据表(兑付明细表),用于记录已支付的利息 我思路是: 1、根据“收据号码”计算出到今天为止应兑付的总利息(代码已写,) 2、根据“收据号码”计算已兑付的总利息(这个代码我不会写) 3、两者相减就是本次应兑付的利息 烦请你打开我发给你的项目文件中的“提前支取利息单”窗体中的“确认生成提前支取利息单”这个按钮,对应的代码怎么修改? 谢谢!! |
||||
-- 作者:有点蓝 -- 发布时间:2020/2/6 18:17:00 -- 那就这样计算不足一年的剩余天数, Dim d As Date = r1("借款日期") dim d1 asdate = new date(date.today.year,d.month,d.day) dim _days as integer dim d2 as date if date.today >= d1 then _days = (date.today - d1).TotalDays else _days = 360 - (date.today - d1).TotalDays end if msgbox(_days)
|