成都网站建设四川推来客网络,如需手机网站建设,深圳做网站(信科网络),创作服务平台K/3 BOS开发百问百答 #xff08;版本#xff1a;V1.1#xff09; K3产品市场部 目录 一、基础资料篇__ 1 【摘要】bos基础资料的显示问题_ 1 【摘要】单据自定义无法看到bos定义的基础资料_ 1 【摘要】在调出基础资料序时簿时#xff0c;过滤出我需要的基础资料_ 1 【摘要… K/3 BOS开发百问百答 版本V1.1 K3产品市场部 目录 一、基础资料篇__ 1 【摘要】bos基础资料的显示问题_ 1 【摘要】单据自定义无法看到bos定义的基础资料_ 1 【摘要】在调出基础资料序时簿时过滤出我需要的基础资料_ 1 【摘要】bos定义的基础资料能否做到按名称而不是按代码进行自动匹配_ 1 二、业务单据篇__ 2 【摘要】是否支持多插件和数据授权_ 2 【摘要】K3BOS单据新中的数量字段怎样才能控制到两个小数_ 2 【摘要】单据上显示各级审核人和审核日期_ 2 【摘要】多层的BOS单据能否将人员权限按层划分_ 2 【摘要】自动启动审核 和自动选单_ 3 【摘要】触发值更新事件_ 3 【摘要】只能删除和修改本人制作的单据。_ 3 【摘要】插件发送消息打开单据_ 4 【摘要】获取Bos单据单据体已录信息的条数_ 4 【摘要】插件中获取单据上控件的位置、尺寸信息_ 4 【摘要】关联自定义核算项目_ 5 【摘要】是否允许插件自定义查询条件_ 5 【摘要】填充分录行_ 5 【摘要】在Bos单据按F7查询供应商信息按F9查询采购价格管理信息。_ 6 【摘要】有没有可以取到单据编号的组件呢_ 6 【摘要】是否可以直接在数据库表中直接修改Bos单据中的字段类型_ 7 【摘要】锁定单据字段_ 7 【摘要】删除符合条件的单据_ 7 【摘要】动态过滤基础资料_ 7 【摘要】金额小写转化为大写。_ 8 【摘要】单据保存出错_ 8 【摘要】表体当中的当前记录号不能在套打中打印。_ 8 【摘要】标准序时簿过滤条件对话框(和K3老单据一样)_ 8 【摘要】K3Bos英文版Bos单据表体行号为中文如何解决_ 9 【摘要】如何再次添加新插件_ 9 【摘要】下拉框里不能录入半角逗号_ 9 【摘要】单据分录数达到3000条单据保存会不会出错_ 9 【摘要】Bos单据是否支持上传下载功能_ 10 【摘要】文本字段录入完毕回车不跳转_ 10 【摘要】选单数据显示_ 10 【摘要】不能实现记录选择。_ 10 【摘要】如何删除空行。_ 10 【摘要】没有找到符合条件的记录。_ 11 【摘要】BOS套打_ 11 【摘要】数量精度和单价精度_ 11 【摘要】计算公式如何定义_ 11 【摘要】批次过滤_ 12 【摘要】应收应付系统合同是否能超额执行_ 12 【摘要】基础资料录入代码时不马上显示相关的列表_ 12 【摘要】在插件中以新增、修改和查看方式打开另一单据_ 13 【摘要】显示BOS序时簿并返回选中的值_ 14 【摘要】将当前单据转化为另一单据并无界面保存数据_ 15 【摘要】隐藏选单时序时簿不需的菜单和工具栏_ 16 【摘要】在单据体中让下一条分录自动携带上一条分录的数据_ 17 【摘要】在Bos插件中如何处理隐身的二次登录_ 17 【摘要】如何在插件中获取当前系统字符连接串_ 19 【摘要】BOS单据插件里取分录的合计值_ 20 【摘要】表体行的高度设置_ 20 【摘要】带有辅助属性的字段的值更新事件中调用辅助属性,计算公式运行有误_ 21 【摘要】事务处理_ 21 【摘要】Bos单据插件中能否调用K3Billtransfer.dll组件_ 21 【摘要】基本单位数量在录入完数量后仍然为空_ 21 【摘要】BOSV10.1单据插件中如何向单据体逐行插入数据_ 21 【摘要】BOS单据选单返回时自动在表体添加一行分录_ 22 【摘要】只有工具条及菜单栏的浏览数据窗口_ 22 【摘要】K3Bos表体如何设置合计_ 23 【摘要】收款单的套打设置里面怎么取到通过Bos自定义的字段_ 23 【摘要】如何隐藏Bos单据中的层_ 23 三、多级审核篇__ 23 【摘要】批量审核_ 23 【摘要】设置为一级审核的Bos单据反审核后不能修改_ 24 【摘要】能否使administrator对任何人审核的BOS单据进行反审核_ 24 【摘要】实现多级审批同时需要更改审批的数量与单价_ 24 【摘要】BOS字段多级审核后可以修改_ 24 【摘要】多级审核跳转_ 25 【摘要】多级审核的操作_ 25 【摘要】插件的审核事件_ 25 【摘要】有关多级审核的问题_ 26 【摘要】合同进行多级审核提示需要Bos加密狗_ 27 四、单据转换流程篇__ 1 【摘要】Bos单据与反审核相关的业务流程问题_ 1 【摘要】新单推老单不能实现钩稽功能_ 1 【摘要】系统BUG_ 1 【摘要】未审核的老单据不能下推Bos单据_ 2 【摘要】单据转换流程中能否实现汇总下推? 2 【摘要】自定义的bos单据无法下推生成销售费用发票。_ 2 【摘要】选单一致_ 2 【摘要】无物料编码时下推报错_ 3 【摘要】合同字段带到付款单_ 3 【摘要】下推发货通知单的时候,所有自定义字段中的文本字段在发货通知单都变成了0_ 3 【摘要】下标越界_ 3 【摘要】10.2sp1 钩稽后设过滤条件不起作用_ 4 【摘要】关联复制_ 4 【摘要】老单下推新单过滤条件的设定_ 5 【摘要】在老单单据中选取新单如何选取多张单据_ 5 【摘要】BOS单据下推到外购入库单时无法选择红字单据_ 5 【摘要】如何用BOS单据体字段推成目的单据(老单)的单据头字段_ 5 五、报表篇__ 6 【摘要】交叉分析报表_ 6 【摘要】直接SQL报表_ 6 六、部署发布篇__ 6 【摘要】发布功能的名称如何更改_ 6 【摘要】编码规则丢失_ 7 【摘要】怎样将旧单改造数据结构的动作打包到Bos安装包中? 7 【摘要】中间层上发布插件后客户端的插件dll文件没有被更新。_ 7 【摘要】发布的BOS单据如何删除_ 8 【摘要】Bos单据发布后主控台没有显示_ 8 【摘要】BOS部署客户端智能升级失败_ 8 【摘要】打包应用程序是否有类似的InstallShield的脚本参考_ 8 七、其他__ 9 【摘要】关于BOS的加密问题_ 9 【摘要】数据权限管理_ 9 【摘要】在使用citrix客户端时调用出BOS过滤界面后选择下拉列表后出错_ 9 【摘要】关于Bod已过期问题的处理。_ 9 【摘要】中间层插件_ 9 【摘要】BOS插件调用工资系统汇总表_ 10 【摘要】bos插件中如果发生任何错误在k3界面中不会出现任何提示_ 10 【摘要】以Administrator主控台设置刷新其他用户主控台设置_ 10 【摘要】系统帮助文件的挂靠_ 11 【摘要】图纸管理_ 11 【摘要】外贸报价单_ 11 【摘要】如何在单据中做一个可以选择又可以随意录入的字段_ 12 【摘要】如何将BOS单据的税率携带到下游老单据_ 12 【摘要】客户的车间管理的单据与我们K310.2的差异很大可否用Bos开发_ 12 【摘要】修改应收应付模板_ 12 【摘要】客户在正式上线使用时需如何购买站点数_ 13 【摘要】在K/3 BOS中能否打印一张复杂的单据_ 13 【摘要】恢复K/3 BOS插件开发向导菜单按钮_ 13 一、基础资料篇 【摘要】bos基础资料的显示问题 版本K310.2SP210.310.2SP1 问题描述我们的bos做出来的基础资料为什么不能做成象核算项目一样点中上级组就能显示相面所有基础资料而不是现在点到最后一个上级组才能显示明细。 【解答】 这是新需求以后版本会解决。 【摘要】单据自定义无法看到bos定义的基础资料 版本K310.2SP2 问题描述在单据自定义中增加自定义字段时需要选择用bos定义的基础资料该如何设置。我在单据自定义的高级页签上选择基础资料下拉框中无法看到bos定义的基础资料我跟踪Sql在ICChatBillTitle 中有自定义字段属性的相关设置如FTableName、FLookUpClassID等字段。我把记录改成BOS基础资料对应的信息但是无法生效。请高手指点。 【解答】 在10.2里工业单据自定义工具不能使用BOS单据的基础资料,建议使用核算项目来定义基础资料,即可在工业单据中使用,也可在BOS单据中使用。 【摘要】在调出基础资料序时簿时过滤出我需要的基础资料 版本K310.2SP210.310.2SP1 问题描述能否对BOS基础资料做过滤即在调出基础资料序时簿时过滤出我需要的基础资料。 【解答】 1、在ICClasstypeentry的FFilter字段增加过虑条件 2、在ICClassTableInfo的FFilter中填写条件。 下例能完成只显示“01”组的物料FFilter的值应是“x2.FNumber like 01.%” SELECT t1.FItemID FROM t_Item t1 with(index (uk_Item2)) LEFT JOIN t_ICItem x2 ON t1.FItemID x2.FItemID WHERE FItemClassID 4 AND t1.FDetail1 AND (x2.FNumber like 01.%) AND t1.FDeleteD0 ORDER BY t1.FNumber 【摘要】bos定义的基础资料能否做到按名称而不是按代码进行自动匹配 版本K310.2SP2SP1 问题描述是否可以在相关的基础资料的对象中增加通过名字查询功能。目前的基础资料部门人员物料等是通过F7查询或者输入代码但是实际业务中很多情况是输入名字很多客户已经要求使用名字查询特别是涉及职员、部门等基础资料不知道BOS能不能先行一步改掉k/3的这个习惯即直接在那个文本框中输入名称然后自动匹配就像在文本框中输入代码一样能够自动找到相应的基础资料。 【解答】 具体功能计划10.3实现。另外现在BOS支持汉字的模糊查询按F8F9即可。二、业务单据篇 【摘要】是否支持多插件和数据授权 版本K310.1 问题描述客户使用应付款管理系统需要将合同资料、其他应付单、收款单等单据按部门进行数据授权是否需要申请源代码如果使用BOS插件能否解决数据授权问题另外Bos是否支持多插件谢谢 【解答】 1、101下不支持多插件 2、由于不支持多插件必须要申请插件的源代码。 【摘要】K3BOS单据新中的数量字段怎样才能控制到两个小数 版本K310.2SP1SP210.3 问题描述最近在用K3BOS作一个项目用K3BOS设计的单据中的数量字段小数位默认是10位请问怎样才能控制到两个小数是用插件来控制的吗 【解答】 通过以下方式增加字段时物料-计量单位-数量数量将按照物料定义的精度来处理否则缺省按照十位处理如果需要定义字段为某个固定的精度可以使用小数字段通过该字段的小数位属性来控制。 【摘要】单据上显示各级审核人和审核日期 版本K310.2SP2 问题描述多级审核栏目客户不希望分成第二个Label而是想在单据上有每级审核人和日期显示。 【解答】 如果用系统的多级审核流程就会有多级审核的业签。可以在单据上增加多几个审核人、审核日期在单据插件的AfterMultiCheck 事件中反写单据上的审核人、审核日期。 【摘要】多层的BOS单据能否将人员权限按层划分 版本K310.2SP1后各版本 问题描述某直销单据分为采购和销售两个页采购内勤组的成员只能看到采购页而不能看到销售页而销售内勤组的成员只能看到销售页而不能看到采购页。 【解答】 Bos单据不能按层进行授权可以通过数据授权和字段授权的方式变通实现此类需求。 【摘要】自动启动审核 和自动选单 版本K310.2SP1 问题描述客户希望在打开一个新单据的同时自动弹出选单的界面显示要选择的单据。.因为客户使用的10.2 SP1 所以希望在 单据保存后自动启动审核。希望总部提供 在插件中调用“选单”和“启动审核”的BOS的内部处理事件。 【解答】 1、 自动启动审核 在AfterSave事件中使用以下代码 Dim bStatus As Boolean bStatus m_BillInterface.MultiCheckMgr.MultiCheckBill(m_BillInterface.Data(FID)) 2、 选单调用 BOS单据 m_BillInterface.BillCtl.DoSelBill lClassTypeID (原单的ClassTypeID) 工业单据 m_BillInterface.BillCtl.DoSelOldBill lClassTypeID (原单的ClassTypeID) 【摘要】触发值更新事件 版本K310.2SP10704 问题描述我在BOS的表体字段数量中设置了值更新事件。在插键中自定义一个菜单点击菜单后更改表体中数量的值但没有触发字段数量所设置的值更新事件。更改表体中数量是用m_BillInterface.SetFieldValue FAuxQty, 500, 1方法更新的。同时发现更新数量合计值没有被改变。请问用什么方法更新表体数据能触发字段中设置的值更新事件及其它值加载事件同时可以更新合计值 【解答】 目前在插件中没有处理事件的方法可用插件更新合计值。 【摘要】只能删除和修改本人制作的单据。 版本K310.2SP1 问题描述如果实现只能删除和修改本人制作的单据 【解答】 Private Sub m_ListInterface_MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean) Dim lBillerID As Long Dim strSQL As String Select Case BOSTool.ToolName Case mnuEditDelete, mnuEditModify strSQL 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 Then MsgBox 只能删除和修改本人的单据, vbExclamation, 提示 Cancel True End If Case Else End Select End Sub 【摘要】插件发送消息打开单据 版本K310.2SP1 问题描述能否在插件里用sendmessage方法发送消息来打开相应的单据 【解答】 sendmessage发送的消息不能打开对应的单据。 【摘要】获取Bos单据单据体已录信息的条数 版本K310.2SP1 问题描述我在写插件时想得到单据体的已录信息的条数用什么语句得到呢 【解答】 单据体的已录的条数用下面的方法可得到。 m_BillInterface.Data(Page2).UBound 注意最后一条可能是空记录要判断(if 分录关键子段或必填字段 then .....)。 【摘要】插件中获取单据上控件的位置、尺寸信息 版本K310.2SP1 问题描述请问在BOS插件开发中可否用代码获取BOS单据上某个控件的位置、尺寸信息以及能否用代码动态修改它们的位置 【解答】 在K/3BOS插件中获取控件的位置的方法 m_BillInterface.BillHeads(1).BOSFields(FDate).FieldTop其中“FDate”是控件的名称也可以用它来改变控件的位置。 【摘要】关联自定义核算项目 版本K310.2SP2 问题描述请问在新建的BOS单或原有的BOS单上如何关联自定义的核算项目基础资料 【解答】 修改ICClassTableInfo中FLookupClassID,FSRCFieldName,FSRCTableName,FDSPFieldName,FFNDFieldName。 【摘要】是否允许插件自定义查询条件 版本K310.2SP2 问题描述需要在序事簿查询过程根据人员角色不同自动将所能看到的数据进行过滤请问此类问题怎么实现BOS序事簿是否允许插件自定义查询条件 【解答】 可以通过在序事簿插件的show中直接修改ListFilterString属性的值来自定义查询条件. 示例如下 With m_listinterface If len(.listfilterstring)0 then .listfilterstring.listfilterstring “ and FDeptID984” Else .listfilterstring” FDeptID984” End if End with 【摘要】填充分录行 版本K310.2SP2 问题描述一张单据有几百条分录, 每条分录数据都是通过插件填入的.但是如果使用 setFieldValue 方法一个字段一个字段填的话, 速度非常慢. 是不是有更好的方法填充行数据? 【解答】 可以试试用insertnewrowandfill方法插入一新行。 示例如下 批量插入行数据 Dim i As Long For i 1 To 10 m_BillInterface.InsertNewRowAndFill 2, i, FBase, 01.001, FPrice, 100.001, FAmount, 50000 Next 需要注意的是查找类型的字段只要给出编码即可基础资料属性如物料名称等不需要赋值。 【摘要】在Bos单据按F7查询供应商信息按F9查询采购价格管理信息。 版本K310.2SP1PT0704 问题描述在新增采购申请单时,在分录中的供应商按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 【摘要】有没有可以取到单据编号的组件呢 版本K310.2SP2 问题描述客户要导入一张组装单组装单是一张BOS单据。有没有一个专门得到单据编号的组件呢有的话接口是什么 【解答】 Set obj CreateObject(K3MClass.ClassInfo) GetThisBillNo obj.GetBillNo(sDsn, ClassID, sKey, bGetDeleteNo, bSave) 接口描述 /*描述:得到一种业务类型的编号 /*参数: /* bGetDeleteNo 是否获取空号这种单据设置了删除的空号被保存才有效已经无效只是保持兼容调用接口 /* bSave 是否需要修改新的最大单据号 /* ClassID 类型 /* sDsn 连接串信息 /* sKey 需要处理的关键字。 【摘要】是否可以直接在数据库表中直接修改Bos单据中的字段类型 版本K310.2SP1Sp210.3 问题描述现在在Bos单据中加入一备注字段并保存了数据可否将备注字段改为文本字段保证数据不丢失 【解答】 可以修改表Icclasstableinfo的FCtlType字段示例如下。 update icclasstableinfo set fcaption_chs文本1,fcaption_cht文本1,fcaption_EnText1,FKeyFText1,FFieldNameFText1,FCtlType1 where fid8438 update icclasstype set fidfid ----单据的时间梭 注意在后面更新icclasstableinfo表来修改单据一定要更新一下icclasstype,否则前面的更新在Bos设计环境反映不出来更新。 【摘要】锁定单据字段 版本K310.2SP1Sp210.3 问题描述如何在插件中锁定单据字段。 【解答】 可以用lockcell方法锁定,如锁定单据头币别: Set dcttemp m_BillInterface.GetFieldInfoByKey(FCurrencyID , , 0) If Not dcttemp Is Nothing Then m_BillInterface.BillCtl.LockCell dcttemp, -1, True 第二个参数为分录行号,当为-1时锁定所有行。 注意:设计状态没有设计为锁定的字段,才可以在运行状态锁定或解锁。 【摘要】删除符合条件的单据 版本K310.2SP1Sp210.3 问题描述符合一定条件的单据不允许删除。是否有删除前的事件可以调用或者其他方法 【解答】 可以在中间层插件的Beforedel事件中写代码实现。 【摘要】动态过滤基础资料 版本K310.2SP1Sp210.3 问题描述用K/3 BOS新建的单据上的添加基础资料时,能否给定某中过滤条件?比如:我选择某个物料资料,我要求只显示指定的某个部门的物料资料,其它的物料不显示,不清楚这种情况能否实现,还是可以通过其它方法来实现该功能。 【解答】 可以在单据的Change事件中写如下代码来实现动态过滤条件。 If dct(“FKey”)”FDeptID” then m_BillInterface.DataSrv.TableInfo(m_BillInterface.TableInfo(Map)(FItemID))(FFilter) x2.FNumber ’” m_BillInterface.getfieldvalue(“FDeptID” ) “’” End if 注意:上面的代码不支持调试,如果调试,发现赋值为空,没有将过滤条件赋值成功,但编译后运行没有问题。 【摘要】金额小写转化为大写。 版本K310.2SP2 问题描述K3Bos有没有将金额转化为大写的功能。 【解答】 K/3 BOS现在还没有集成金额小写转化为大写的功能。 【摘要】单据保存出错 版本K310.2SP2 问题描述新增BOS单据,单据的表设为poRequest, 单据体的表设为 poRequestEntry,然后保存,出现如下提示错误信息”索引’IX_PoRequest_FBillNo’依赖于列’FBillNo’”,请问这是怎么回事能删除此索引吗 【解答】 这是10.2的一个设计不合理的地方10.3没有这个问题了。可以先删除设计成功后加上就好了。 【摘要】表体当中的当前记录号不能在套打中打印。 版本K310.2SP1PT0704 问题描述表体当中的当前记录号不能在套打中打印。 【解答】 当前行号打印的补丁PT003411已经解决。 【摘要】标准序时簿过滤条件对话框(和K3老单据一样) 版本K310.2SP1 问题描述请问BOS单据的序时簿过滤条件对话框中是否可以像标准K3单据那样有默认的“本期”“红蓝字”等过滤条件 【解答】 可以在数据库里写执行如下代码实现下面例子是添加审核的过滤条件 Update icclasstableinfo set flock-1,fconditionext1000000 where fclasstypeid300000000 and fkeyFchecker 说明fconditionext1000000对应的内容为ICClassCondition表中FID1000000内容察看该条记录的FDataSource_CHS简体中文信息为”全部;None~已审核;isnull(Field,0)0~未审核;isnull(Field,0)0”。 全部对应得解析条件为None,说明该过滤条件不起作用 已审核对应得isnull(Field,0)0通过判断Fchecker字段的值是否大于0来判断其是否审核 未审核对应得isnull(Field,0)0通过判断Fchecker字段的值是否小于等于0来判断其未审核。 P.S:如果现有的扩展过滤条件不满足条件需要增加请不要紧接着系统定义的Fid开始扩展以免被系统升级时清除可像单据类型一样从200000000开始。 【摘要】K3Bos英文版Bos单据表体行号为中文如何解决 版本K310.2SP1 问题描述我们现在在进行英文界面BOS单据的开发添加的表体上有“行号”两个汉字不知道是否可以隐藏或者用英文单词进行替换 【解答】 产品的Bug后续版本会处理。 【摘要】如何再次添加新插件 版本K310.2及以后版本 问题描述我想在投料变更单的菜单上加入一个菜单项需要插入一个插件但投料变更单上已经有一个插件了我想了解一下怎样才可以再插入一个插件呢 【解答】 点插件管理中的按钮可以通过浏览来选择自定义插件并选择多个插件对象BOS允许多个插件同时存在。 【摘要】下拉框里不能录入半角逗号 版本K310.2SP1 问题描述在BOS单据中添加了一个下拉框控件使用手工录入值列表如果录入的值中包含半角“,”则点击确定的时候会报错“无效的过程调用或参数”请问如何才能录入逗号且不会报错谢谢 【解答】 产品的Bug,和输入法有关。 【摘要】单据分录数达到3000条单据保存会不会出错 版本K310.2SP2 问题描述因为业务需要可能一张单据的分录数达到2000-3000条这样的BOS开发的单据保存时是否有问题参考:10.0的设备管理中录入50-60条分录保存时就会有问题出现。 【解答】 你提到那个问题是10.0的bug,目前K3BOS单据最大行数设定是2000行。如确实有需求可放开相应限制。但单据体字段过多性能会受到一些影响建议最好不要超过这个限制。 【摘要】Bos单据是否支持上传下载功能 版本K310.2SP2 问题描述BOS开发的单据是否支持K3分销系统的上传下载功能 【解答】 Bos单据不支持k3分销系统的上传下载功能。 【摘要】文本字段录入完毕回车不跳转 版本K310.2SP1SP2 问题描述在Bos单据的表体中加入一备注字段,后再加入一文本字段,发现备注字段敲回车不跳转,后面的文本字段输入完毕回车也不跳转。 【解答】 备注型字段因为支持回车的录入所以不支持回车跳转。经测试发现,文本字段放在备注字段后面,则文本字段录入敲回车,也清空和备注字段的现象一样,这可能是sp1和sp2的Bug,可以将备注字段放在行的第后一列,则就没有问题。 【摘要】选单数据显示 版本K310.2SP1 问题描述单据界面有多个层选单完成后所有层的数据都被显示出只有手工切换层才能刷新 【解答】 这应该是个bug,详细描述操作最好提供帐套后提条程序错误的提单把。你试试补丁PT002046这个问题sp2已经解决了的。 【摘要】不能实现记录选择。 版本K310.2SP1PT0704 问题描述新做的BOS单据配置单在与源单销售订单进行选单的时候出现在销售定单中选择某一条记录或者某几条记录的时候会将销售订单所有的记录都选过来不能实现记录选择。 【解答】 应该是你沟选了[选单时关联整单]选项导致的不选上就按分录返回。 【摘要】如何删除空行。 版本K310.2SP2 问题描述客户在输入信息回车后系统光标会自动跳到下一行即新增一行保存时系统提示“XXX”字段不运行为空。需要手工删除一行比较麻烦。我想通过插件在点击保存时判断如果有空行就删除该行但不知道删除单据体一行的插件语句如何调用 【解答】 可以不写代码设置该单据体的[关键字段]保存前将清除最后一行空白行。 【摘要】没有找到符合条件的记录。 版本K310.2SP2 问题描述我在采购请购单与采购订单建立一中间的流转单发现中间单无法正常的下推到采购订单出现如下错误没有找到符合条件的记录. 【解答】 这是sp2的一个Bug,请下载补丁PT003011。 【摘要】BOS套打 版本K310.2SP2 问题描述在表头所有项目打印出后为防止更改在每个项目后加入quot;#quot;且该quot;#quot;尾随打印内容体现目前在套打模板中定义后quot;#quot;显示按固定位置如果该项值很少的话项目值和quot;#quot;之间有很大距离无法实现管理要求这个问题怎么解决 【解答】 特殊需求已制作补丁包PT003682。 【摘要】数量精度和单价精度 版本K310.2SP210.310.2SP1 问题描述在单据体中加上“数量”字段用decimal的后面的小数点位太多位了用integer的“数量”怎么不可以指定到“单位”上去请问大家有什么好办法吗 【解答】 数量和单价的精度是跟着物料的[数量精度]和[价格精度]走的如果客户只存在整数物料精度可以通过[基础资料]-[公共资料]-[核算项目管理]-[004-物料修改]设置物料精度的缺省值为0。 【摘要】计算公式如何定义 版本K310.2SP210.310.2SP1 问题描述在BOS单据设计的时候进行单据体内单元格计算时如设数量、单价、金额正常应该在“金额”栏设置公式等于“数量”乘于“单价”但这样设“金额”栏无法计算。 【解答】 如果要实现在修改数量列和单价列更新金额须在“数量”列和“单价”列的[值更新事件]分别增加一条计算公式:金额数量*单价。 【摘要】批次过滤 版本K310.2SP210.310.2SP1 问题描述关于批次号分别按输入的物料、仓库、仓位的过滤批次的范例代码。 【解答】 环境说明 物料字段名称FItemID 仓库字段名称FDCStockID 仓位字段名称FDCSPID 批次号字段名称FBatchNo 1、 录入仓库后依据仓库的仓库组过滤仓位。 update ICClasstableinfo set FFilterFSPGroupID (SELECT FSPGroupID FROM t_Stock WHERE FItemID GetFldValue(FDCStockID,1)) where FKeyFDCSPID and FClassTypeID300000000 2、 根据输入的物料、仓库、仓位过滤过率批次号时。 update ICClassTableinfo set FFilter(FItemIDGetFldValue(FItemID,1) and FStockIDGetFldValue(FDCStockID,1) and FStockplaceIDGetFldValue(FDCSPID,1)) where FKeyFBatchNo and FClassTypeID300000000 3、 更新BOS单据缓存 UPdate ICClasstype set fidfid 【摘要】应收应付系统合同是否能超额执行 版本K310.1 问题描述应收应付系统合同是否能超额执行 【解答】 10.1应收应付的合同的反写由应收应付自行控制且并为提供相应参数控制。10.2应收应付合同该由BOS实现且提供了[合同是否允许超额执行]的系统参数选项。 【摘要】基础资料录入代码时不马上显示相关的列表 版本K310.2SP2K310.3 问题描述BOS单据引用基础资料时能否有设置使在录入代码时不马上显示相关的列表而是在回车之后才判断是否存在代码因为客户的某个基础资料太大了输入一个字母要等N长时间才能够反映。 【解答】 可以在单据录入界面选项中选择禁止下拉列表自动显示。 【摘要】在插件中以新增、修改和查看方式打开另一单据 版本K/3BOS所有版本 问题描述在插件中以新增、修改和查看方式打开另一单据 【解答】 ******************************************** 功能显示BOS单据显示的方式为新增、修改和浏览 参数lClassTypeID—显示BOS单据的ID ******************************************** Private Sub ShowBill(ByVal lClassTypeID As Long) Dim oDataSrv As Object Dim oBill As Object On Error GoTo err_ctr Set oDataSrv m_BillInterface.K3Lib.CreateK/3Object(K3ClassTpl.DataSrv) oDataSrv.ClassTypeID lClassTypeID Set oBill CreateObject(K3SingleClassBill.ClassInfoManager) With oBill .DataSrv oDataSrv .ISNetControl True .ISCheckRight True .Show ********************** Show 参数类型 第一个参数 Optional ByVal lID As Long 0 描述修改或查看的单据ID 第二个参数 Optional ByVal bShowGroup As Boolean False 如是基础资料时是否显示分组 第三个参数 Optional ByVal BillStatus As Long Enu_BillStatus_New 显示方式 0—查看1—新增2—修改 第四个参数 Optional ByVal dctData As KFO.Dictionary 单据初始值 ********************** End With Set oDataSrv Nothing Set oBill Nothing Exit Sub err_ctr: Set oDataSrv Nothing Set oBill Nothing End Sub 【摘要】显示BOS序时簿并返回选中的值 版本K/3BOS所有版本 问题描述请问在插件中怎样显示BOS序时簿并返回选中的值? 【解答】 ******************************************** 功能显示BOS序时簿并返回选中的值 参数lClassTypeID—显示BOS单据的ID ******************************************** Private Function ShowListByReturn(ByVal lClassTypeID As Long) As Object Dim oDataSrv As Object Dim objLookup As Object On Error GoTo err_ctr Set oDataSrv m_BillInterface.K3Lib.CreateK3Object(K3ClassTpl.DataSrv) oDataSrv.ClassTypeID lClassTypeID If oDataSrv.showfilter Then Set objLookup CreateObject(K3ClassLookUp.BillLookUp) objLookup.ClassTypeID lClassTypeID Set objLookup.DataSrv oDataSrv objLookup.Lookup Set ShowListByReturn objLookup.VectReturn End If Set oDataSrv Nothing Set objLookup Nothing Exit Function err_ctr: Set oDataSrv Nothing Set objLookup Nothing End Function 【摘要】将当前单据转化为另一单据并无界面保存数据 版本K/3BOS所有版本 问题描述将当前单据转化为另一单据并无界面保存数据 【解答】 ******************************************** 功能将当前单据转化为另一单据并无界面保存数据 参数lClassTypeID—显示BOS单据的ID ******************************************** Private Sub NoUISaveBill(ByVal lClassTypeID As Long) Dim oDataSrv As Object Dim oTableInfo As Object Dim oBill As Object Dim oData As Object Dim oSrv As Object Dim oPage2 As Object Dim i As Long On Error GoTo err_ctr Set oDataSrv m_BillInterface.K3Lib.CreateK3Object(K3ClassTpl.DataSrv) oDataSrv.ClassTypeID lClassTypeID Set oTableInfo oDataSrv.TableInfo Set oData oDataSrv.GetEmptyBill For i 1 To m_BillInterface.Data(Page2).UBound - 1 Set oPage2 oData(Page2)(1).CloneAll oData(Page2).Add oPage2 添加到 dcData oData(Page2)(i 1)(_-0001_FIndex2)(FFLD) i 1 更改分录号 Next For i 1 To m_BillInterface.Data(Page2).UBound oData(Page2)(i)(oTableInfo(map)(FItemID))(FFLD) m_BillInterface.GetFieldValue(FItemID, i, Enu_ValueType_FFLD) oData(Page2)(i)(oTableInfo(map)(FItemID))(FFND) m_BillInterface.GetFieldValue(FItemID, i, Enu_ValueType_FFND) oData(Page2)(i)(oTableInfo(map)(FItemID))(FDSP) m_BillInterface.GetFieldValue(FItemID, i, Enu_ValueType_FDSP) Next Set oSrv CreateObject(K3MClass.BillUpdate) i oSrv.Save(MMTS.PropsString, oDataSrv.ClassType, oDataSrv.ClassTypeEntry, oDataSrv.TableInfo, oData, oDataSrv.dctLink) Set oDataSrv Nothing Set oBill Nothing Exit Sub err_ctr: MsgBox Err.Description Set oDataSrv Nothing Set oBill Nothing End Sub 【备注】 1、K/3 BOS保存方法Save的参数描述 Public Function Save(ByVal sDsn As String, _ ByVal dctClassType As KFO.Dictionary, _ ByVal vctClassTypeEntry As KFO.Vector, _ ByVal dctTableinfo As KFO.Dictionary, _ ByRef dctData As KFO.Dictionary, _ ByVal dctLinks As KFO.Dictionary) As Long /********************************************************************/ /*描述:单据保存 /*参数: /* dctClassType KFO.Dictionary 单据整体信息模板 /* dctData KFO.Dictionary 单据数据包 /* dctLink KFO.Dictionary 选单关系模板无选单为Nothing /* dctTableInfo KFO.Dictionary 单据字段模板信息 /* sDsn String K/3标准数据库连接串 /* vctClassTypeEntry KFO.Vector 单据体模板信息 /*备注: /********************************************************************/ 2、使用此方法时插件要添加MMTS。 【摘要】隐藏选单时序时簿不需的菜单和工具栏 版本K/3BOS所有版本 问题描述隐藏选单时序时簿不需的菜单和工具栏 【解答】 在MenuBarInitialize事件中使用m_ListInterface.List.ShowMode判断查看和选单1—查看2—选单。 语法If m_ListInterface.List.ShowMode 1 Then ……end. 例在选单时隐藏“编辑”菜单和工具栏 If m_ListInterface.List.ShowMode 2 Then Dim oTool As K/3ClassEvents.BOSTool Dim oBand As K/3ClassEvents.BOSBand *************** 开始设置 BOS 原有菜单 *************** 获得 mnuEdit 菜单对象并设置属性 Set oBand oMenuBar.BOSBands(menu) Set oTool oBand.BOSTools(mnuEdit) With oTool .Visible False .Enabled False End With End if 【摘要】在单据体中让下一条分录自动携带上一条分录的数据 版本K/3 BOS所有版本 问题描述如何在单据体中让下一条分录自动携带上一条分录的数据只是部分字段 【解答】 示例代码 物料录入后第二行的值自动默认第一行的值 If dct(FKey) FItemID And row 1 Then m_BillInterface.SetFieldValue FBase_TH, m_BillInterface.GetFieldValue(FBase_TH, row - 1, Enu_ValueType_FFND), row 提货地点 end if 【摘要】在Bos插件中如何处理隐身的二次登录 版本K310.2SP1 问题描述在自定义的BOS单据上通过插件作生成凭证的功能但是在调用凭证的组件时需要一个二次登录后才能使用相应的模块。请问如何处理隐身的二次登录或者其他的变通处理。 【解答】 1、 凭证组件的调用是不需要二次登录的可能你是在VB调试状态下运行编译后就没事了。 2、 请参考下面代码 Private Sub m_BillInterface_MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean) Dim glvch As Object 中间层凭证对象 Dim mvch As KFO.Dictionary 待保存凭证头 Dim mvchentry As KFO.Vector 待保存凭证分录集 Dim entry As KFO.Dictionary 待保存凭证分录 Dim mvchdetail As KFO.Vector 核算项目明细集 Dim detail As KFO.Dictionary 核算项目明细 Dim i, iCount As Long Dim vValue As Variant TODO: 请在此处添加代码响应事件 MenuBarClick Select Case BOSTool.ToolName Case 生成凭证 vValue m_BillInterface.GetFieldValue(FUser1) If Not (CStr(vValue) Or CLng(vValue 0)) Then MsgBox 当前合同已经生成凭证, vbExclamation, 金蝶提示 Exit Sub End If 此处添加处理 生成凭证 菜单对象的 Click 事件 Set mvch New KFO.Dictionary mvch(FDate) Now mvch(FGroup) 金华泰项目 mvch(FReference) m_BillInterface.GetFieldValue(FID) Set mvchentry New KFO.Vector vValue m_BillInterface.GetFieldValue(FInteger) 合同金额 创建凭证分录 Set entry New KFO.Dictionary entry(FExplanation) m_BillInterface.GetFieldValue(FNote) entry(FAccountID) m_BillInterface.GetFieldValue(FBase) entry(FDC) 1 entry(FAmount) vValue 数量单价 entry(FQuantity) 0 entry(FUnitPrice) 0 entry(FMeasureUnitID) 0 创建核算项目明细 Set mvchdetail New KFO.Vector Set detail New KFO.Dictionary detail(FItemClassNumber) 002 detail(FItemNumber) 02 mvchdetail.Add detail Set entry(_Details) mvchdetail mvchentry.Add entry Set mvch(_Entries) mvchentry Set entry New KFO.Dictionary entry(FExplanation) m_BillInterface.GetFieldValue(FNote) entry(FAccountID) m_BillInterface.GetFieldValue(FBase1) entry(FDC) 0 entry(FAmount) vValue 数量单价 entry(FQuantity) 0 entry(FUnitPrice) 0 entry(FMeasureUnitID) 0 创建核算项目明细 Set mvchdetail New KFO.Vector Set detail New KFO.Dictionary detail(FItemClassNumber) 002 detail(FItemNumber) 02 mvchdetail.Add detail Set entry(_Details) mvchdetail mvchentry.Add entry Set mvch(_Entries) mvchentry Dim s As String s ConnectString{ProviderSQLOLEDB.1;User IDsa;Passwordahyj;Data SourceJAMES;Initial Catalogxt_3};UserNameadministrator;UserID16394;DBMS NameMicrosoft SQL Server;DBMS Version2000;SubIDGL;AcctTypegy;SetuptypeIndustry;Languagechs;IP192.168.1.92;MachineNameJAMES;UUID800A878D-F574-4877-B79C-D88AB721ECA0 Set glvch CreateObject(EBSGLVoucher.VoucherUpdate) glvch.Create s, mvchs Update t_BOS_ht set fUser1 m_BillInterface.K3Lib.User.UserID where fid m_BillInterface.GetFieldValue(FID) m_BillInterface.K3Lib.UpdateData s m_BillInterface.RefreshBill MsgBox 凭证生成成功, vbInformation, 金蝶提示 Case 变更 End Select End Sub 【摘要】如何在插件中获取当前系统字符连接串 版本K310.2及以后版本 问题描述插件中字定义系统中如何获取当前系统字符连接串有个项目中需要作一个年结功能进行土地数据结转、在vb中定义了年结功能窗口要在主控台子系统中调用怎样或得当前数据库连接信息亦无法通过k3lib获得因为我没必要去调用 bos表单或序时簿。另外一些复杂报表、我也是通过vb中单独实现、这些报表也需要获的连接字符串才能调用 【解答】 1、 连接串获取方式注意不支持调试调试的话可以用实际连接串代替 Private Declare Function GetCurrentProcessId Lib kernel32 Alias GetCurrentProcessID () As Long 获取连接串 Public Function GetPropsString() As String Dim lProc As Long Dim spmMgr As Object lProc GetCurrentProcessId Set spmMgr CreateObject(PropsMgr.ShareProps) GetPropsString spmMgr.GetProperty(lProc, PropsString) End Function 2、 需要申请MMTS.bas的源代码,还需要申请ICKDListener的接口。另外如果需要调试程序就还需要申请KDMain的源代码。 【摘要】BOS单据插件里取分录的合计值 版本10.2后所有版本 问题描述工业单据自定义里面有个GetSumGridText方法取得分录某一列的合计值现在BOS单据里面需要取某一列的合计请问有什么方法可以调用。我注意到有个sum方法但不知道该怎么用里面带BRow和ERow两个参数应该是起始行和结束行吧但分录的行是可以改变的这两个值怎么取得 【解答】 Object.Sum (dct As Dictionary, [BRow As Long], [ERow As Long]) 参数说明 dct-字段的模板字典 BRow-合计开始行可选参数默认值是1 ERow-合计结束行可选参数默认值是最大行 举例要求税额合计值 Set dct m_BillInterface.GetFieldInfoByKey(FTaxFor, , 0) dblTaxSum m_BillInterface.Sum(dct) 【摘要】表体行的高度设置 版本K310.2SP1SP210.3 问题描述表单的表体的行高的属性在哪里我找不到如果发布后到主控台里去调表体的标题行会同比例变化非常不美观。 【解答】 标体的行高目前不能调整。 【摘要】带有辅助属性的字段的值更新事件中调用辅助属性,计算公式运行有误 版本K310.2SP1SP210.3 问题描述对于已携带辅助属性的字段再定义值更新事件如果值更新事件里包含该辅助属性计算公式无效。也就是值更新事件公式里调用的辅助属性是更新前的。 【解答】 在插件中使用更新后事件。 【摘要】事务处理 版本K310.2SP1SP210.3 问题描述1、BOS的插件开发中事务怎样处理啊又不能直接操作数据库。有什么好方法吗否则数据可能就乱掉了。2、在事务完整性处理上目前的BOS插件还有很多需要改进。说个简单例子BOS是支持多插件的那么多插件之间如何保证事务完整性呢同样是审核事件有2个插件响应了这个事件如果第一个插件通过了审核但是第二个插件却不能通过那么第一个插件处理了的数据又如何回滚 【解答】 1、 如在插件中编写大量的更新SQL请使用中间层插件中间层插件能保证事务的完整性。 2、 如果在客户端希望执行SQL时保证事务一致性建议使用 K3Lib.UpdateData 方法将希望在同一事务中处理的SQL语句通过它一次性提交BOS会自动启用事务处理来保证如果像多个插件中的审核等操作的一致性问题解决的方法是制定一个中间层的审核前插件来判断处理这类的问题都可以在中间层的相关事件中处理来保证一致性。 【摘要】Bos单据插件中能否调用K3Billtransfer.dll组件 版本K310.2SP1SP210.3 问题描述Bos 开发的单据还能不能调用 k3billtransfer.dll 这个组件? 【解答】 BOS 开发的单据不能调用 k3billtransfer.dll只有在工业单据里能调用。 【摘要】基本单位数量在录入完数量后仍然为空 版本K310.2SP1SP210.3 问题描述新增BOS 单据分录中有数量 及基本单位数量 字段, 基本单位数量关联字段为数量, 但输入完数量后,基本单位数量仍然为空。 【解答】 保存后基本单位数量就有了。 【摘要】BOSV10.1单据插件中如何向单据体逐行插入数据 版本K310.1 问题描述在BOSV10.2中填充新行数据可以用m_BillInterface.InsertNewRowAndFill方法实现但是在BOSV10.1中不知道用什么方法可以向单据体逐行插入数据 【解答】 将10.1的KFO.DLL换成10.2 KFO.DLL是兼容的。 m_BillInterface.Data(Page2).Add dctRow.CloneAll 【摘要】BOS单据选单返回时自动在表体添加一行分录 版本K310.2后所有版本 问题描述BOS 开发一张新的单据. 在选单返回时, 希望能在表体自动添加一行分录。 事件测试代码如下: Private Sub m_BillInterface_AfterSelBillBeforeFillData(ByVal dcData As KFO.IDictionary, ByVal dctLink As KFO.IDictionary) Dim CoDict As KFO.Dictionary Set CoDict dcData(Page2)(1).CloneAll //拷贝第一条分录数据 dcData(Page2).Add CoDict //添加到 dcData dcData(Page2)(dcData(Page2).Count)(_-0001_FIndex2)(FFLD) dcData(Page2).Count //更改分录号 Stop set CoDictNothing End Sub 我用 watch 查看 DcData 的值. DcData(Page) 也有增加一条, 但返回后,新添加的分录并未带到目标单据上? 请问我还要修改哪些地方? 【解答】 此方法在调试状态下是不能把值传过去的,编译之后就可以了。 你的代码有以下问题: 1、取分录号使用dcData(Page2)(dcData(Page2).UBound)(FEntryID) 2、Vect的最大值用UBound而不是count 3、字段的key值使用m_BillInterface.TableInfo(map)(FPrice),FPrice是字段名。 正确的代码是 Dim CoDict As KFO.Dictionary ’dcData(Page2)(1)(m_BillInterface.TableInfo(map)(FPrice))(FFLD) 1000 Set CoDict dcData(Page2)(1).CloneAll 拷贝第一条分录数据 dcData(Page2).Add CoDict 添加到 dcData dcData(Page2)(dcData(Page2).UBound)(FEntryID) dcData(Page2).UBound - 1 更改分录号 Stop Set CoDict Nothing 【摘要】只有工具条及菜单栏的浏览数据窗口 版本K310.2SP2及以后版本 问题描述能否在新版BOS中提供一个没有数据,只有工具条及菜单栏的浏览数据窗口,供做插件集成操作窗口用,现在只能用单据窗口实现,打开时还出现过滤窗口,很别扭。 【解答】 BOS中有一个自定义序事簿联查接口可以指定单据类型和过滤条件联查所有新老单序事簿不用弹出过滤条件。 【摘要】K3Bos表体如何设置合计 版本K310.2SP2 问题描述K3Bos表体如何设置合计 【解答】 目前不能在界面上设置合计系统对数量和金额默认合计如需对其他字段设置合计需更改ICClassTableInfo.FSum的值为1。 【摘要】收款单的套打设置里面怎么取到通过Bos自定义的字段 版本K310.2SP1SP210.3 问题描述如何设置通过BOS定义的字段的套打目前在收款单通过BOS自定义了一个字段,那么在收款的套打设置里面怎么取到这个字段呢? 【解答】 在单据中添加一个字段保存后打开这个套打文件中可以自已添加一个字段在设置对象属性时可以指定到单据中的这个字段。 【摘要】如何隐藏Bos单据中的层 版本K310.2SP1SP210.3 问题描述对BOS单据中的层处理。如何做到显示或隐藏单据中某一层 【解答】 以层为单位的动态显示隐藏现在没有提供方法 可以在插件中一个一个字段的隐藏从字段的FLAYER属性可判断其所属的层。 三、多级审核篇 【摘要】批量审核 版本K310.2SP1 问题描述K/3 BOS 单据是否支持批量审核? 如果不支持, 自己可否编写此方面的插件? 能否给过一段示例代码? 序时薄接口对象现在没有审核事件可供调用, 那所有的审核代码都得在插件中自己写嘛? 【解答】 K/3 BOS 单据不支持批量审核目前还没有这方面的插件先自己编写吧。序时薄中MultiCheckMgr是审核对象其中包含了审核的各种方法但编写代码比较难。 【摘要】设置为一级审核的Bos单据反审核后不能修改 版本K310.2SP1 问题描述BOS 开发的新单据. 启用了多极审核,且只设置了一级审核; 修改无需反审到最后一级 的选项也选中了. 在实际作业中,单据反审核后仍然不能修改? 这是什么原因? 用BOS 做了五张单据,经测试如果在序时薄 将单据反审核, 再打开单据, 可以修改;如果在序时薄界面, 打开未审核的单据, 审核后, 再进行反审核操作, 单据可以修改;如果在序时薄界面,打开已经审核的单据, 将单据反审核,单据还是不能修改。 【解答】 在序时薄界面,只能通过“查看”方式打开已经审核的单据即使单据反审核了任在“查看”状态下单据是不能修改的。 在K310.3中已解决此问题。 【摘要】能否使administrator对任何人审核的BOS单据进行反审核 版本K310.2SP2 问题描述只有一级审核的BOS单据其他用户审核的有否这样的设置能够让administrator对其进行反审核。目前由于administrator既不是审核人又不是下级审核人没有这样的权限。 【解答】 不能除非管理员也是审核成员。 【摘要】实现多级审批同时需要更改审批的数量与单价 版本K/310.2SP2及以上版本 问题描述在BOS中可否实现多级审批同时需要更改审批的数量与单价的需求 【解答】 10.2SP2以后的版本有“修改单据无需反审核到最末一级”的选项但它能修改单据中所有的内容再通过字段授权的方式控制单价和数量的权限。 【摘要】BOS字段多级审核后可以修改 版本K310.2SP1 问题描述BOS字段多级审核后可以修改 【解答】 BOS10.2增加多级审核的功能所以IDE设计时也增加了[审核后锁定]的状态如果是BOS新增的单据启用多级审核后且该流程勾选了[修改无须反审核到最后一级]选项在审核流程未完成之前用户都可以修改未勾选[审核后锁定]的字段的内容。但单据流程审核结束后修改按钮灰显用户只能通过查看按钮进入因此时整单状态为查看用户不能修改该张单据任何内容。如审核流程后仍有字段需要维护可以通过在序时簿增加一个按钮然后在插件代码中增加如下代码 Private Sub m_LstInterface_MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean) Select case Bostool.name case Edit call m_LstInterface.LoadSelectedBill(IIf(CanEdit(vectSelect(1)(FInterID)), Enu_BillStatusExt_Modify, Enu_BillStatusExt_View)) case else end select End Sub 获得单据修改状态BOS将根据设计时状态锁定/解锁相应字段。 【摘要】多级审核跳转 版本K310.2SP1PT0704 问题描述对BOS单据设置多级审核流程例如共有5级审核想从3级审核依据某个条件跳转到结束设置的跳转条件不起作用。跳转条件只在审核级次内起作用如从3级跳转到5级可以跳转到结束不行 【解答】 请打补丁PT001721解决多级审核跳转问题。 【摘要】多级审核的操作 版本所有版本 问题描述Bos单据多级审核增加的“启动多级审核”具体完成什么功能客户对原有的F4 、ShiftF4操作比较习惯对现有的“启动多级审核”、“多级审核”和“驳回审核”操作有比较大的意见。问能否统一设置为这种审核操作方式 【解答】 这种问题产品是不好改了只有让客户适应。 【摘要】插件的审核事件 版本K310.2SP1PT0704 问题描述BOS单据插件里的BusinessCheck事件有何用途写在BusinessCheck里面的代码也不执行不知道这个事件到底是什么时候触发的。在AfterBusinessCheck事件中写的代码在打了10.2SP1之后就不执行了我把代码放到BusinessCheck事件中也不执行不知道什么原因但AfterUnBusinessCheck中的代码却执行了。我只做了一级审核。AfterBusinessCheck事件和BusinessCheck事件触发时点的问题以查看状态打开单据进行审核时这两个事件不触发只有在修改状态打开单据并进行审核这两个事件才会被触发。之前没有打SP1的时候是没有这个问题的。因为强制审核人必须要打开单据检查后再进行审核所以我在该单据的序时簿中把审核菜单去掉了只能打开单据审核。不知道有没有人遇到这个问题。 【解答】 经检查以查看状态打开单据进行多级审核在业务审核级次被审核时能够触发业务审核事件另外昨天发现的业务审核事件在某条件下会多次触发的BUG已经修改将会随8.31日须完成的功能点一起发放。估计还是因为用户没有针对单据插件进行编码所以没有捕捉到事件。 【摘要】有关多级审核的问题 版本K310.2SP1PT0704 问题描述 1. 在对一张单据进行“多级审核流程”配置时在对每一级审核进行配置时业务审核级次、业务审核人、业务审核日期都只能是一样的这就导致在单据序时薄测试时启动多级审核后多级审核中只能有其中某一级的审核人和审核日期有数据其余审核人和审核日期字段都不能在相应级别审核完毕后记录数据。2. 在设置多级审核流程后如果在某一级驳回审核填写的驳回意见不能看到。3. 设置多级审核流程后在单据运行时“审核”并没有像原有K/3系统中其它单据审核一样出现在上方菜单下的按钮上而只能在菜单中启动多级审核。4. 在多级审核级别之间进行“流转配置”时只能在中间级别之间进行跳转如共有5级审核想要在某一条件下4级审核完毕后就结束无法实现只能在1-5级之间跳转。5. “流转配置”时只能增加一次流转配置即级别之间只能进行一次“添加关系”且添加上的关系不能删除。6. 在设置“流转配置”的“跳转条件”时字段列表中只有单据的单据头字段而没有单据体字段。7. 最不方便使用的是在单据定义时一旦添加上字段之后便不能删除否则便会将单据上的所有字段全部删除。新增的单据、多级审核流程、单据转换流程保存后也不能删除。在多级审核流程中进行流转配置时添加上的关系不能删除。8. 在进行“单据转换流程”定义时不能由源单的单据体下推生成目的单的单据头。 【解答】 1、 答复每一级审核都已经记录了审核人、审核日期、审核意见在单据上“多级审核”页可以很清楚的看到。单据序时簿则暂时没有提供查看各级审核人、审核日期、审核意见的功能这个和多级审核配置中的业务审核人、业务审核日期字段是无关的业务审核人只在做业务审核的时候才会同时记录多级审核中有且只有一个级次能作为业务审核级次所以也只需要一个字段作为业务审核人字段 2、 答复已经记录了驳回意见但暂时没有提供驳回意见的查看。驳回意见会以消息的方式发送出去 3、 答复SP2中会进一步简化、优化多级审核本点在列 4、 答复9.30补丁中会增加一种属性提供给插件判断流程是否已经跳转到结束让插件有依据进行自动审核等操作自动结束多级审核流程 5、 答复在关闭“启用多级审核”选项并保存后可以自由添加、删除跳转关系 6、 答复暂时没有提供单据体字段 7、 答复10.2 SP增加了新功能单据模版、多级审核配置、单据转换流程、报表等都可以删除 8、 答复暂没有提供 【摘要】合同进行多级审核提示需要Bos加密狗 版本K310.2 问题描述在10.2产品中对合同进行多级审核在消息提示中打开后提示需要BOS加密狗但数据量只有一条难道10.2产品中自带的审批流设置也需要BOS狗吗 【解答】 这个问题应该是Bug计划在10月底V10.2SP补丁中解决。 四、单据转换流程篇 【摘要】Bos单据与反审核相关的业务流程问题 版本K310.2SP1 问题描述工业单据如销售订单和销售出库单新增销售订单A并保存和审核〉新建销售出库单B选单整单选取订单A先不保存〉反审核A修改后保存审核A〉保存并审核B。这个流程在Bos单据之间、Bos单据与工业单据之间都能够实现这样造成了业务流程上的混乱。Bos单据单据B1与B2为钩稽关系B1为上级单据新建并保存和审核一张B1然后新建B2整单关联B1然后保存和审核B2此时B1仍然可以被反审核。这样业务流程也发生了混乱。实际中有这样的需求某单据的制单人与审核人为同一人而反审核人为另一人目前的K/3 10.2无法实现原来在10.1是可以的。这个需求怎么处理 【解答】 目前控制不了BOS单据引用后任可以反审核在产品中确实这样的如需控制使用插件处理。 【摘要】新单推老单不能实现钩稽功能 版本K310.2SP1 问题描述我作了个bos单据只有单据头没有单据体现要下推生成外构入库单在单据关联时 提示与老单关联必须输入物料和计量单位我设了单据头的物料和计量单位后还是提示必须输入物料和计量单位。忽视此问题在下推到入库单时物料的单位带不出来后期也加不上。我想知道是不是只有单据体关联才不会出错单据头的物料和计量单位为什么不行。 【解答】 1、 在sp1的环境下新老单不能实现钩稽功能其他关联关系功能也不健全。 2、 在SP2的环境虽然提示“老单关联必须输入物料和计量单位”但选择继续能完成你需要的功能。 【摘要】系统BUG 版本K310.2SP1PT0704 问题描述在K310.2sp1 补丁的环境下自己定义了一张新单据和已有的老单建立了钩稽关系设置了钩稽字段关系在做单据下推保存后扣减数量一直为零。并且将关闭标志数值型设置为1时还可以继续下推,请问该怎么处理. 【解答】 1、 前产品确实存在如上问题但后续版本10.3以后版本会解决。 2、 可以在序事簿插件的AfterSelList事件中编写代码来判断关闭标志是否为1从而判断是否允许下推。 3、 可以在目标单据的中间层插件的AfterSave事件中编写代码来扣减源单的数量给扣减数量赋值。 【摘要】未审核的老单据不能下推Bos单据 版本K310.2SP210.310.2SP1(所有版本) 问题描述单据流程系统默认只能选择已审核的单据现在客户要求能否包括未审核的单据即老工业单据保存后就可以下推生成自定义的bos单据。 【解答】 只能选择已经审核的单据下推是在老工业单据序时簿里面控制的,选单时没有此问题,即流程设计并不是默认只能选择已经审核的单据。 【摘要】单据转换流程中能否实现汇总下推? 版本K310.2SP210.310.2SP1(所有版本) 问题描述单据下推如何实现汇总下推如几张销售出库单下推生成一张bos单据要求按照源单号、客户进行汇总即目标单中只要包含每张出库单的合计数量和金额即可。 【解答】 由于合并下推/选单涉及的逻辑比较复杂需要在目标单一条分录里面记录多条源单分录的内码或者单独用另外一个表来记录且涉及反写数量的问题现在BOS没有支持也没有简单的办法可以支持如果不需要数量扣减关系即关联关系为复制不需要上下查可以使用插件在下推生成单据后来合并。 【摘要】自定义的bos单据无法下推生成销售费用发票。 版本K310.2SP210.3 问题描述自定义的bos单据无法下推生成销售费用发票提示下标越界。在定义单据转换流程时提示必须包含物料等内容而费用发票中是没有物料的自定义的bos单据中也没有物料不知道这个转换流程如何定义有什么办法可以解决。 【解答】 费用发票由于其特殊性在k3内部也是特殊处理才完成选单功能的暂时没有简便的方法来通过流程设计完成选单功能。 【摘要】选单一致 版本K310.2SP2 问题描述做一Bos新单用的是应付合同的模版叫临时合同这个单据把单据头子段全部删除掉了。用复制关联流程应付合同-临时合同选多张源单合同返回时提示选多张单据时核算项目必须完全一致。但是我的目标单据的单据头上没有核算项目。 【解答】 这是应收应付系统为实现新单推老单实现选单一致的功能在代码里写死的如确实需要这样做可以提需求研发出补丁。或者采用其它变通的方法实现。 【摘要】无物料编码时下推报错 版本K310.2SP2 问题描述项目为一个数据接口接口文件导入生成BOS单据但接口文件中的物料和k/3中物料不能一一对应现在考虑在BOS单据中不录入物料在老单中指定物料单据保存时把老单中物料反写到BOS单据中。出现的问题K/3Bos 新增单据下推到老单关联时关联关系有物料和计量单位字段。但客户有时BOS新单上的物料无法确定即不录入物料编码下推报错 【解答】 你先在BOS单据将物料转换好之后再下推到老单中无法确定的物料可以使用一种通用的物料来代替下推到老单后由用户修改。但这种处理不好。 【摘要】合同字段带到付款单 版本K310.2SP2 问题描述有个问题请教大家.要求在要把合同中的FRECEIVEAMOUNTFOR,FRECEIVEAMOUNT字段带到付款单中,怎样实现? 【解答】 合同和付款单都是BOS单据直接进入流程设计里修改据在应付模块里。 【摘要】下推发货通知单的时候,所有自定义字段中的文本字段在发货通知单都变成了0 版本K310.2SP1Sp210.3 问题描述新做的BOS单据配置单下推发货通知单的时候,所有自定义的文本字段在发货通知单都变成了0。 【解答】 这可能是系统的Bug可以用update ICSelbills set faction where faction0清除错误的元数据即可解决。 【摘要】下标越界 版本K310.2Sp2 问题描述在10.2sp2下BOS做了一张单据下退生成销售报价单出现下标越界错误。 【解答】 这是系统的一个bug,可执行以下脚本来解决: delete ICTemplate where fidg01 and ffieldname in (FSelTranType,FSelBillNo) INSERT INTO ICTemplate (FID, FCtlIndex, FTabIndex, FCaption, FCtlType, FLookUpCls, FNeedSave, FValueType, FSaveValue, FFieldName, FLeft, FTop, FWidth, FHeight, FEnable, FPrint, FFontName, FFontSize, FSelBill, FMustInput, FFilter, FRelationID, FAction, FLockA, FROB, FDefaultCtl, FVisForBillType, FVBACtlType, FRelateOutTbl, FSysMustInputItem, FCaption_CHT, FCaption_EN, FInEntryForSPrint, FRMustInput, FIsVisibleForList, FCanEditedAllTime, FAllowCopy, FDefaultValue, FMaxValue, FMinValue, FFormat) VALUES (G01,35,15,选单号:,5,-1,0,0,0,FSelBillNo,0,0,2250,330,32,1,宋体,9,0,0,,,,1,3,1,31,Kdtext,1,0,選單號:,Number of document selection,0,0,1,1,0,,,, ) GO INSERT INTO ICTemplate (FID, FCtlIndex, FTabIndex, FCaption, FCtlType, FLookUpCls, FNeedSave, FValueType, FSaveValue, FFieldName, FLeft, FTop, FWidth, FHeight, FEnable, FPrint, FFontName, FFontSize, FSelBill, FMustInput, FFilter, FRelationID, FAction, FLockA, FROB, FDefaultCtl, FVisForBillType, FVBACtlType, FRelateOutTbl, FSysMustInputItem, FCaption_CHT, FCaption_EN, FInEntryForSPrint, FRMustInput, FIsVisibleForList, FCanEditedAllTime, FAllowCopy, FDefaultValue, FMaxValue, FMinValue, FFormat) VALUES (G01,34,14,源单类型:,2,-35,0,3,1,FSelTranType,0,0,2250,330,32,1,宋体,9,0,0,FID84,FSelTranType,RESET,FSelBillNo,FRemark;,1,3,1,31,Kdtext,0,0,源單類型:,Src doc type:,0,0,1,1,0,,,, ) GO 【摘要】10.2sp1 钩稽后设过滤条件不起作用 版本K310.2SP10704 问题描述我的环境时10.2sp1PT0704 ,源单和目标单都是bos单据.设置关系为钩稽 ,过滤条件处打勾后, 选单时选的是所有单据,而不是根据过滤条件过滤后的单据 即 钩稽后设过滤条件不起作用。 【解答】 经测试,的确存在如下问题,可以升级10.2sp2或10.3,或者写如下插件来实现过滤功能 Private Sub m_BillInterface_BeforeSelBills(ByVal lSelBillType As Long, ByVal oDataSrv As Object, ByVal dctLink As Object, sFilter As String, dctParam As Object) if len(sFilter)0 then sFilter sFilter And FBase3 m_BillInterface.GetFieldValue(FBase) else sFilter FBase3 m_BillInterface.GetFieldValue(FBase) end if End Sub 其中FBase3是源单表头的部门字段,FBase是目标单表头的部门字段。 【摘要】关联复制 版本K310.2SP210.310.2SP1 问题描述在BOS中的“关联复制”与“复制”有什么区别在设计中应该怎样运用? 【解答】 关联复制与复制的区别在于关联复制会在目标单保存单据之间的关联关系这样选单完成后可以通过上下查查询单据之间的关系而复制则不会。 【摘要】老单下推新单过滤条件的设定 版本K310.2SP210.310.2SP1 问题描述在10.2 Sp1的BOS选单时可以设定ICClassLink中的FCondition实现原单过滤但是升级成10.3后就报错具体错误不说了经过测试发现选单后就是弹出原单选择界面后会根据ICClassLink.FCondition的值进行了再次判断。这样就会产生一个表别名体系问题ICClassLink.FCondition中表示的原单叙事簿的别名体系。选单后返回再次检测时使用的是目标单据别名体系。但是这两个别名体系肯定会产生冲突的。请问如何解决。就算我把目标单据的别名体系与原单的别名体系改成一致这样做是可以的。但是如果多选单就不能使用这个方法 【解答】 这是老单序时簿在新单和选单返回时解析方案不一致造成的。解决方案如下 利用老单固定的别名v1表头u1表体采用子查询的方式规避。 范例代码如下 update icclasslink set fcondition u1.FItemid in (select fitemid from t_icitem where fnumber like 01%) where fdestclasstypeid300000000 and fsourclasstypeid-81 【摘要】在老单单据中选取新单如何选取多张单据 版本K310.2SP2SP1 问题描述新单下推钩稽老单时在新单序时簿里可以选中多张单据下推生成老单但在老单单据中选取新单是不能选取多张单据怎样解决 【解答】 在ICClassLink.FRemark中加上“FAction,CanMultiSelBill/”后就能选取多张单据。 【摘要】BOS单据下推到外购入库单时无法选择红字单据 版本K310.2SP10704 问题描述为什么在BOS单据下推到外购入库单时无法选择红字单据只能是蓝字单据呢BOS单据下推生成老单的时候怎样把BOS单据的单据号显示在老单上呢 【解答】 1、 BOS单据下推到老单没有处理红兰字单据默认就是蓝字单据目前下推没有处理红字单据。 2、 BOS单据下推生成老单的时候,使用钩稽就可以把BOS单据的单据号显示在老单上。 【摘要】如何用BOS单据体字段推成目的单据(老单)的单据头字段 版本K310.2SP2SP110.3 问题描述开发过程中需要从一张BOS单据下推生成一张K/3老单据其中要从源单据的一个单据体字段推成目的单据的单据头字段在你拷贝给我们的文档资料中明确说明不能由单据体推成单据头所以只能通过插件开发来实现。但是在插件开发中我们发现不能对目的单据即K/3老单据进行定位所以不知道这个功能能否通过插件开发来实现如果可以怎么实现 【解答】 在BOS单据中增加一个隐藏的字段单据保存时用插件代码自动把单据体要下推的字段赋值到单据头这个字段中然后再定义单据头下推到单据头这样就不用在老单据中定义插件了。 五、报表篇 【摘要】交叉分析报表 版本K310.2SP1 问题描述请问BOS定义的单据怎样才能在交叉分析报表设计中看得到再有怎样才能使用视图做一张虚拟的单据这样做有很多好处可以利用现在的视图做序时簿也可以用来做交叉分析报表。 【解答】 1、BOS定义的单据在V10.2中可以直接定义交叉分析报表但在V10.2SP1中不能直接看到需要打补丁PT001541V10.2SP2已处理该问题。 2、使用视图做单据可以参考BOS里面的单据设备档案1002051的制作方式有什么疑问再交流。 【摘要】直接SQL报表 版本K310.2SP210.310.2SP1 问题描述直接SQL报表在SQL Server中运行通过替换成[关键字]后无法保存。 【解答】 直接SQL报表保存前会通过常量替换[关键字]的方式来进行测试BOS保存前抛出的错误实际上是SQL Server抛出的错误。通过SQL跟踪器可以很清楚的看到最终错误SQL。 六、部署发布篇 【摘要】发布功能的名称如何更改 版本K310.2SP10704 问题描述BOS 开发的单据, 功能已经发布到目标账套中. 现发现发布功能(SubSystem 子系统)的名称有误, 请问 发布功能的名称如何更改,才能使得所有客户端的名称同时更正过来? 我有修改过 :t_DataFlowSubSystem 和 t_suerSubSystem 两个表, 但都只能在本机上或当前用户有效. 【解答】 1、 客户端临时目录下的DataFlowTemp目录清空。 2、 将数据表中的t_DataFlowTimeStamp表清空。 【摘要】编码规则丢失 版本K310.2SP1 问题描述我们从BOS提取出单据的SQL运行到其他账套后发现编码规则丢失必须重新进行编码规则的设置请问用sql发布的话如何才能不丢失编码规则。 【解答】 从BOS导出的模板后请更改脚本中以下语句 /****** Object:Data 单据编号ICBillNo Script Date: 2006-01-06 ******/ If not exists (SELECT * FROM ICBillNo WHERE FBillID700000) begin INSERT INTO ICBillNo(FBillID,FBillName,FPreLetter,FSufLetter,FCurNo,FBillName_CHT,FBillName_EN,FFormat,FPos,FCanAlterBillNo,FCheckAfterSave,FUseBillCodeRule,FDesc) VALUES (700000,采购入库_BOS,,,2,單據700000_BOS,Doc700000_BOS,00000000,700000,0,0,1,00000002) end 其中“FPreLetter”是单据编码的前缀。 【摘要】怎样将旧单改造数据结构的动作打包到Bos安装包中? 版本K310.2SP2 问题描述在BOS开发过程中,在原来的表中增加了一列如: poRequest 中增加一个列 ColA 在利用K3BOS打包工具进行打包的时候怎么来把增加一列ColA的动作打在安装包内? 【解答】 旧单改造以单据类型是否小于200000000判断的数据结构变更BOS目前尚未支持还请手工调整。 范例代码如下 if not exists (select name from syscolumns where id(select id from sysobjects where namepoRequest) and nameColA ) ALTER TABLE poRequest ADD ColA int not null default(0) GO 【摘要】中间层上发布插件后客户端的插件dll文件没有被更新。 版本K3Bos10.2SP210.3 问题描述我在客户处,对编写的插件单独打包,在客户的中间层上发布,但是客户端的插件dll文件没有被更新。客户是2个中间层服务器发布是在有BOS运行平台的加密狗的中间层上进行的。发布后客户端又使用了远程组建注册仍没有效果。 【解答】 1、SP2开始安装包只需要在中间层服务器上安装客户端自动部署。但SP2有一问题由于打包过程中将文件进行了压缩解压后文件日期变化导致可能客户端更新不到最新的组件这种情况需要手工更新客户端V10。3版本此问题已解决。 2、元数据、功能部署、插件打在一个包中不会有问题功能可正确运行。 【摘要】发布的BOS单据如何删除 版本K310.2SP210.310.2SP1 问题描述已经发布的BOS单据如何从主控台中删除有没有相应的SQL脚本因为不删除的话在重新发布时系统老是自动增加新的单据编号容易引起用户混乱。 【解答】 目前主控台和K3BOS都未提供相应功能通过SQL变通实现请参考如下SQL代码 delete from t_dataflowDetailFunc where fsubfuncid in (select FSubFuncID from t_dataflowSubFunc where ffuncname子功能名称) delete t_dataflowSubFunc where ffuncname子功能名称 update t_DataFlowTimeStamp set fnamefname 【摘要】Bos单据发布后主控台没有显示 版本K310.2SP210.310.2SP1 问题描述K3发布时虽然提示发布成功但主控台仍没有显示 【解答】 打开子系统分组和子系统明细的属性检查适应帐套类型是否一致。 【摘要】BOS部署客户端智能升级失败 版本K310.2SP2K310.3 问题描述进入主控台报[BOS部署客户端智能升级失败] 【解答】 1、重新导入中间层应用程序EBOBOS组件K3MBOSInstall.dll组件 2、将应用程序EBOBOS的标示-帐户改为交互式用户。 【摘要】打包应用程序是否有类似的InstallShield的脚本参考 版本所有版本 问题描述如何打包应用程序有一个项目需要发布如何像开K/3发布补丁一样自动找到金蝶的安装目录自动注册组件在中间层连接帐套执行SQL语句。是否有类似的InstallShield的脚本参考 【解答】 请尝试使用BOS里的部署功能除BOS的插件外其他客户端和中间层组件也能发布使用InstallShield比较复杂。《客户化开发知识库v1.0》文档中有使用InstallShield制作安装包的说明。 在最新的BOS V10.2SP中提供了“一次环境部署所有客户端自动更新”的功能即在客户环境中一次部署完毕后所有客户端登陆中间层时能自动更新客户端组件减少了重复安装客户端的工作量。 七、其他 【摘要】关于BOS的加密问题 版本K310.2SP10704 问题描述现在有个客户的版本是10.2sp1704客户自定义了一个应收合同的多级审核系统自动放送的消息提示需要BOS加密狗是不是客户需要购买BOS运行平台? 【解答】 客户需要购买BOS运行平台才能使用多级审核的功能。客户需要购买BOS运行平台才能使用多级审核的功能。 【摘要】数据权限管理 版本K310.2SP2 问题描述怎样才能获得该用户具有哪些数据查询权限呢都涉及到哪几张表Access_BOS200000?这些表和t_user 是关系呢我通过什么方式的查询能够直接查询到该用户具备的数据权限呢 【解答】 尚无明确答复留待蔡波补充。 【摘要】在使用citrix客户端时调用出BOS过滤界面后选择下拉列表后出错 版本K310.2SP210.310.2SP1(所有版本) 问题描述在使用citrix客户端时调用出BOS过滤界面后选择下拉列表后出错 【解答】 citrix客户端版本未打SP3的情况下选择16位色进入会造成如上问题选择256色或打上citrix Sp3后该问题消除。 【摘要】关于Bod已过期问题的处理。 版本K310.2SP210.3 问题描述大家在开发过程中,遇到BOS已过期时怎么办? 【解答】 因BOS10.2加密策略调整请向总部申请BOS设计运行狗。 【摘要】中间层插件 版本K310.2SP1 问题描述我用金蝶BOS的客户端向导生成一个编辑窗口的客户端,然后自己写了一个中间层,没有中金蝶BOS的中间层向导生成。现在在服务器上运行正常但在客户端上报组件不能创建。请问为什么 【解答】 估计你写的中间层组件并不是BOS中间层插件如果只是一个普通的中间层组件需要为该组件进行远程组件配置。 如果你的中间层组件并不需要捕获BOS单据中间层事件请直接使用m_BillInterface.K3Lib.GetData或UpdateData执行数据库操作而不用另外建立中间层组件。 【摘要】BOS插件调用工资系统汇总表 版本K310.1 问题描述如果使用K/3BOS的插件功能调用工资管理系统的工资汇总表? 【解答】 在BOS插件中用以下代码可以调出工资汇总表 Dim objSrv as Object Set objSrv CreateObject(PAReport.PAVrpt) call objSrv.PAPayRpt(103) 【摘要】bos插件中如果发生任何错误在k3界面中不会出现任何提示 版本K310.2SP10704SP210.3(所有版本) 问题描述现在bos插件中如果发生任何错误在k3界面中不会出现任何提示这样一旦插件不正常的话无法看出是否只能在插件中自己捕获错误信息 【解答】 本来就应该在插件中要做错误处理。开发部项目组也是这样处理的。而且有错误处理也是k3开发的编码规范之一。 【摘要】以Administrator主控台设置刷新其他用户主控台设置 版本K310.2SP210.310.2SP1 问题描述以Administrator主控台设置刷新其他用户主控台设置 【解答】 10.4基础系统部功能点目前通过SQL变通实现请参考如下SQL代码 delete t_DataFlowTimeStamp where fname not in (dataflow16394,dataflow) insert into t_DataFlowTimeStamp(FName) select dataflowconvert(char(5),t1.FUserID) from t_user t1 where t1.fuserid16394 delete t_UserTopClass where fuserid16394 insert into t_UserTopClass(FTopClassID,FTopClassName,FTopClassName_EN,FTopClassName_CHT,FIndex,FAcctType,FVisible,FUserid) select FTopClassID,FTopClassName,FTopClassName_EN,FTopClassName_CHT,FIndex,FAcctType,FVisible,t2.FUserid from t_UserTopClass t1,(select fuserid from t_user where fuserid16394) t2 where t1.fuserid16394 update t_DataFlowTimeStamp set fnamefname 【摘要】系统帮助文件的挂靠 版本K310.2SP210.3 问题描述如何使用系统帮助文件的挂靠 【解答】 update t_DataFlowSubSystem set fhelpfilename二次开发系统帮助.CHM where fname明细子系统名称 【摘要】图纸管理 版本K310.2SP210.3 问题描述客户的产品是通过图纸来制造的图纸有些是客户自己提供标准图纸有些是客户的需求自己根据需求画出来的报价单很大的部分是根据图纸来的而且图纸是公司的机密。现在用户需求是图纸需要有严格的权限控制最好能够放在数据库里面统一管理有图纸单据有报价单销售定单合同现在我们的K/3v10.2的附件的权限不好管理不能满足客户的需求。如何提供解决方案 【解答】 1、 这样的话可以对图纸管理进行开发如果对方有PDM系统就不需要图纸存放可以用局域网FTP或数据库存储解决后者比较容易进行权限控制自己设定权限控制下载、浏览、更新、删除都能进行控制而且关于图纸管理也比较容易解决如图纸的版本控制。 2、 K/3 BOS解决不了。 【摘要】外贸报价单 版本K310.2SP1SP210.3 问题描述客户需要开发一张外贸报价单里面涉及到物料对应表的内容对应代码具体能实现的功能跟现有的报价单的一致现在不知道怎么样能够具体的实现这样的功能因为BOS的基础资料里面没有物料对应表可以新增BOS基础资料和物料对应表共用一个表名但是怎么可以做到跟原有的报价单在物料对应这一块的一摸一样的功能。 【解答】 不可能具有原来一模一样的功能“BOS新增基础资料、映射到原有的数据表或视图”方式只能提供数据映射功能保证能通过F7选择原有的数据。但由于原有数据的业务逻辑上的不可控因此在实际操作过程中建议对这种基础资料隐藏增加、删除、修改等功能来保证系统的稳定性。 在这里的物料对应表没有基于BOS开发因此不能在外贸报价单上直接引用物料对应表可以通过映射物料对应表的物理表方式满足客户需求。 具体操作 1、新增一个BOS基础资料把主表映射到表ICItemMapping。表ICItemMapping里面已经有数据。 2、把BOS基础资料里代码字段映射到FMapNumber字段名称字段映射到FMapName保存。 3、BOS单据序时薄测试的时候并不能把表ICItemMapping里面已有字段的内容显示出来序时薄为空。 【摘要】如何在单据中做一个可以选择又可以随意录入的字段 版本K310.2SP1SP210.3 问题描述如何在单据中做一个可以选择又可以随意录入的字段客户要在单据上加入一个“送货地点”送货地点有一部分是固定的还有一部分是只用一次所以客户需要当是固定送货地点时的就进行选择对于选不到的就直接在单据上打字也就是不录入BOS基础资料中。 【解答】 在单据上增加一个文本类型的字段送货地点通过插件在菜单上增加一菜单项选择送货地点并在插件中实现如下功能 1、判断客户的送货地点类别 2、如果是固定送货点则菜单项可用点菜单项选择“送货地点”基础资料返回值填入字段中只返回名称即可 3、如果是一次性送货点则菜单项不可用可手工在单据上输入送货地点。 当然上面的还可以更细化比如固定送货点时“送货地点”只能选择不能录入等等。 【摘要】如何将BOS单据的税率携带到下游老单据 版本K310.2SP1SP210.3 问题描述如何在把BOS单据的税率携带到下游老单据BOS新做的单据税率是基础资料属性来做的但是K/3的老单据的税率不是基础资料属性所以BOS单据下推生成老单据的时候怎么样携带税率下去呢。 【解答】 可以将BOS的单据税率用小数类型描述在基础资料值更新事件中自动将基础资料的税率带到单据税率中然后就可以关联到K/3来单据中。 【摘要】客户的车间管理的单据与我们K310.2的差异很大可否用Bos开发 版本K310.2SP1SP210.3 问题描述客户的车间管理的单据与我们K310.2的差异很大无法使用K3的车间来满足客户需求。从派工单到工序汇报到最后的计时计件工资都有差异比如派工单K3的表头是客户单据的表体而K3的表体是客户单据的表头。但单据流是基本一致的。请问这样的开发用BOS是否可行还是单独写程序比较好哪个综合起来效果最佳另外分录是否可以把字段竖着表示把行变成列把列变成行 【解答】 K/3 BOS 的单据为主表-明细表的一对多结构如你的单据可以设计成这种结构即可用BOS实现如为特殊结构单据如无法变通只能自行开发了。“分录是否可以把字段竖着表示”不能行变成列但如果分录为单条纪录可以用常用字段库中的字段或自定义字段实现。 【摘要】修改应收应付模板 版本K310.2 问题描述有个客户需要做接口用到应收应付模块但有些要求比较特殊需要修改应收模板。K/3 版本10.2因为应收应付是BOS做的所以我想在现有应收模块基础上进行修改BOS设计界面可以调出来应收款管理但不能发布。我想问在现有应收款管理上修改可行么 【解答】 应收款管理属于标准模块暂时没有提供部署发布功能但可以在客户运行环境中进行修改环境如下K/3 V10.2SP1PT00704。 【摘要】客户在正式上线使用时需如何购买站点数 版本所有版本 问题描述请问用K/3 BOS开发的多种单据后客户在正式上线使用时需如何购买站点数是统一并发的吗 【解答】 底价5万元人民币包括6个站点,每增加一个站点2000元人民币;客户也可以用20万元买断没有站点限制。是统一并发的与单据数量无关只与并发站点相关。 【摘要】在K/3 BOS中能否打印一张复杂的单据 版本所有版本 问题描述在K/3 BOS中能否打印一张复杂的单据需要结合三张单据的内容进行打印。用两个以上的表体。其中一张单据的表头中一部分数据需要和表体的数据合在一起组成一个表体打印。其他部分数据在表头或其他的表体中打印。 【解答】 K/3 BOS套打只能是每个单据体制作一种套打。一般来讲各单据体只具有联合关系不具备内外连接关系。 【摘要】恢复K/3 BOS插件开发向导菜单按钮 版本所有版本 问题描述最近我在网上下了一个不知名的程序安装后随即卸了可VB6运行时报错,我就重新修复安装了一下但原来的K/3 BOS插件开发向导菜单按钮不见了这样开发BOS插件很不方便我想能否注册一下BOS组件就能解决问题? 【解答】 经过试验证明以下注册表代码可以使VB中消失了的BOS插件向导重新找回来或者使用附件中的注册表文件。 Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Visual Basic\6.0\Addins\K3BOSPLUGINSADDIN.Connect] FriendlyNameK/3 BOS PlugIns Maker VB AddIn DescriptionK/3 BOS PlugIns Maker VB AddIn LoadBehaviordword:00000003 CommandLineSafedword:00000000 转载于:https://www.cnblogs.com/landv/p/9095586.html