个人博客 用于记载日常收集的一些技术文章 ...
K3 BOS : K3 查看状态 隐藏 保存按钮 K3 BOS : K3 查看状态 隐藏 保存按钮 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 修改 】

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

End Sub
郭少锋 编辑 2023-04-06 22:01:16 创建 2023-04-06 17:45:35 K3 BOS
K3 BOS : 取得 字段值 K3 BOS : 取得 字段值 Set aFieldInfo = m_BillInterface.GetFieldInfoByKey("FBase9", "", 0) '【字段信息】ICClassTableInfo
Set aFieldData = m_BillInterface.GetDataFldbyKey("FBase9") '【字段值】 "FFLD" = "249" / "FDSP" = "KG" / "FFND" = "KG" / "FLastUnitID" = "249" / "FMODIFY" = 1
aFieldValue = m_BillInterface.GetFieldValue("FBase9") '【字段值】"249"
郭少锋 创建 2023-04-06 21:32:09 K3 BOS
K3 BOS : 锁定单据字段 K3 BOS : 锁定单据字段 可以用lockcell方法锁定,如锁定单据头币别:

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:13 K3 BOS
K3 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:19 K3 BOS
K3 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:38 K3 BOS
K3 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:27 K3 BOS
K3 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:03 K3 BOS
K3 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:06 K3 BOS
K3 BOS : 关联自定义核算项目 K3 BOS : 关联自定义核算项目 修改ICClassTableInfo中FLookupClassID,FSRCFieldName,FSRCTableName,FDSPFieldName,FFNDFieldName。 郭少锋 创建 2023-04-06 21:14:27 K3 BOS K3 BOS : 获取单据上控件的位置、尺寸信息 K3 BOS : 获取单据上控件的位置、尺寸信息 m_BillInterface.BillHeads(1).BOSFields("FDate").FieldTop,其中“FDate”是控件的名称,也可以用它来改变控件的位置。 郭少锋 创建 2023-04-06 21:13:54 K3 BOS