以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  收款单自动收款  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122796)

--  作者:hopestarxia
--  发布时间:2018/8/2 11:35:00
--  收款单自动收款
做了一个收款单窗口,窗口中分了主要部份和明细部份,主要部份内容为日期,收款单号,客户信息等。
收款明细为插件Table1。其中内容为选择的尚未收款或是部份尾款的销售出货单据。其中明细表中有一列为本次收款:

现在窗口中设置了一数字插件为收款金额,并设置了一个“自动收款”功能按钮。

想实现在收款金额处填写了数字后,点击“自动收款”功能按钮,实现对明细表中数据“本次收款”列的自动填写计算。

例如:收款金额插件NumericComboBox1处填写数字10000,

Table1插件明细表选择的单据有三张销售单,内容如下

开单日期           单据编号    单据金额   已收金额   待收金额   本次收款     
2018-01-01     DJ0001     6000        2000      4000
2018-01-02     DJ0005     3000           0         3000
2018-01-03     DJ0006     5000           0         5000

点击“自动收款”后,则在第一行本次收款处填写 4000,第二行本次收款处填写3000, 第三行则自动填写3000,(总计收10000,第一第二行够完全收,第三行不够了,相当于第三张单还有余款未收)

请问“自动收款”插件Button1 处代码应该怎么编写才能实现。




--  作者:有点甜
--  发布时间:2018/8/2 11:47:00
--  

Dim je As Double = 10000
Dim t As Table = Tables("表A")
For i As Integer = 0 To t.Rows.Count-1
    If je > t.rows(i)("待收金额") Then
        t.rows(i)("本次收款") = t.rows(i)("待收金额")
        je = je - t.rows(i)("待收金额")
    Else
        t.rows(i)("本次收款") = je
        Exit For
    End If
Next
If je > 0 Then
    msgbox("还有金额剩余" & je)
End If


--  作者:hopestarxia
--  发布时间:2018/8/2 11:58:00
--  
谢谢老师。