金蝶KIS VB插件 老单据如何插入多行值,老单获取基础资料内码、代码、名称

发布时间 2023-10-27 10:45:40作者: 小米online

转自:https://blog.csdn.net/ssyyll/article/details/16804273

While Not rs.EOF 
'填充对应的行 
With m_BillTransfer 
'如果超过两行以上的值,需要先用 
.BillForm.InsertRow 
'插入一行 
.SetGridText LRow, dicFieldEntry("FItemID"), rs("FNumber") 
.SetGridText LRow, dicFieldEntry("FAuxQtyMust"), Val(rs("FQty") & "") 
.SetGridText LRow, dicFieldEntry("Fauxqty"), Val(rs("FQty") & "") 
End With 
LRow = LRow + 1 
rs.moveNext 
Wend 

说明:
m_BillTransfer.BillForm.vsentrys.InsertRows 2, 1 "在第2行后插入1行 
m_BillTransfer.BillForm.copyrow 2, 3 "把第2行数据复制到第3行 
m_BillTransfer.BillForm.delRow 3"删除第3行

几个相关函数说明: 
1. m_BillInterFace.BillForm.addrow 2, 3 : 从第2行开始, 增加3行; 
2. m_BillInterFace.SetGridText(Row, Col , Value): 给第Row行, 第Col列赋值Value; 
3. m_BillInterface.BillFrom.maxentry : 返回当前单据体行数; 

另外,给查找类型字段赋值,请参考如下示例代码: 
Dim EntryCtl As Variant 
EntryCtl = m_BillTransfer.EntryCtl 
EntryCtl(列序号).DInterID(行序号) = 内码 
EntryCtl(列序号).DNumber(行序号) = 代码 
EntryCtl(列序号).DName(行序号) = 名称 
m_BillTransfer.EntryCtl = EntryCtl 
m_BillTransfer.SetGridText 行序号, 列序号, 名称