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 修改 】
oBand.BOSTools("mnuFileSave").Visible = False '【 保存 mnuFileSave 】 oBand.BOSTools("mnuRecover").Visible = False '【 恢复 mnuRecover 】 oBand.BOSTools("mnuEditResetOrder").Visible = False '【 单序 mnuEditResetOrder 】 End If End Sub
Private Sub m_BillInterface_MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean)
aToolName = BOSTool.ToolName End Sub -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Private Sub m_BillInterface_AfterLoadBill()
Dim oMenuBar As K3ClassEvents.MenuBar: Set oMenuBar = m_BillInterface.MenuBar Dim oBand As K3ClassEvents.BOSBand Dim oTool As K3ClassEvents.BOSTool
If m_BillInterface.BillStatus = Enu_BillStatusExt_View Then '【Enu_BillStatusExt_View 查看】
Set oBand = oMenuBar.BOSBands("BandToolBar"): Set oTool = oBand.BOSTools("mnuFileSave") '【 BandToolBar 工具栏 】【 mnuFileSave 保存 】 With oTool .Visible = False '隐藏 .Enabled = False 锁定 End With End If
Set dcttemp = m_BillInterface.GetFieldInfoByKey("FCurrencyID", "", 0) If Not dcttemp Is Nothing Then m_BillInterface.BillCtl.LockCell dcttemp, -1, True
第二个参数为分录行号,当为-1时锁定所有行。 注意:设计状态没有设计为"锁定"的字段,才可以在运行状态锁定或解锁。郭少锋创建 2023-04-06 21:24:13K3 BOSK3 BOS : 将备注字段改为文本字段,数据不丢失K3 BOS : 将备注字段改为文本字段,数据不丢失update icclasstableinfo set fcaption_chs='文本1',fcaption_cht='文本1',fcaption_En='Text1',FKey='FText1',FFieldName='FText1',FCtlType=1 where fid=8438 update icclasstype set fid=fid ----单据的时间梭 注意在后面更新icclasstableinfo表来修改单据,一定要更新一下icclasstype,否则前面的更新在Bos设计环境反映不出来更新。郭少锋创建 2023-04-06 21:22:19K3 BOSK3 BOS : 导入单据 取到单据编号K3 BOS : 导入单据 取到单据编号Set obj = CreateObject("K3MClass.ClassInfo") GetThisBillNo = obj.GetBillNo(sDsn, ClassID, sKey, bGetDeleteNo, bSave) 接口描述: '/*描述:得到一种业务类型的编号 '/*参数: '/*@ bGetDeleteNo 是否获取空号,这种单据设置了删除的空号被保存才有效,已经无效,只是保持兼容调用接口 '/*@ bSave 是否需要修改新的最大单据号 '/*@ ClassID 类型 '/*@ sDsn 连接串信息 '/*@ sKey 需要处理的关键字。郭少锋创建 2023-04-06 21:20:38K3 BOSK3 BOS : 按F7查询供应商信息,按F9查询采购价格K3 BOS : 按F7查询供应商信息,按F9查询采购价格使用MenuBarClick事件实现F7 1、 BeginEdit事件 If dct("FKey") = "要处理字段FKey“ Then m_BillInterface.MenuBar.BOSTools("mnuDataLookUp").Enabled = True End If 2、 MenuBarClick If BOSTool.ToolName = "mnuDataLookUp" Then m_BillInterface.GetActiveField dct, col, row If dct("FKey") = "FBillNo_BS" Then m_BillInterface.BillCtl.DoSelBill 200000104 '(原单的ClassTypeID) End If End If 3、 采购价格管理的调用接口,结合上述所说使用: Dim obj As Object Set obj = CreateObject("k3Suplly.SupplyFace") With obj .CallByBill = True .SelICItemID = '当前物料行内码 .CategoryBySupply = false .SelSupID = '供应商内码 .PriceType = 1 .Show 1 End With Set obj = Nothing郭少锋创建 2023-04-06 21:18:27K3 BOSK3 BOS : 批量 插入行数据K3 BOS : 批量 插入行数据 Dim i As Long For i = 1 To 10 m_BillInterface.InsertNewRowAndFill 2, i, "FBase", "01.001", "FPrice", "100.001", "FAmount", "50000" Next 需要注意的是查找类型的字段只要给出编码即可,基础资料属性(如物料名称等)不需要赋值。郭少锋创建 2023-04-06 21:17:03K3 BOSK3 BOS : 序事簿 根据用户 过滤数据K3 BOS : 序事簿 根据用户 过滤数据With m_listinterface If len(.listfilterstring)>0 then .listfilterstring=.listfilterstring & “ and FDeptID=984” Else .listfilterstring=” FDeptID=984” End if End with郭少锋创建 2023-04-06 21:16:06K3 BOSK3 BOS : 关联自定义核算项目K3 BOS : 关联自定义核算项目修改ICClassTableInfo中FLookupClassID,FSRCFieldName,FSRCTableName,FDSPFieldName,FFNDFieldName。郭少锋创建 2023-04-06 21:14:27K3 BOSK3 BOS : 获取单据上控件的位置、尺寸信息K3 BOS : 获取单据上控件的位置、尺寸信息m_BillInterface.BillHeads(1).BOSFields("FDate").FieldTop,其中“FDate”是控件的名称,也可以用它来改变控件的位置。郭少锋创建 2023-04-06 21:13:54K3 BOS