BOS插件中实现多单据体下推

'此方法适用于目标单为新单的多单据体下推
'由于架构限制,系统本身不支持多单据体下推
'单个单据体的信息携带可通过流程配置实现,另外一个单据体信息携带则需要在“BOS生产任务单”插件中实现
'插件中的m_BillInterface_AfterSelBillBeforeFillData为选单返回数据后填充单据之前抛出的事件
'其中参数dcData就为选单返回后“BOS生产任务单”即将展现的数据情况,可通过更改数据包的值而改变下推后“BOS生产任务单”的数据
'数据包dctData有一项“SelDat”存储有选单或者下推所选的“技术转化单”的单据ID等信息,
'可根据单据ID去数据库中查询“技术转化单”另外一个单据体的信息,然后根据源单据体信息去更改填充数据包dcData中相应单据体对应的项
'dctData数据包结构大概如下:dcData("Page1")存储单据头上字段的值,dcData("Page2")存储单据体1上字段的值,dcData("Page3")存储单据体2上字段的值,以此类推。。。
'以“技术转化单”的工序维护单据体上的【工序代码】字段下推到“BOS生产任务单”的工序维护单据体上的【工序代码】字段上为例
'“技术转化单”【工序代码】字段关键字为“FSourOperID”,“BOS生产任务单”上【工序代码】字段关键字为“FDestOperID”
Private Sub m_BillInterface_AfterSelBillBeforeFillData(ByVal dcData As KFO.Dictionary, ByVal dctLink As KFO.Dictionary)
Dim strSql As String
Dim rs As ADODB.Recordset
Dim sValue As String
Dim vctSelData As KFO.Vector
Set vctSelData = dcData("SelDat")
'vctSelData(1)("FID")为所选的“技术转化单”的单据内码
'根据单据内码去查询“技术转化单”的工序维护单据体上(对应物理表为t_BOS200000007Entry3)【工序代码】字段的值,携带到“BOS生产任务单”的技术工序维护单据体的【工序代码】字段
'【工序代码】为辅助资料,需要联查对应的辅助资料表t_SubMessage,以便查询到【工序代码】的代码,然后根据代码去给字段赋值
'其他小数或者文本类型字段则无需关联查询,可直接赋值
'strSql = "SELECT FText FROM t_BOS200000007Entry
BOS插件中实现多单据体下推
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



