以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 支付期间 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88056)
|
-- 作者:lshshlxsh
-- 发布时间:2016/7/26 8:27:00
-- 支付期间
请问一下 如果支付比例>0, 应支付期间=发生期间 + 付款期间(月为单位)
支付金额 =金额 * 支付比例
剩余部门等到 淡季再支付 请问一下如何计算剩余部分 应支付期间
如图 201610期间 采购的 有50% 到 201701期间支付 剩余的 50% 到201704期间支付 此主题相关图片如下:aa.bmp
|
-- 作者:Hyphen
-- 发布时间:2016/7/26 8:55:00
--
Dim s As String = "201701" Dim d As Date = new Date(s.SubString(0,4),s.SubString(4),1) Output.Show(Format(d.AddMonths(3),"yyyyMM"))
|
-- 作者:lshshlxsh
-- 发布时间:2016/7/26 9:11:00
--
Hyphen 谢谢你的回答 ,不过 如果旺季是 10,11,12,1,2 付款期限是3个月的话 一部分应该是201701 期间支付 一部分是201703支付
[此贴子已经被作者于2016/7/26 9:11:07编辑过]
|
-- 作者:大红袍
-- 发布时间:2016/7/26 9:36:00
--
Dim ms As String = "10,11,12,1,2" Dim n As Integer = 3 Dim s As String = "201610" Dim d As Date = new Date(s.SubString(0,4),s.SubString(4),1) Dim ary() As String = ms.split(",") Dim c As Integer = iif(ary.length Mod n = 0, ary.length \\ n - 1, ary.length \\ n) For i As Integer = 0 To c If ary.length >= (i+1)*n d = d.AddMonths(n) Else d = d.AddMonths(ary.length Mod n) End If msgbox(d) Next
[此贴子已经被作者于2016/7/26 11:07:35编辑过]
|
-- 作者:lshshlxsh
-- 发布时间:2016/7/26 11:03:00
--
谢谢大红袍老师! 不过这样 如果期限是4个月 发生期间201611 ,应支付期间 应该是在 201703 和201704 此主题相关图片如下:cc.bmp
|
-- 作者:大红袍
-- 发布时间:2016/7/26 11:17:00
--
Dim ms As String = "10,11,12,1,2,3" Dim n As Integer = 4 Dim s As String = "201611" Dim d As Date = new Date(s.SubString(0,4),s.SubString(4),1) Dim ary() As String = ms.split(",")
Dim idx As Integer = array.Indexof(ary, cstr(d.month)) Dim count As Integer = ary.length - idx Dim c As Integer = iif(count Mod n = 0, count \\ n - 1, count \\ n) For i As Integer = 0 To c If count >= (i+1)*n d = d.AddMonths(n) Else d = d.AddMonths(count Mod n) End If msgbox(d) Next
|
-- 作者:lshshlxsh
-- 发布时间:2016/7/26 12:42:00
--
非常感谢大红袍老师
|