org.eclipse.ant.core.AntRunner.handleInvocationTargetException(AntRunner.java:424)
org.eclipse.ant.core.AntRunner.run(AntRunner.java:356) com.kingdee.bos.bim.common.BaseAntScriptJob._$2(Unknown Source:185) com.kingdee.bos.bim.common.BaseAntScriptJob._$1(Unknown Source:142) com.kingdee.bos.bim.common.BaseAntScriptJob.run(Unknown Source:82)
org.eclipse.core.internal.jobs.Worker.run(Worker.java:66)
一般情况下原因是这样的:可能在要发布的单据中引用了你新定义的某个基础资料/单据,但是该基础资料/单据没有发布过。
解决办法:先发布引用的那个(可能不止一个)基础资料/单据
还有一种情况是当前业务单元是由标准产品的元数据导过来的,不应该生成实现类,以免冲掉原有的实现类,请先把此业务单元生成的代码删掉,打开该单据,右键,在单据信息里不勾选“生成实现类”,再发布一次就可以了。
8、发布出错,报:kingdee.bos.metadata.MetaDataNotFoundException:Cannot found BusinessObject!可能是什么原因呢?
如果你曾经手工替换过元数据,可能会使这几个目录(deployed_metas,metadata,5.0有metadata)的某些pk属性文件不一致;请在解决方案下的metadata目录找到facade_pkmapping.properties,entity_pkmapping.properties两个文件,替换到解决方案下对应的deployed_metas,(5.0有metas)目录下。
9、facade从CVS上拉下来后,在pkmaping文件中没有相应的纪录,我记得5.0 中通过在发布一遍就可以了,现在5.1中我发布了还是没有记录,我只能手工增加,请问以后我们的facade都要这样做吗,而且怎么将每个人做的facade合并起来?
请问你是不是通过studio发布的?
如果在studio发布的,只会在metadata的目录中写相应的pkmapping记录;
如果是在bim里发布的,就会在metadata和deployed_metas里面都写相应的pkmapping记录;
如果是在studio发布过,再在bim里发布其他的业务单元,系统会自动copy deployed_metas里的文件到metadata里,这样deployed_metas里的pkmapping文件会覆盖metadata里的pkmapping文件,导致找不到相应的记录。
建议在bim发布有facade的业务单元 10、BOS中 TABLE 中导出到 ORACLE 数据库中出现错误, 但是在数据库中生成了相应的表 错误信息如下:Error in T_KD_QalFeedback,请问是怎么回事?
检查了table所引用的外键,发现t_kd_qalfeedback引用了另外两张表:t_kd_recbrdrflk和T_kd_recbrlrflk。
遇到这种问题,请先导出此表外键所关联的非系统定义的数据表, 如果被引用的数据表的外键仍然有关联非系统定义的数据表, 请按顺序导出被关联的数据表
五、部署类问题解答
1、部署业务单元的时候好像把整个解决方案都部署了,应该怎样才能只部署我想要部署的业务单元?
BIM目前的处理方式是,每次部署的时候,会把所有用BIM发布过的业务单元都部署上去
2、部署没有生成数据库表单和菜单吧(发布才会),是这样吗?
部署的时候,会把元数据、类文件部署到服务端,也会把主菜单、数据库表部署到所选择的帐套上。
3、部署后在单据转换平台上发现系统的目录为空?
这是业务建模工具的一个已知bug,标准的部署流程应该是:发布业务单元?生成工作流转换及botp目录?部署,但是因为有bug的原因,现在的流程为:发布业务单元—>生成工作流转换及botp目录?任何发布一个业务单元?部署
如果发现部署后目录为空的情况,也可以把测试环境下解决方案的metadata目录下所有的mdbview类型的文件copy到服务端..\\kingdee\\eas\\server\\deploy目录下的metas.jar文件中
4、部署是怎样的一个过程?
在本地测试通过以后,需要部署到服务端,以供所有的客户段能够自动更新使用。
部署是把本地经过发布的业务单元上传到服务端的..\\kingdee\\eas\\fileserver.ear\\easWebClient\\deploy\\client下的metas.jar的对应位置,本地的classes上传到服务端的..\\kingdee\\eas\\fileserver.ear\\easWebClient\\lib\\sp目录下。
5、在部署数据的时经常出现了如下图所示问题:
部署的时候必须停止服务器。
六、集成模块----单据转换问题
1、单据转换规则定义中,分组与合并规则是什么意思?为什么一定要分组?要不保存不了
分组是group by,合并是 group by以后的某些数值字段的合计。 现在的实现方案是根据分组的级次来逐级转换的,如果不分组,那么就不会有转换过程,而且业务上也是要求分组的。
2、分组的级次是什么?
是属性的级次。比如单据上的company,是一级,而分录上的科目entries.account,是二级。
3、在某一张采购申请单关联生成采购订单以后,它是不准被删除的,怎样知道这张申请单是已经关联生成过采购订单的?
在com.kingdee.bos.metadata.bot.app下找t_bot_relation看它的数据库记录里fsrcentityid和fdescentityid对应的记录就可以看到单据关联生成的信息了。
4、在有分录的单据ListUI中,点击“关联生成”后,可不可以实现选中一条记录就生成包含所有分录的目标单据?
如果想根据单据头做botp转换,需要自己在单据的序时簿代码中添加 相关的代码设置,代码参考:
public void actionCreateTo_actionPerformed(ActionEvent e) throws Exception {
setDAPTrans(true);
super.actionCreateTo_actionPerformed(e); setDAPTrans(false); }
5、如何手工关闭BOTP的源单据?也就是说我的源单据不需要参考目标单据是否生成,也不需要参考目标单据反写到源单据的字段值。我需要实现人为手工地关闭源单据,使其关闭后不能再生成目标单据。
在动态会计平台可以将关闭的枚举值赋给所需的单据
6、BOTP源单生成目标单时,能否设定规则,只将符合条件的源分录带到目标单据上?
可以,打开一个规则,在界面上侧的toolbar栏有规则过滤和数据过滤 规则过滤针对过滤规则本身的转换规则进行过滤 数据过滤针对单据的字段的具体值进行过滤
7、BOTP下推生成目标单据,如果想让已经生成下游单据的分录(不是单据)不可以再生成单据,应该如何处理?是要手工在此分录上加个状态字段还是框架已经支持?
需要自己打上标签,然后在数据过滤里做过滤,使打上标签的单据不再参加botp
七、集成模块----权限问题
1、用业务建模工具新定义的单据如何跟权限管理集成起来?
新定义的单据,在没有做权限管理之前,是不受权限控制的。 将新单据跟权限管理集成起来,大致分为三个步骤: 1、【工具】?【权限管理】,在此界面定义单据所在的目录及给单据设置各种权限项(查看、新增、修改、删除、审核等)。如果没有新建某种权限项,则默认此种权限项不受控制,是可以在任何情况下 使用的。-----这只是加了权限项,但是并没有应用到单据中。
2、要应用到单据中,必须在主菜单管理中给业务单元加上相应的权限项,然 后发布,这是设计期要做的工作。
3、在运行期时,通过administrator登录,在“用户管理”里同步权限项?分配相应的权限即可
八、集成模块----工作流问题
1、用业务建模工具新定义的单据如何跟工作流集成起来?
新建的单据通过【业务单元】?【功能】将此单据中的相关功能同工作流进行绑定,发布后,运行【工具】?【生成工作流和单据转换平台目录】生成工作流与业务建模工具同样的系统目录。这样前提条件都准备好了。再在业务建模工具里启动服务端,然后再工作流里进行工作流工具的连接,记得应用服务器地址的后面加上端口11036(192.168.19.176:11036),另外设置元数据的路径是当前解决方案所对应的metadata目录(记得勾掉默认的元数据为jar包的类型),启动工作流成功后,业务建模工具和工作流已经集成起来。
2、业务单元新增了一个功能,上面怎么没有与工作流绑定的选项?
需要单据上的功能才行,基础资料不能与工作流绑定。
3、怎样集成工作流建模工具?为何工作流建模工具不能连接BIM启动的服务器?
工作流连接服务器时可以设置连接端口号为11036(系统默认为11034)就可以了
4、b im 与 wfbuilder 集成问题:在bim中启动了apusic ,打开wfbuilder时找不到已启动的apusic服务器, bim中apusic端口和ormrpc的端口与 wfbuilder要求的不一致
BIM设置自己的应用服务器端口是为了解决与BIM外部启动的应用服务器冲突的问题,因为BIM启动的服务器只提供给BIM自己测试用,只作为它自己测试一种支持。为的是解决可以在BIM外部启动了Apusic 服务器后,BIM还可以自己进行测试。
5、创建工作流后,修改人工节点中的任务属性,然后保存,再进入的时候提示:当前页面包含无效的值。
该问题是一个已知问题,主要原因是工作流建模的时候,在新建单据上配置工作流,启动的是EAS的应用服务器而不是BIM内部的应用服务器。 解决办法:
1、 启动BIM的测试服务器
2、 修改工作流连接,譬如原连接地址为 127.0.0.1,在连接BIM的应用服务器时连接地址
应该改为 127.0.0.1:11036
3、 修改工作流的客户端元数据目录为: ”BOS安装目录” \\ ”BIM工程名” \\ metadata
6、在单据建立好以后再做工作流,在“转换工作流和单据转化平台目录”以后,在工作流连接后-在工作流管理的大纲中单据功能看不到我所做的单据功能,请问是否要部署以后才能看到,还是有其他原因?
在工作流视图里,看到的只是流程,你新建流程后,
在流程的人工节点给任务属性加功能的时候,可以看到你所做单据的功能