K3 BOS开发百问百答

2019-05-17 09:44

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

K/3 BOS开发百问百答

(版本:V1.0)

应用集成部 客户化管理部

2005年12月

i

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

目录

一、插件开发篇 _____________________________________________________ 1

【问题1】在插件中以新增、修改和查看方式打开另一单据 ______________________________ 1 【问题2】我想在投料变更单的菜单上加入一个菜单项,需要插入一个插件,但投料变更单上已

经有一个插件了,我想了解一下怎样才可以再插入一个插件呢? ________________ 2

【问题3】如何通过插件代码动态设置基础资料或业务单据序时薄过滤条件 ________________ 2 【问题4】在插件中调用序时簿并返回选中的数据 ______________________________________ 3 【问题5】在自定义的BOS单据上,通过插件作生成凭证的功能,但是在调用凭证的组件时,

需要一个二次登录后才能使用相应的模块。请问:如何处理隐身的二次登录,或者其他的变通处理。 __________________________________________________________ 3

【问题6】在设计BOS单据的过程中,经常会有关联的下拉列表框操作,如我在客户上选择“建

设银行”,那么在客户相对应的地址的下拉列表框中应动态显示“建设银行所对应的地址”。也就是说客户地址是随着客户的变化而变化的。 _________________________ 6

【问题7】如何可以物料多选? _____________________________________________________ 6 【问题8】在表单分录里需要在第一列中使用F7键或点击菜单调出某一窗体(在插件中自定义

Form,上有Spread表单),在Form中选中数据(多条或一条),返回到源单,请问在插件中用什么事件可以完成?在单据中添加一菜单,用MenuBarClick事件,F7不易实现。返回的数据需用赋值方法填写到表体中。是什么样的需求不能用BOS单据或基础资料完成“Spread表单”? ___________________________________________ 7

【问题9】插件中字定义系统中如何获取当前系统字符连接串?有个项目中,需要作一个年结功

能,进行土地数据结转、在vb中定义了年结功能窗口,要在主控台子系统中调用,怎样或得当前数据库连接信息,亦无法通过k3lib获得,因为我没必要去调用 bos表单或序时簿。另外,一些复杂报表、我也是通过vb中单独实现、这些报表也需要获的连接字符串才能调用? ______________________________________________________ 8

【问题10】关于K3Billtransfer.dll组件无法使用问题 ________________________________ 8 【问题11】BOS单据插件里的取分录的合计值该怎么做? _______________________________ 8 【问题12】隐藏选单时序时簿不要的菜单和工具栏。K/3单据查看和选单使用的是同一个序时簿,

在插件中用MenuBarInitialize添加的菜单和工具栏在选单时也显示出来。 ______ 9

【问题13】标体行高设置和值更新事件 ______________________________________________ 9 【问题14】事务处理 _____________________________________________________________ 10 【问题15】如何在新的BOS单据中通过代码逐行添加分录数据? ________________________ 10 【问题16】在单据体中有没有办法让下一条分录自动携带上一条分录的数据(只是部分字段)。

_______________________________________________________________________ 11

ii

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

【问题17】否有办法完成单据体中的行点击事件?现在有需要在点击BOS单据中单据体的某一

行时,在另一个表体中显示与该行有关的信息,请问各位有什么好的实现方法,特别是怎么获取点击事件和所点击的行数据信息。 _______________________________ 11

【问题18】多分录序时簿浏览,字段权限。 _________________________________________ 11 【问题19】怎么样可以用代码调出单据的序时薄窗口。 ________________________________ 11 【问题20】K/3 BOS SDK 二次开发组件(k3Billtransfer组件)嵌入K/3系统,数据库端按装后

(update ictransactiontype... 后),再在..../system32/ls_DV.dll,并注册,最后进入K/3,没有效果!是不是K3 V10.2不支持二次组件开发???还是不支持K/3 BOS SDK中的K3billtransfer组件? _______________________________________________ 13

【问题21】如何在单据插件代码中通过条件判断来启动多级审核. _______________________ 13 【问题22】在插件开发中,如何获得当前登陆的用户ID?比如administrator登陆,如何得到

ID?另外,如何得到选中多行单据时的集合?一个表体中,有职员编码和职员名称,想通过输入编码后,直接关联出名称来。名称这个字段用职员类型,还是文本?值更新事件好象不管用。 _____________________________________________________ 13

【问题23】在销售系统中增加了一张BOS开发的单据. 单据上也指定了相应的插件.(插件是依

据BOS 开发向导生成的. 插件的功能只是增加一个自定的菜单项).组件中也引用了: K3ClassEvents.dll,但在单据测试时,却总是提示错误: \单据接口无效\的错误. 请问BOS新开发的单据是不是不能调用自定义的插件? 如果有调用是不是要做其它处理? _______________________________________________________________________ 14

【问题24】Bos 开发的单据还能不能调用 k3billtransfer.dll 这个组件? BOS插件中如何取得

连接字符串? (以前 m_Billtransfer.Cnnstring ) 我想把连接字符串做为参数传递给其它语言开发的程序. ____________________________________________________ 14

【问题25】需要通过工具栏上的按钮,实现单据体分录的上移和下移功能,请问BOS插件的如

何实现? _______________________________________________________________ 14

【问题26】新增BOS 单据分录中有数量 及基本单位数量 字段, 基本单位数量关联字段为数量,

但输入完数量后,基本单位数量仍然为空. ___________________________________ 14

【问题27】我在做k3BillTransfer开发时需要取表体中的“批次”列是否可以录入,即该物料

是否批次管理,请问控件fpSpread中,怎么才能知道哪一个单元格可以录入或不能录入?或者可以取到该物料的内码也可以。EnteryCtl都有那些属性啊,我只知道一个fieldname,其他的比如内码等是什么?在单据二次开发参考组件没有描述,在哪有详细的说明? _____________________________________________________________ 15

【问题28】K/3 BOS单据、序时簿和工业单据、序时簿中分别如何获得当前用户的信息?(比如

ID) ___________________________________________________________________ 15

【问题29】通过工业单据插件怎么获得当前K/3的版本号?工业单据插件是否支持所有账套类

型的单据,不区分工业供应链、商业供应链? _______________________________ 15

【问题30】在工业单据的插件中如何得到单据的FInterID? (工业单据) _________________ 15 【问题31】在BOSV10.2中,填充新行数据可以用m_BillInterface.InsertNewRowAndFill方法实

iii

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

现,但是在BOSV10.1中不知道用什么方法可以向单据体逐行插入数据?如果单据体中有物料、计量单位等查找类型字段,其赋值是否一样? _____________________ 15

【问题32】请问10.2的工业老单(非BOS),作k3BillTransfer插件的时候,是否可以在

BeforHeadLookUp事件中指定基础资料的过滤条件,如:

m_BillTransfer.HeadCtl(CtlIndex).Filter = \。我发现这段代码所指定的过滤条件不起作用。 _______________________________________________________________ 16

【问题33】 我们在使用K/3 BOS+VB6为新港湾开发一个完全个性的项目管理系统,是使用一

套帐的方式实现的,帐套理面将会创建几十或更多的工程项目,这就涉及到基础资料、项目计划、项目施工记录、项目有关单据等诸多信息要跟具体的项目邦定起来,用户一旦选定当前项目后,所有的数据维护、查询及报表都只针对当前项目操作,现在录入时跟项目邦定的问题我已解决,可查询(主要是序时薄,包括基础资料序时薄与业务单据序时薄如何与当前选定项目邦定,即序时薄只显示属于当前选定项目的数据)的问题还没解决,这就是我提出问题的背景,该问题若解决不了,整个使用K/3 BOS进行开发的解决方案将行不通,面临几十万元退款损失的风险,故十分重要。需求如下(举个例): 如用BOS定义了一个名为\项目任务\的基础资料,包含工程项目、任务代码、任务名称等字段,如下所示: 工程项目 任务代码 任务名称

------------------------------- 00000001 01 进场准备 00000001 02 进场 00000002 01 进场准备 00000002 02 进场 ........ .. ........ 写插件时,请问想要达到进入该基础资料序时薄时只显示某一个工程项目的相关基础资料记录该如何编码 (在那个事件入口处理、怎样处理),同样,如果是业务单据序时薄,又该如何设置过滤条件(在那个事 件入口处理,怎样处理),本人看过开发手册,好象没有合适的事件入口,更没有该方面的例子。 _______________________________________________________________ 17

【问题34】怎么找每个字段的索引 _________________________________________________ 17 【问题35】BOS 开发一张新的单据. 在选单返回时, 希望能在表体自动添加一行分录. _____ 18 事件测试代码如下: Private Sub m_BillInterface_AfterSelBillBeforeFillData(ByVal dcData

As KFO.IDictionary, ByVal dctLink As KFO.IDictionary) Dim CoDict As KFO.Dictionary Set CoDict = dcData(\拷贝第一条分录数据 dcData(\添加到 dcData

dcData(\dcData(\更改分录号 'Stop set CoDict=Nothing End Sub 我用 watch 查看 DcData 的值. DcData(\也有增加一条, 但返回后,新添加的分录并未带到目标单据上? 请问我还要修改哪些地方? ____________________________ 18

【问题18】BOS单据插件里的BusinessCheck事件有何用途?写在BusinessCheck里面的代码也

不执行,不知道这个事件到底是什么时候触发的。在AfterBusinessCheck事件中写的代码在打了10.2SP1之后就不执行了,我把代码放到BusinessCheck事件中也不执行,不知道什么原因,但AfterUnBusinessCheck中的代码却执行了。我只做了一级审核。AfterBusinessCheck事件和BusinessCheck事件触发时点的问题,以查看状态打开单据进行审核时,这两个事件不触发,只有在修改状态打开单据并进行审核,这两个事件才会被触发。之前没有打SP1的时候是没有这个问题的。因为强制审核人必须要打开单据检查后再进行审核,所以我在该单据的序时簿中把审核菜单去掉了,只能打开单据审核。不知道有没有人遇到这个问题。 _________________________________ 19

iv

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

二、方案篇 ________________________________________________________ 20

【问题1】客户的产品是通过图纸来制造的,图纸有些是客户自己提供标准图纸,有些是客户的

需求自己根据需求画出来的,报价单很大的部分是根据图纸来的,而且图纸是公司的机密。现在用户需求是图纸需要有严格的权限控制,最好能够放在数据库里面统一管理,有图纸单据有:报价单,销售定单,合同;现在我们的K/3v10.2的附件的权限不好管理不能满足客户的需求。如何提供解决方案? ___________________________ 20

【问题2】客户需要开发一张外贸报价单,里面涉及到物料对应表的内容,对应代码具体能实现

的功能跟现有的报价单的一致,现在不知道怎么样能够具体的实现这样的功能,因为BOS的基础资料里面没有物料对应表,可以新增BOS基础资料和物料对应表共用一个表名,但是怎么可以做到跟原有的报价单在物料对应这一块的一摸一样的功能。 _ 20

【问题3】能否在新版BOS中提供一个没有数据,只有工具条及菜单栏的浏览数据窗口,供做插件

集成操作窗口用,现在只能用单据窗口实现,打开时还出现过滤窗口,很别扭。 ____ 20

【问题4】新单下推(钩稽)老单时,在新单序时簿里可以选中多张单据下推生成老单,但在老

单单据中选取新单是不能选取多张单据,怎样解决? _________________________ 20

【问题5】为什么在BOS单据下推到外购入库单时无法选择红字单据,只能是蓝字单据呢?BOS

单据下推生成老单的时候,怎样把BOS单据的单据号显示在老单上呢? _________ 21

【问题6】如何在单据中做一个可以选择,又可以随意录入的字段?客户要在单据上加入一个

“送货地点”,送货地点有一部分是固定的,还有一部分是只用一次,所以客户需要当是固定送货地点时的就进行选择,对于选不到的就直接在单据上打字(也就是不录入BOS基础资料中)。 ___________________________________________________ 21

【问题7】如何在把BOS单据的税率携带到下游老单据?BOS新做的单据税率是基础资料属性来

做的,但是K/3的老单据的税率不是基础资料属性,所以BOS单据下推生成老单据的时候怎么样携带税率下去呢。 _____________________________________________ 21

【问题8】客户的车间管理的单据与我们K310.2的差异很大,无法使用K3的车间来满足客户需

求。从派工单,到工序汇报,到最后的计时计件工资,都有差异,比如派工单,K3的表头是客户单据的表体,而K3的表体是客户单据的表头。但单据流是基本一致的。请问这样的开发用BOS是否可行?还是单独写程序比较好?哪个综合起来效果最佳?另外,分录是否可以把字段竖着表示?把行变成列,把列变成行? _______________ 21

【问题9】K310.2 委外加工生产任务单-录入界面中,我们的系统中是只能实现录入一个物料进

行委外加工,现在客户要求录入多条物料在一个界面内且能实现在原有界面上的所有操作。目前我用BOS新建一个表单做到的情况是可以录入多条物料,但BOM代码数据抓不到,单据能保存。实现不了确认单据后,单据状态由计划状态变为下达状态。请问应该怎么做。 _______________________________________________________ 22

【问题10】在工业单据上定义了“审核日期”字段,需要在审核后将系统日期填充到“审核日

期”字段。我想通过工业单据插件来实现,但是不知道在哪个事件中执行? _____ 22

【问题11】K3/10.2中调用不了Billtransfer,10.2以前版本中更新表ictransactiontype 中字段

fcheckpro 成“ReDevClient:RevDev***.cls***”就可以调用 10.2版本是否需要修改其他地方? _______________________________________________________________ 22

v


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

下一篇:经济法作业题

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

马上注册会员

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