个人博客用于记载日常收集的一些技术文章 ...K3 BOS : 隐藏菜单K3 BOS : 隐藏菜单 Private Sub m_BillInterface_AfterSelBillBeforeFillData(ByVal dcData As KFO.IDictionary, ByVal dctLink As KFO.IDictionary) Call m_BillInterface_AfterLoadBill End Sub
Private Sub m_BillInterface_AfterLoadBill()
Dim oBand As K3ClassEvents.BOSBand: Set oBand = m_BillInterface.MenuBar.BOSBands("BandToolBar") '【 BandToolBar 工具栏 】 Dim oTool As K3ClassEvents.BOSTool
If m_BillInterface.BillStatus = Enu_BillStatusExt_View Then '【 Enu_BillStatusExt_View 查看 】【 Enu_BillStatusExt_New 新增 】【 Enu_BillStatusExt_Modify 修改 】
'---------------------------------------------------------------------------------------------------------------------------------- Set oBand = m_BillInterface.MenuBar.BOSBands("Menu") '【 Menu 菜单栏 】
Set VctRet = m_BillInterface.K3Lib.LoadOldList(1, dctFilter) //调外购入库单(单据类型 ID为 1)的序时薄
如果是选单调用则返回选择的单据信息到 VctRet 包里 备注:dctFilter("Filter") 中 v1 代表老单单据头的数据表,u1 代表老单单据体的数据表郭少锋创建 2023-04-10 23:46:49K3 BOSK3 BOS : 获取菜单K3 BOS : 获取菜单Private Sub m_BillInterface_AfterLoadBill() On Error Resume Next
For i = 1 To m_BillInterface.MenuBar.BOSBands.Count Debug.Print i & " " & m_BillInterface.MenuBar.BOSBands(i).BandName & " " & m_BillInterface.MenuBar.BOSBands(i).Caption & " " & m_BillInterface.MenuBar.BOSBands(i).Visible
For a = 1 To m_BillInterface.MenuBar.BOSBands(i).BOSTools.Count Debug.Print i & "." & a & " " & m_BillInterface.MenuBar.BOSBands(i).BOSTools(a).ToolName & " " & m_BillInterface.MenuBar.BOSBands(i).BOSTools(a).Caption & " " & m_BillInterface.MenuBar.BOSBands(i).BOSTools(a).Visible Next a Next i End Sub
郭少锋创建 2023-04-10 23:14:51K3 BOSK3 BOS : K3 菜单问题K3 BOS : K3 菜单问题Private Sub m_ListInterface_MenuBarInitialize(ByVal oMenuBar As K3ClassEvents.MenuBar) '添加菜单
Dim oTool As K3ClassEvents.BOSTool
'--------------------------------------------------------------------------------------------------------------------------- Set oTool = oMenuBar.BOSTools.Add("mnuMultiToOne") ‘修改了标题,菜单会生效,工具栏没有变化 With oTool .Caption = "生成凭证" .Description = "生成凭证" End With
Set oBand = oMenuBar.BOSBands("mnuEdit") oBand.BOSTools.InsertAfter "mnuEditStartMultiCheck", oTool '将菜单对象 插入【编辑】【历史价格查询】之后
Set oBand = oMenuBar.BOSBands("BandToolBar") oBand.BOSTools.InsertBefore "mnuFileExit", oTool '将菜单对象 插入【工具栏】【退出】之前
'*************** 新增 BOS 菜单 ***************
Set oTool = oMenuBar.BOSTools.Add("MenuWG") '新增 MenuWG 菜单对象 With oTool .Caption = "查看关联入库单" .ToolTipText = "查看关联入库单" .Description = "查看关联入库单" .ShortcutKey = 23 .Visible = True .Enabled = True .BeginGroup = False .ToolPicture = App.Path & "\xiacha.ico" .SetPicture 0, vbButtonFace End With
Set oBand = oMenuBar.BOSBands("mnuEdit") oBand.BOSTools.InsertAfter "mnuEditStartMultiCheck", oTool '将菜单对象 插入 指定一级菜单
Set oBand = oMenuBar.BOSBands("BandToolBar") oBand.BOSTools.InsertBefore "mnuFileExit", oTool '将菜单对象 插入 指定工具栏
'*************** 完成 BOS 菜单 ***************
Set oTool = Nothing Set oBand = Nothing End Sub郭少锋编辑 2023-04-10 14:28:02创建 2023-03-29 21:11:08K3 BOSSQL : SQL 简写SQL : SQL 简写( Select FNumber From t_Voucher Where FYear= 2023 AND FPeriod= 4 and FGroupID = 1 Union Select FNumber From t_voucherblankout Where FYear= 2023 AND FPeriod= 4 and FGroupID = 1 ) Order By FNumber郭少锋创建 2023-04-07 11:33:19SQLK3 BOS : 实现动态过滤条件K3 BOS : 实现动态过滤条件在单据的Change事件中 If dct(“FKey”)=”FDeptID” then m_BillInterface.DataSrv.TableInfo(m_BillInterface.TableInfo("Map")("FItemID"))("FFilter") = " x2.FNumber =’” & m_BillInterface.getfieldvalue(“FDeptID” ) & “’” End if 注意:上面的代码不支持调试,如果调试,发现赋值为空,没有将过滤条件赋值成功,但编译后运行没有问题。郭少锋创建 2023-04-06 22:26:37K3 BOSK3 BOS : K3 新增单据 自动弹出 选单界面K3 BOS : K3 新增单据 自动弹出 选单界面Private Sub m_BillInterface_AfterNewBill()
m_BillInterface.BillCtl.DoSelBill 210001201 '新增单据 自动显示 选单界面 End Sub