新增文章
文章标题
分类
C#
云星空
K3 BOS
K3 功能
用友
Oracle
python
SQL
MySql
PHP
HTML
script
windows
Access
影视后期
财务
服务
生活
内容
'【生产任务单 210001401】【客户端插件】 Private WithEvents m_BillInterface As BillEvent '定义 BillEvent 接口. 必须具有的声明, 以此来获得事件 Public Sub Show(ByVal oBillInterface As Object) 'BillEvent 接口实现 '注意: 此方法必须存在, 请勿修改 Set m_BillInterface = oBillInterface End Sub Private Sub Class_Terminate() '释放接口对象 '注意: 此方法必须存在, 请勿修改 Set m_BillInterface = Nothing End Sub Private Sub m_BillInterface_AfterSelBillBeforeFillData(ByVal dcData As KFO.IDictionary, ByVal dctLink As KFO.IDictionary) Dim aSql As String Dim aRecordset As ADODB.Recordset Dim aValue As String Dim aSelDat As KFO.Vector: Set aSelDat = dcData("SelDat") Dim aFClassTypeID As String: aFClassTypeID = aSelDat(1)("FClassTypeID") Dim aFEntryId As String: aFEntryId = aSelDat(1)("FEntryID") Dim aFID As String: aFID = aSelDat(1)("FID") Dim aFIndex As String: aFIndex = aSelDat(1)("FIndex") If aFClassTypeID <> "210001201" Then Exit Sub '源单 不是 销售订单,退出 'aSelDat(1)("FID")为所选的“技术转化单”的单据内码 '根据单据内码去查询“技术转化单”的工序维护单据体上(对应物理表为t_BOS200000007Entry3)【工序代码】字段的值,携带到“BOS生产任务单”的技术工序维护单据体的【工序代码】字段 '【工序代码】为辅助资料,需要联查对应的辅助资料表t_SubMessage,以便查询到【工序代码】的代码,然后根据代码去给字段赋值 '其他小数或者文本类型字段则无需关联查询,可直接赋值 ' aSql = "SELECT t1.FSourOperID,t2.FID,t2.FName FROM t_BOS200000007Entry3 t1" & " INNER JOIN t_SubMessage t2 ON t1.FSourOperID=t2.FInterID " & "Where t1.FID = " & aSelDat(1)("FID") '【单据 210001201.Page1】下推【单据 210001401.Page1】 '【单据 210001201.Page2】下推【单据 210001401.Page1】 '【单据 210001201.Page3】下推【单据 210001401.Page2】 210001201.page3.FProcess → 210001401.page2.FText3 aSql = "select a2.FProcess from a_SeOrderEntry a1 ,a_SeOrderSub a2 where a1.FID = a2.FID and a1.FEGUID = a2.FPGUID and a1.FID = " & aFID & " and a1.FIndex = " & aFIndex & " order by a1.FIndex,a2.FIndex" Set aRecordset = m_BillInterface.K3Lib.GetData(aSql) If Not aRecordset Is Nothing Then For i = 1 To aRecordset.RecordCount '如果要填充【工序代码】字段的目标行在数据包中并不存在,则需要新增一行数据包 If dcData("Page2").UBound < i Then '【目标单据体】Page2 m_BillInterface.InsertNewRowAndFill 2, i '插入行 2 = Page2 End If ' aValue = aRecordset("FID") '查询到的“技术转化单”上【工序代码】字段的代码值 '将查出来的值aValue赋到“BOS生产任务单”的【工序代码】字段上去("FDestOperID"为【工序代码】字段的关键字FKey) aValue = aRecordset("FProcess") '【字段名】 FProcess m_BillInterface.SetFieldValue "FText3", aValue, i '【ICClassTableInfo.FKey】FText3 aRecordset.MoveNext Next End If End Sub
返回
保存