金蝶 k3 BOS开发百问百答(8)

2019-08-30 15:17

大力水手 2009-08-01 21:39:04.0

【摘要】: 生产领料单单据体上无法自定义成本对象代码

【版本】:K/3v10.4

问题描述: 目前系统中生产领料单关联任务单生成时,领料单上只有成本对象,没有

成本对象代码的,客户有很多产品的产品名称都是相同的,所以在这里只

显示成本对象名称,无法体现出到底是那个产品.

主要是该日资客户的所有材料,产品是在使用过程中都采用代码,不用名 称,已经十多年了,很难改变过来的,希望能在生产领料单的单据体上增 加成本对象代码字段. 客户化开发技术资料——K/3 BOS开发百问百答

解决方法: 该问题可以参照如下方式解决,涉及数据库的调整,请先测试确认能解决您的问题后,

再在正式账套操作.

select ftemplateid,* from ictransactiontype where fname like ?外购%? select fid,* from ictransactiontype where fname like ?生产任务%? select * from icselbills where fid=?a01? and ffieldname =?85? update icselbills set fdk=0 where fid=?a01? and ffieldname =?85? and

fcolname=?FItemIDNumber?

【摘要】: (工业老单据)生产任务单批量维护中加入 BOS开发字段

【版本】:K/3v10.4

问题描述: 在生产任务单中自定义了两个字段,并且这两个字段与销售订单上的字段

相关联,由于销售订单上的分录项很多,所以用到了生产任务单批量维护, 系统当中生产任务单批量维护没有这两个字段,所以用 BOS 做了这两个字 段,但是在生成生产任务单保存时这两个字段的内容带不过来,是空值。

解决方法: 根据您的描述,您需要实现的业务流程为在在生产任务单中自定义了两个字段,选

单为销售订单的时候,从销售订单上自动复制字段内容到在生产任务单中自定义了两个

字段。 实现方法。

1。打开BOS 设计器。进入生产任务管理设计界面。 2。在单据转换流程中选择生产任务管理流程。

3。打开进入设置界面,停止流程编辑 销售订单到在生产任务单中关系,设定对应

关系。保存,启动流程。即可实现。

【摘要】: 如何在修改单据的时候把制单人刷新为修改人?

【版本】:VB 所有版本

问题描述: 在应收应付系统录入单据后保存,审核前其他人可以修改,但是修改后制

单人不显示修改人,仍然是以前的制单人.该系统生成的凭证有同样的问

题. 客户化开发技术资料——K/3 BOS开发百问百答

解决方法: 通过编写如下插件解决: Private Sub m_BillInterface_AfterLoadBill() ? m_BillInterface.SetFieldValue ―FUser―,

m_BillInterface.K3Lib.User.UserID

?

Dim dctData As KFO.Dictionary Dim dct As KFO.Dictionary

Dim usrID As Long Dim usrName As String

usrID = m_BillInterface.K3Lib.User.UserID usrName = m_BillInterface.K3Lib.User.UserName Set dct = m_BillInterface.GetFieldInfoByKey(―FBiller―, ――, 0)

Set dctData = m_BillInterface.GetDataFld(dct, 0)

dctData(―FDsp―) = usrName dctData(―FFND―) = usrName dctData(―FFLD―) = usrID dctData(―FModify―) = 1

m_BillInterface.SetText dct, usrName

End Sub

【摘要】: 复杂的计算 Action应该如何处理?

【版本】:K/3v10.4

问题描述: 10.4 环境下,新建一张bos 单据,在值更新事件里,―计算定义公式的值

并填写到指定列‖,使用 if then endif 进行判断计算时公式不起作用

见提单:R071129-001 解决方法: 根据您的说明:

Case Is <= 0 erjie = ――

Case Is <= Sheets(―制管标准―).Cells(2, 4) erjie = Sheets(―制管标准―).Cells(2, 5) Case Is <= Sheets(―制管标准―).Cells(3, 4) erjie = Sheets(―制管标准―).Cells(3, 5)

这是判断的条件: 最小 最大 奖励 料仓 0.006 250 料仓 0.0061 0.007 100 料仓 0.0071 0.008 50

…… 客户化开发技术资料——K/3 BOS开发百问百答

上料架 0.012 1.5 可以如下设置: 值更新事件增加多个事件:

1.

条件设置:([单据体.物料] = 100(料仓内码)) and ([单据体.Is] > 0.006) and ([单

据体.Is] < 0.0071)

计算公式:[单据体.erjie] = 100

2.

条件设置:([单据体.物料] = 100(料仓内码)) and ([单据体.Is] > 0.007) and ([单

据体.Is] < 0.0081) 计算公式:[单据体.erjie] = 50

…… n.

条件设置:([单据体.物料] = 10n(上料架内码)) and ([单据体.Is] < 0.012) 计算公式:[单据体.erjie] = 0.012*1。5*1000-h2(这个数的具体含义不清楚,可以考

虑是不是取单据头某个字段的值)

【摘要】: 为什在中文 大力水手 2009-08-01 21:39:22.0

【摘要】:如何设置单据体字段的字体颜色和背景色

【版本】:K3 V10.4 及以前

问题描述: 如何设置单据体字段的字体颜色和背景色? 解决方法: 把下面代码放到单据插件中的合适位置即可:

Dim strKey As String

Dim dctField As KFO.Dictionary

Dim lngRow As Long

Set dctField = m_BillInterface.GetFieldInfoByKey(strKey, \

dctField(\字段背景色 dctField(\字段前景色

strKey = \

lngRow = 1 '设置第一行,关键字为FItemID的字段的颜色和背景色

m_BillInterface.BillCtl.SetEntryCtlPropery dctField, \背景色

m_BillInterface.BillCtl.SetEntryCtlPropery dctField, \字体颜色 客户化开发技术资

料——K/3 BOS开发百问百答

【摘要】:在查看模式下,怎样修改某个字段(比如销售普通发票-摘要修改)的值并保存

【版本】:K3 V10.3 及以上版本

问题描述: 在查看模式下,怎样修改某个字段(比如销售普通发票-摘要修改)的值并

保存

解决方法: 把下面代码放在单据插件代码中即可:

Private Sub m_BillInterface_AfterLoadBill()

'TODO: 请在此处添加代码响应事件 Dim oTool As K3ClassEvents.BOSTool

Dim lngStatus As Long

Set oTool = m_BillInterface.MenuBar.BOSTools.Item(\

With oTool .Visible = True .Enabled = True

End With 'FNote

lngStatus = m_BillInterface.BillStatus

m_BillInterface.BillStatus = 2

m_BillInterface.LockCell m_BillInterface.GetFieldInfoByKey(\

-1), -1, False

m_BillInterface.BillStatus = lngStatus

【摘要】:V10.3版本实现 ―审核人和制单人不可为同一人‖

【版本】:K3 V10.3

问题描述: V10.3 版本实现 ―审核人和制单人不可为同一人‖

解决方法: 在单据上请使用以下代码:

Private Sub m_BillInterface_BeforeMultiCheck(ByVal lCheckMode As Long, ByVal lCheckMaxLevel As Long, ByVal lBusinessLevel As Long, lCheckLevel As Long, ByVal lCheckStatus As Long, ByVal lLastCheckFrom As Long, ByVal

lLastCheckTo As Long, Cancel As Boolean)

'TODO: 请在此处添加代码响应事件 BeforeMultiCheck

'获得当前制单人的ID号 Dim lngFBiller As Long

客户化开发技术资料——K/3 BOS开发百问百答 lngFBiller = m_BillInterface.GetFieldValue(\

Enu_ValueType_FFLD)

If lngFBiller = m_BillInterface.K3Lib.User.UserID Then

Cancel = True

MsgBox \审核人和制单人不可为同一人!\金蝶提

示\ End If End Sub

序时簿上请使用以下代码:

Private Sub m_ListInterface_BeforeMultiCheck(ByVal lCheckMode As Long, ByVal lCheckMaxLevel As Long, ByVal lBusinessLevel As Long, lCheckLevel As Long, ByVal lCheckStatus As Long, ByVal lLastCheckFrom As Long, ByVal

lLastCheckTo As Long, Cancel As Boolean)

'TODO: 请在此处添加代码响应事件 BeforeMultiCheck

'获得当前制单人的ID号 Dim lngFBiller As Long Dim vctTemp As KFO.Vector Dim rs As ADODB.Recordset

'FBiller 制单人字段

'当前单据头数据所在的表 t_BOS200000002 Set vctTemp = m_ListInterface.GetSelectedBillInfo

If Not vctTemp Is Nothing Then

Set rs = m_ListInterface.DataSrv.GetData(\

t_BOS200000002 where FClassTypeID = \m_ListInterface.DataSrv.ClassTypeID & \

vctTemp(1)(\

If Not rs Is Nothing Then If rs.RecordCount > 0 Then lngFBiller = rs.Fields(\

If lngFBiller = m_ListInterface.K3Lib.User.UserID Then

Cancel = True

MsgBox \审核人和制单人不可为同一人!\

vbOKOnly, \金蝶提示\

End If End If

End If 客户化开发技术资料——K/3 BOS开发百问百答

End If End Sub

【摘要】:如何在插件中调用BOS基础资料的F7 功能

【版本】:K3 V10.4 之前

问题描述: 如何在插件中调用 BOS基础资料的 F7 功能?

解决方法: Set obj = CreateObject(\K3ClassLookUp.SingleBillLookUp\

obj.ClassTypeID = ClassTypeID '(基础资料的 FID)

Set obj.Filter = dct

obj.ShowType = 1 'Enu_ShowType.Enu_Explore

Set retVect = obj.Show Set obj = Nothing

【摘要】:如何在插件中调用BOS基础资料的F7 功能

【版本】:K3v10.4 及以后

问题描述: 如何在插件中调用 BOS基础资料的 F7 功能? 解决方法: 直接调用插件中的K3Lib.LookUpClass接口实现即可


金蝶 k3 BOS开发百问百答(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学英语三年级下阅读周周练(第七周)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: