K3BOS开发百问百答_第1页
K3BOS开发百问百答_第2页
K3BOS开发百问百答_第3页
K3BOS开发百问百答_第4页
K3BOS开发百问百答_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、K/3 BOS开发百问百答(基础资料,业务单据篇1-8)2010-12-29 09:27:02| 分类:k3 |标签:单据 k310.2 字段 bos 摘要|字号订阅一、基础资料篇【摘要】bos基础资料的显示问题版本:K310.2SP2+10.3+10.2SP1问题描述:我们的bos做出来的基础资料为什么不能做成象核算项目一样,点 中上级组就能显示相面所有基础资料,而不是现在点到最后一个上级组才能显 示明细。【解答】这是新需求,以后版本会解决。【摘要】单据自定义无法看到bos定义的基础资料版本:K310.2SP2问题描述:在单据自定义中增加自定义字段时,需要选择用bos定义的基础资料该如何设置

2、。我在单据自定义的高级页签上选择基础资料下拉框中无法看到 bos定义的基础资料;我跟踪 Sql,在ICChatBillTitle中有自定义字段属性的相关设置,如 FTableName FLookUpCIassID等字段。我把记录改成 BOSS础 资料对应的信息,但是无法生效。请高手指点。【解答】在10.2里工业单据自定义工具不能使用 BOS单据的基础资料,建议使用核算项目来定义基础资料 ,即 可在工业单据中使用,也可在BOS单据中使用。【摘要】在调出基础资料序时簿时,过滤出我需要的基础资料版本:K310.2SP2+10.3+10.2SP1问题描述:能否对BOSS础资料做过滤,即:在调出基础资料

3、序时簿时,过滤 出我需要的基础资料。【解答】1、在ICClasstypeentry 的FFilter 字段增加过虑条件;2、在 ICClassTableInfo 的 FFilter 中填写条件。下例能完成只显示“ 01”组的物料,FFilter的值应是“ x2.FNumber like '01.%'”SELECT tl.FItemID FROM t_Item t1 with(index (uk_Item2) LEFT JOIN t_ICItem x2 ONtl.FItemID = x2.FItemID WHEREItemClassID = 4 ANDt1.FDetail=1 A

4、ND(x2.FNumber like '01.%')AND t1.FDeleteD=0 ORDER BY t1.FNumber【摘要】bos定义的基础资料能否做到按名称而不是按代码进行自动匹配版本:K310.2SP2+SP1问题描述:是否可以在相关的基础资料的对象中增加通过名字查询功能。目前 的基础资料(部门,人员,物料等)是通过F7查询或者输入代码,但是实际业务中很多情况是输入名字,很多客户已经要求使用名字查询,特别是涉及职员、 部门等基础资料,不知道 BOStt不能先行一步,改掉k/3的这个习惯?即直接 在那个文本框中输入名称,然后自动匹配,就像在文本框中输入代码一样,能

5、够自动找到相应的基础资料。【解答】1. 具体功能计划10.3实现。2. 另外,现在BOS支持汉字的模1查询,按 F8 (F9)即可。二、业务单据篇【摘要】是否支持多插件和数据授权版本:K310.1问题描述:客户使用应付款管理系统,需要将合同资料、其他应付单、收款单 等单据按部门进行数据授权,是否需要申请源代码,如果使用BOSK件能否解决数据授权问题,另外Bos是否支持多插件,谢谢!【解答】1、10. 1下不支持多插件;2、由于不支持多插件,必须要申请插件的源代码。【摘要】K3BOSI据(新)中的数量字段怎样才能控制到两个小数版本:K310.2SP1+SP2+10.3问题描述:最近在用K3BOS

6、乍一个项目,用K3BOSS计的单据中的数量字段小 数位默认是10位,请问怎样才能控制到两个小数?是用插件来控制的吗?【解答】通过以下方式增加字段时:物料-> 计量单位-> 数量,数量将按照物料定义的精度来处理,否则缺省按照十位处理,如果需要定义字段为某个固定的精度,可以使用小数字段,通过该字段的小数位属性来控制。【摘要】单据上显示各级审核人和审核日期版本:K310.2SP2问题描述:多级审核栏目客户不希望分成第二个 Label ,而是想在单据上有每级 审核人和日期显示。【解答】如果用系统的多级审核流程就会有多级审核的业签。可以在单据上增加多几个审核人、审核日期,在单据插件的 Aft

7、erMultiCheck事件中反写单据上的审核人、审核日期。【摘要】多层的 BOSIK能否将人员权限按层划分版本:K310.2SP1后各版本问题描述:某直销单据分为采购和销售两个页,采购内勤组的成员只能看到采 购页而不能看到销售页,而销售内勤组的成员只能看到销售页而不能看到采购 页?。【解答】Bos单据不能按层进行授权,可以通过数据授权和字段授权的方式变通实现此类需求。【摘要】自动启动审核和自动选单版本:K310.2SP1问题描述:客户希望在打开一个新单据的同时,自动弹出选单的界面,显示要 选择的单据。.因为客户使用的10.2 SP1 所以希望在 单据保存后,自动启动 审核。希望总部提供在插件

8、中调用“选单”和“启动审核”的BOS勺内部处理事件。【解答】1、 自动启动审核:在AfterSave事件中使用以下代码Dim bStatus As BooleanbStatus = m_BillInterface.MultiCheckMgr.MultiCheckBill(m_BillInterface.Data("FID")2、 选单调用:BOS单据m_BillInterface.BillCtl.DoSelBill lClassTypeID '( 原单的 ClassTypeID) 工业单据m_BillInterface.BillCtl.DoSe101dBill lC

9、lassTypeID '( 原单的 ClassTypeID)【摘要】触发值更新事件版本:K310.2SP1+0704问题描述:我在BOS勺表体字段数量中设置了值更新事件。在插键中自定义一 个菜单,点击菜单后,更改表体中数量的值,但没有触发字段数量所设置的值 更新事件。更改表体中数量是用m_BillInterface.SetFieldValue "FAuxQty",500,1方法更新的。同时发现更新数量,合计值没有被改变。请问:用什么方 法更新表体数据能触发字段中设置的值更新事件,及其它值加载事件?同时可 以更新合计值?【解答】目前在插件中没有处理事件的方法,可用插件

10、更新合计值。【摘要】只能删除和修改本人制作的单据。版本:K310.2SP1问题描述:如果实现只能删除和修改本人制作的单据?【解答】Private Sub m_ListInterface_MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, CancelAs Boolean)Dim lBillerID As LongDim strSQL As StringSelect Case BOSTool.ToolNameCase "mnuEditDelete", "mnuEditModify"strSQL = &q

11、uot;Select FBiller (当前单据制单人)From t_Sales (当前单据主表名)Where FID(当前单据主键子段)="& m_ListInterface.GetCurrentSelRowInfo("FID")lBillerID = m_ListInterface.K3Lib.GetData(strSQL)(0)If m_ListInterface.K3Lib.User.UserID <> lBillerID ThenMsgBox "只能删除和修改本人的单据", vbExclamation,"

12、提示"Cancel = TrueEnd IfCase ElseEnd SelectEnd Sub【摘要】插件发送消息打开单据版本:K310.2SP1问题描述:能否在插件里用sendmessage方法发送消息来打开相应的单据?sendmessage发送的消息不能打开对应的单据。【摘要】获取Bos单据单据体已录信息的条数版本:K310.2SP1问题描述:我在写插件时,想得到单据体的已录信息的条数,用什么语句得到 呢?【解答】单据体的已录的条数用下面的方法可得到。m_BillInterface.Data("Page2").UBound注意:最后一条可能是空记录,要判断

13、(if分录关键子段或必填字段 <>"" then .)。【摘要】插件中获取单据上控件的位置、尺寸信息版本:K310.2SP1问题描述:请问在BOS雨件开发中,可否用代码获取BOSI据上某个控件的位置、尺寸信息?以及能否用代码动态修改它们的位置?【解答】在K/3BOS插件中获取控件的位置的方法:m_Bi川nterface.BillHeads.BOSFields("FDate").FieldTop,其中 “ FDate” 是控件的名称,也可以用它来改变控件的位置。【摘要】关联自定义核算项目版本:K310.2SP2问题描述:请问在新建的BOSI或原

14、有的BOSI上如何关联自定义的核算项目 基础资料?【解答】修改 ICClassTableInfo 中FLookupClassID,FSRCFieldName,FSRCTableName,FDSPFieldName,FFNDFieldName。【摘要】是否允许插件自定义查询条件?版本:K310.2SP2问题描述:需要在序事簿查询过程,根据人员角色不同,自动将所能看到的数 据进行过滤,请问此类问题怎么实现,BOSff事簿是否允许插件自定义查询条件?【解答】可以通过在序事簿插件的 show中直接修改ListFilterString属性的值来自定义查询条件. 示例如下: With m_listinte

15、rfaceIf len(.listfilterstring)>0 then .listfilterstring=.listfilterstring &" and FDeptID=984 ”Else .listfilterstring= " FDeptID=984 ” End if End with【摘要】填充分录行?版本:K310.2SP2问题描述:一张单据有几百条分录,每条分录数据都是通过插件填入的.但是 如果使用 setFieldValue方法一个字段一个字段填的话,速度非常慢.是不是有更好的方法填充行数据?【解答】可以试试用insertnewrowand

16、fill方法插入一新行。 示例如下: '批量插入行数据Dim i As LongFori = 1 To 10m_BillInterface.InsertNewRowAndFill 2, i, "FBase", "01.001", "FPrice", "100.001", "FAmount", "50000"Next需要注意的是查找类型的字段只要给出编码即可,基础资料属性(如物料名称等)不需要赋值。【摘要】在Bos单据按F7查询供应商信息,按 F9查询采购价格管理信息。

17、版本:K310.2SP1+PT0704问题描述:在新增采购申请单时,在分录中的供应商按F7能选择供应商信息,按 F9能选到采购价格管理信息,我现在想在新单中也添加一个供应商,也实现上述 功能.该什么实现?【解答】使用 MenuBarClick事件实现 F71、 BeginEdit 事件If dct("FKey")="要处理字段 FKey “ Thenm_BillInterface.MenuBar.BOSTools("mnuDataLookUp").Enabled = TrueEnd If2、 MenuBarClickIf BOSTool.Too

18、lName = "mnuDataLookUp" Thenm_BillInterface.GetActiveField dct, col, rowIf dct("FKey") = "FBillNo_BS" Thenm_BillInterface.BillCtl.DoSelBill 200000104 '( 原单的 ClassTypeID)End IfEnd If3、采购价格管理的调用接口,结合上述所说使用:Dim obj As ObjectSet obj = CreateObject("k3Suplly.SupplyF

19、ace")With obj.CallByBill = True.SelICItemID ='当前物料行内码.CategoryBySupply = false.SelSupID ='供应商内码.PriceType = 1.Show 1End WithSet obj = Nothing【摘要】有没有可以取到单据编号的组件呢?版本:K310.2SP2问题描述:客户要导入一张组装单,组装单是一张BOSI据。有没有一个专门得到单据编号的组件呢?有的话,接口是什么?【解答】Set obj = CreateObject("K3MClass.ClassInfo")

20、GetThisBillNo = obj.GetBillNo(sDsn, ClassID, sKey, bGetDeleteNo, bSave)接口描述:'/*描述:得到一种业务类型的编号'/*参数:'/* bGetDeleteNo是否获取空号,这种单据设置了删除的空号被保存才有效,已经无效,只是保持兼容调用接口'/* bSave是否需要修改新的最大单据号'/* ClassID 类型'/* sDsn连接串信息'/* sKey需要处理的关键字。【摘要】是否可以直接在数据库表中直接修改Bos单据中的字段类型?版本:K310.2SP1+Sp2+1

21、0.3问题描述:现在在Bos单据中加入一备注字段,并保存了数据,可否将备注字段改为文本字段,保证数据不丢失?【解答】可以修改表Icclasstableinfo的FCtlType字段,示例如下。update icclasstableinfo set fcaption_chs='文本 1',fcaption_cht=' 文本单据的时间梭T,fcaption_En='TextT,FKey='FTextT,FFieldName='FTextT,FCtlType=1 where fid=8438update icclasstype set fid=fid

22、-注意在后面更新 icclasstableinfo表来修改单据,一定要更新一下icclasstype,否则前面的更新在Bos设计环境反映不出来更新。【摘要】锁定单据字段版本:K310.2SP1+Sp2+10.3问题描述:如何在插件中锁定单据字段。【解答】可以用lockcell方法锁定,如锁定单据头币别:Set dcttemp = m_Bi川nterface.GetFieldInfoByKey("FCurrencyID ", "", 0)If Not dcttemp Is Nothing Then m_Bi川nterface.B川Ctl.LockCell

23、dcttemp, -1, True第二个参数为分录行号,当为-1时锁定所有行。注意:设计状态没有设计为"锁定”的字段,才可以在运行状态锁定或解锁。【摘要】删除符合条件的单据版本:K310.2SP1+Sp2+10.3问题描述:符合一定条件的单据不允许删除。是否有删除前的事件可以调用,或者其他方法?【解答】可以在中间层插件的 Beforedel事件中写代码实现。【摘要】动态过滤基础资料版本:K310.2SP1+Sp2+10.3问题描述:用K/3 BO时建的单据上的添加基础资料时,能否给定某中过滤条件? 比如:我选择某个物料资料,我要求只显示指定的某个部门的物料资料,其它的 物料不显示,不

24、清楚这种情况能否实现,还是可以通过其它方法来实现该功能。【解答】可以在单据的Change事件中写如下代码来实现动态过滤条件。If dct(“FKey" 尸“ FDeptID ” thenm_BillInterface.DataSrv.TableInfo(m_BillInteiface.TableInfo("Map")("FItemID")("FFilter")="x2.FNumber = ' "& m_BillInterface.getfieldvalue("FDeptlD") &"End if注意:上面的代码不支持调试,如果调试,发现赋值为空,没有将过滤条件赋值成功,但编译后运行没有问 题。【摘要】金额小写转化为大写。版本:K310.2SP2问题描述:K3Bos有没有将金额转化为大写的功能。【解答】K/3 BOS1在还没有集成金额小写转化为大写的功能。【摘要】单据保存出错版本:K310.2SP2问题描述:新增BOSm据,单据的表设为poRequest,单据体的表设为poRequestEntry,然后保存,出现如下提示错误信息:”索引IX_PoRequest_FBillNo 

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论