使用BOS过程中常见问题 - 图文
更新时间:2024-02-01 18:19:01 阅读量: 教育文库 文档下载
- bos怎么使用推荐度:
- 相关推荐
BOS工具常见问题集
一、功能点使用问题解答 ............................................................................................................... 2 二、环境使用类问题解答 ............................................................................................................... 3 三、事件类问题解答....................................................................................................................... 8 四、发布类问题解答....................................................................................................................... 8 五、部署类问题解答..................................................................................................................... 12 六、集成模块----单据转换问题 ................................................................................................... 13 七、集成模块----权限问题 ........................................................................................................... 14 八、集成模块----工作流问题 ....................................................................................................... 15 九、工作流使用问题解答 ............................................................................................................. 16
I、工作流快速入门部分 ....................................................................................................... 16 II、工作流常见问题解答 ...................................................................................................... 30 III、现场常见流程配置 ......................................................................................................... 31 IV、现场常见问题解决方案................................................................................................. 38 十、集成模块----预警平台问题 ................................................................................................... 65 十一、集成模块----报表问题 ....................................................................................................... 65 十二、集成模块----组织架构 ....................................................................................................... 66 十三、代码应用问题..................................................................................................................... 68 十四、升级参考步骤..................................................................................................................... 71 十五、版本遗留缺陷..................................................................................................................... 74
一、功能点使用问题解答
1、业务建模工具所定义的单据是怎么调整顺序的?
在业务建模工具视图选中该单据,
菜单【业务单元】?【录入顺序】用来调整编辑界面的输入顺序,也可以调整分录字段的显示顺序;
菜单【业务单元】?【查询顺序】用来调整序时簿界面的显示顺序。
2、目前字段修改能修改什么属性?
业务建模工具里不能修改系统定义字段(可以切换到studio视图修改),只能修改自定义字段;
如果想要修改系统定义字段的显示标题,可通过属性里的“标签文字”进行修改; 在自定义字段未保存前,该字段所对应的所有属性都可以修改; 在自定义字段保存后,该字段只能修改字段标题,出现需要修改字段除了别名以外的属性的问题,比较快速的变通处理方法是删掉此字段再重建。
3、BIM中建的枚举只有整型吗?可不可以定义其他类型的枚举?
目前都默认为String类型处理
4、在运行时,EditUI界面中点击复制并新增时,单据编号(已配置编码规则)同时也会复制过去,而不会产生新的单据编号,如何解决?
请重载setFieldsNull()方法,然后把你不想复制的字段set一个null值在里面就可以了
5、在我们开发单据中,每个单据都自定义了一个审核的字段(并没有使用框架的审核功能),每张单都需要用户手工审核操作的。当我把已经审核的单据打开,在EditUI点击复制并新增时,审核状态也复制过去(变成已审核状态,本应该是未审核状态的),如何解决?
同上
6、请问复制并新增时,是哪里的数据复制到新的单据,界面上的数据还是editData里面
的数据(两都有可能数据不一致)?
复制的是editData,editData总是与数据库中的记录保持一致的,所谓的不一致,只是因为加载或者保存等时候认为的改动了某些字段的值。
7、在业务建模工具中,发现新建的common目录找不到
业务建模工具对以下的通用目录作了过滤,自动滤掉了:
ui common tools upgrade dmc btp wf base util framework portal mobile bim 如果想使用以上的目录,可以通过点击“业务建模工具”视图右上方的小三角形,选择“过滤”目录,在弹出的界面中,去掉不想滤掉的目录的名字即可。
二、环境使用类问题解答
1、BIM工具菜单的“启动EAS客户端”和“快速启动EAS测试”有何不同?
\快速启动EAS测试\是指同时启动EAS服务器和EAS客户端; 其实启动客户端时,如果EAS服务端没有启动会自动启动;
分这几种启动方式的好处是如果有些改动如果没有改变服务端的东西,就可以沿用原来启动的服务端,仅仅启动客户端就可以了。
2、BIM 服务启动报错缺少类,请问如何配置修改?
这是由于在lib下缺少必须的EAS库文件,有可能是用户在使用过程中改变类加载目录造成的,出现这种问题,只需要把当前的解决方案先保留内容地从当前视图删掉,再重新打开一次就可以了,系统会自动寻找当前解决方案目录下的lib目录。
3、在studio中做的修改以及发布出来的代码同步到bim中,是否需要手工拷贝?
BIM和studio用的是同一套元数据,是实时同步的。
即用BOS Studio改了元数据后,打开BIM就可以看到变动了; 同样用BIM改动后,打开 BOS Studio也可以看到变动。
如果说需要拷贝元数据,可能是你建了不同的工程。如果BIM和BOS操作的是同一工程,是不需要拷贝的。
使用BIM或BOS的发布功能都可以发布成Java代码
注意:使用中常发现用户在bim和studio视图中所作的发布设置不一致,导致一些不必要的麻烦,建议使用前请到菜单【工具】?【解决方案设置】,在弹出界面中选择“测试设置”,单击“拷贝设置至Studio”,用来使两种工具的设置保持一致。如下图:
4、BIM的解决方案必须通过应用服务器导入吗?
也可以通过拷贝别人解决方案目录到自己本机,然后打开已有的解决方案。
5、怎样将BIM中的EAS测试启动模式设置为可调试?
请到菜单【工具】?【解决方案设置】,在弹出界面中选择“测试设置”,再切换到“其他测试设置”页签,勾选“调试模式运行”即可。如下图:
6、BIM中在哪里可以看到运行日志信息?
控制台的服务端、客户端,还有控制台右上方的日志按钮打开可以看到错误信息; 如果有编译错误,可以到解决方案根目录下看classes.log文件输出信息。
7、如何转换成繁体版?
在安装盘相对路径..\\kingdee\\eas\\bos\\BOSModular下,启动命令文件:BOSModular_zh_TW.bat即可。
8、项目实施中需要在EAS 凭证录入界面上面增加“组织机构”,关联到基础资料里面的“组织机构”,并且设置成为必录项,是否能够实现,可以通过什么方法实现?
eas系统中已有的单据,可以通过向导导入已有业务单元来实现。 具体步骤如下:
选择凭证所在的目录,右键[新建]-->[导入业务单元或模板], 然后根据向导一步步可以把凭证导入到业务建模工具中,
然后在凭证这张单据中通过新增字段即可添加“组织机构”这个字段
把字段设为必录项可以通过定义事件来解决。
选中“组织结构”这个字段控件,在下面的属性页签里,选择“保存”这个 触发时刻来触发事件。在弹出的“事件管理”界面中,新增事件,在“定义 事件”界面中,选择操作“单据合法性校验”;
具体的操作设置过程请参考bos自带的帮助系统:
金蝶业务建模工具帮助系统-->定义业务单元-->事件管理-->事件定义--> 各种操作的详细描述。
9、我的BIM运行测试时,有时会读到Jar包里面的代码,而不是先运行自己的代码。有时
候却正常。请问是什么原因?
理论上是优先读取本地的class,然后才是库文件,如果出现了这种不正常的现象,请检查本地是否生成了class
10、bos在头一天还正常使用,第二天启动的时候就出现如下图所示问题,启动不起来,重新启动机器,将服务器控制台启动后,才能启动bos
bos工具能否正常启动,跟服务器控制台没有关系,应该是某些错误导致无法启动,遇到这种情况,请尝试删除工作空间d:\\workspace下的.metadata目录试试,打开bos工具后,切换到业务建模工具视图,再重新打开一次解决方案。
11、有一个开发人员在业务建模窗口中经常会出现下图所示的问题,然后bos关闭
此问题应该是有javaw.exe进程死在内存里,请在“任务管理器”里切换到“内存”页签,杀掉所有的javaw.exe进程,再重新打开bos工具即可。
12、修改元数据发布后,切换到java透视图中的时候经常出现如下图所示问题:
当服务器正在运行的时候,只能热替换代码体部分,如果有方法名更名或者新增方法,热替换无法进行,就会出现如图提示框。
三、事件类问题解答
1、定义了计算公式的事件,却发现并不起作用是怎么回事?
事件定义最经常犯的一个错误是把事件定义在错误的字段上面,导致产生不了预想的效果, 现举一个实际的例子供参考: 比如:金额=数量x建议采购单价
则“金额”的值随着“数量”和“建议采购单价”的值的改变而改变。由此可判断事件应该定义在公式右侧的字段“数量”和“建议采购单价”上;事件的触发时机在“更新”事件上。
2、创建了EditValueChange事件,目前在文本字段中触发了该事件,在数值字段中无法触发该事件
请用BIM里面字段的更新事件。单据头的字段的更新事件选中字段后,在属性的“更新”事件里加事件就可以了,分录体的字段的更新事件需在大纲里,选中字段再进行更新事件定义。发布后JAVA代码里有相应事件,在里面实现代码即可。
3、为什么一个单据在保存的时候,F7控件也会产生一个DataChange事件,一个单据在打开时,都会产生事件,不合理
当时升级支持的时候发现是事件定义在整个分录上,不合理,应该定义在分录的对应字段上。
四、发布类问题解答
1、请问发布出错通常是什么原因?
对外发布的bos版本,在正常情况下,一些很常用的功能,比如发布, 基本上是不会出错的(当然不排除有些潜在的没注意到的bug引发的错误) 。
如果出错了, 从控制台的输出可以判断存在以下三种错误: 1.connect错误
请到菜单【工具】?【解决方案设置】,在弹出的界面中,选择“测试设置”,再切换到“测试帐套”页签,点击“测试帐套连接”,来确定当前的数据库连接是否正常。 2.compile错误
可以到解决方案根目录下面的classes.log文件中,检查当前项目工程的代码是否有问题; 也可以把当前的项目转换为java工程,然后切换到java视图解决编译出错问题;
一般情况下原因是这样的:可能在要发布的单据中引用了你新定义的某个基础资料/单据,但是该基础资料/单据没有发布过。
解决办法:先发布引用的那个(可能不止一个)基础资料/单据
还有一种情况是当前业务单元是由标准产品的元数据导过来的,不应该生成实现类,以免冲掉原有的实现类,请先把此业务单元生成的代码删掉,打开该单据,右键,在单据信息里不勾选“生成实现类”,再发布一次就可以了。 3.其他错误,比如元数据校验等
除了可以从控制台得到某些出错信息外,也可以打开控制台右上方的日志按钮,获取出错信息加以判断。
另外,还可以在studio中发布当前业务单元所对应的元数据,看看元数据本身是不是存在问题;还有一种常见情况是缓存导致的,可以通过清除缓存来解决。
另外一种常见错误是,此业务单元引用的基础资料没发布,请先发布该业务单元关联的
2、有的显示的菜单中缺少了发布等菜单项,如下图:
只有业务单元(后缀名为.bizunit)才能发布,图示的“采购申请单”应该是一个业务模板,业务模板只是供复制使用的,不能用于发布。
3、请问EASBOS解决方案目录下的deployed_metas文件夹里放的东西是做什么的?能否手工修改?我在BIM里删除了一个字段后运行报错,后来发现是这文件夹里的文件还存在相关信息
(注:metas是5.0以前的环境目录,相当于现在的metadata)
解决方案关于元数据一般有三个目录:metadata,deployed_metas,metas metadata里的元数据发布后,经由deployed_metas发布到metas目录中
metadata中的元数据在当前开发环境中可见
metas是eas运行环境依赖的元数据,由metadata目录中的元数据发布而来
deployed_metas相当于metadata到metas的中转站,记录metadata里元数据的发布过程 ---即相当于metasdata里的元数据先发布到deployed_metas目录中,成功后再发布到metas里。
deployed_metas里的文件一般情况下不建议修改,它只是做一个发布记录,这个记录在以后的bim部署中用到
bim删除字段后运行报错,跟deployed_metas应该没有关系,运行时依赖的元数据是在metas目录中
如果你想彻底改掉这个问题---这个问题也许是因为过去记忆的文件没被彻底覆盖造成的 可以在deployed_metas和metas里同时删掉这个元数据信息,然后再重新发布
4、在BIM里导入一个EAS5.1的方案,建了一张单据,发布就出现附件里的错误,请问得怎么解决? Caused by: java.sql.SQLException: MicrosoftSQLServer 2000 Driver for JDBCSQLServer列 'T_PM_User.FID' 与外键 'FK_TRA_TrnstBLUU5l' 中的引用列'T_TRA_TransitBill.FLastUpdateUserID' 的排序规则不同
EAS5.1的SQLServer库排序规则是大小写敏感的,5.0的则不是。这样EAS-BIM5.1发布出来的表的排序规则是大小写敏感的。 这样导致使用5.0的EAS帐套会出现排序规则不一致的错误
5、发布emp职员出现这样的:无法将 NULL 值插入列 'FNumber',表 'boc.dbo.T_BD_Person_TEMP'; 该列不允许空值。INSERT 失败
数据表'boc.dbo.T_BD_Person_TEMP'的字段FNumber不能为空,但是你导入的数据中有null值。这是因为原本可以为空的fnumber人为改成非空造成的。有两种方法: 1.将数据表boc.dbo.T_BD_Person_TEMP'的字段fnumber的值清空
2.将数据表boc.dbo.T_BD_Person_TEMP'的字段fnumber的属性设成可以为空
6、为什么在BOSStudio发布元数据后,BIM客户端还是取不到元数据?
BIM会在本地另外启用服务器进行单据测试,元数据进行了缓存,因此在BOSStudio发布元数据后,必须重新启动BIM。
7、在EAS业务管理平台发布设置完业务单元后,执行“发布业务单元”时出现错误 现象:
BIM 运行任务出错!
org.eclipse.core.runtime.CoreException:
D:\\EASProgram\\kingdee\\Utilities\\tools\\bim\\bimstudio\\plugins\\com.kingdee.bos.bim_4.1.0\\deploy.xml:35:
Compile failed; see the compiler error output for details.
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、在单据建立好以后再做工作流,在“转换工作流和单据转化平台目录”以后,在工作流连接后-在工作流管理的大纲中单据功能看不到我所做的单据功能,请问是否要部署以后才能看到,还是有其他原因?
在工作流视图里,看到的只是流程,你新建流程后,
在流程的人工节点给任务属性加功能的时候,可以看到你所做单据的功能
九、工作流使用问题解答
I、工作流快速入门部分
1、怎么理解流程变量?
流程变量是工作流引擎和业务系统的数据交互的桥梁。
工作流承载业务,驱动业务流程,但是不会执行业务。工作流中的业务执行,全部都会委托给具体的业务模块执行。那么,这些被工作流分割的业务功能,在工作流中被调用执行的时候,如何保证做操作的数据的一致性?
通过流程变量,在每一步的业务功能执行的过程中,将业务数据保存在流程变量中,那么整个流程的后续活动中,都可以引用该流程变量,来完成业务功能,保证业务数据的一致性。
例如:在凭证的审批流程中,新增凭证审批,审批的时候为什么可以正确定为到刚刚提交的那张凭证,而不是别的凭证?流程变量起到了重要的作用。在凭证新增之后,将可为一标示凭证的ID保存到流程变量中,在审批的时候将流程变量中的值传递给凭证,就可以根据这个ID可以唯一获取到一张凭证了。
流程变量在流程实例的生命周期内都是有效的。
2、怎么理解任务输入输出? 任务输入:在业务发生之前,有工作流传递给业务的数据。以凭证的过账为例,某个用户收到一条凭证过账的消息,双击消息处理。在双击之后、凭证的界面弹出之前,工作流会把定义的入口参数变量中的值传递给凭证,凭证根据这个值来展现特定的单据,展现特定的功能。 任务输出:在业务发生之后,由业务系统传递给工作流,需要保存在流程变量中的数据。仍以凭证过账为例,在用户操作完凭证过账之后,工作流继续流转之前,如果流程定义中定义了任务的输出,那么,就会将凭证对应的属性的数据,保存在流程变量中。已备在后续的流程活动中使用。
3、嵌入式工作流与流程自动匹配 金蝶EAS的工作流式支持嵌入式工作流,嵌入式工作流系统有如下的特性:
1、 无需更改用户的操作习惯,在序时簿上操作,也可以正常的激活驱动工作流,而不
必一定要到消息中心去处理业务
2、 流程自动匹配。可以通过执行流程的启动活动的操作,自动匹配流程,启动流程实
例。流程实例启动后,启动活动已经完成,流程自动向下流转。
流程匹配的条件是任务和参与人。在任务相同的情况下,流程匹配存在优先级。从高到低依次是:职员、职位、组织、任意人。
4、场景1:单活动流程
场景说明:流程只有一个人工型活动,完成凭证提交的任务,流程结束。没有具体的业务含义。
以凭证提交的业务为例。流程图如下:
定义步骤:
1、 拖入开始、结束活动
2、 拖入人工型活动,用连接弧连接起来。 3、 定义人工型活动
首先,定义人工型活动的任务,选择任务
选定任务后,定制任务的输入输出。 输入参数是由任务定义带出的
根据任务输入的意义,指的是在凭证提交之前,由工作流告知凭证的数据。新建一个流程变量,绑定该输入。
这样绑定的意思是:在凭证提交之前,工作流会将billID这个流程变量中的数据传递给凭证业务。凭证业务得到这个值之后,会根据业务需要做出判断。 [说明]所有人工型任务的输入参数,全部是在定义任务的时候就定义好的。每个任务的输出参数可能不同,是由于各个不同的业务系统对于业务开始之前,所需要的数据不同导致。但是在EAS系统中,基本上任务的输入参数只有一个BOID类型的参数。这是因为一般来说,通过这样一个类型的值,就可以完全定位一个业务单据,并且拿到这个业务单据,就可以满足大部分的业务需求了。 [说明]对于示例中的这个节点,在业务发生的时候,billID还没有任何赋值,这个时候传递给业务系统的也将是个空值。根据工作流系统和业务系统的约定,传递空值对业务系统来说,意味着新增单据。
再来看看任务输出
左边的是单据对应的业务对象的所有属性,右边是选定的输出。 在这里,将ID属性输出,并且选定输出的流程变量是billID
在这个简单的示例中,这个输出没有意义。
但是在后面的场景中,可以看到,这个输出具有很重要的意义:凭证提交完毕后,将可以唯一标示一张凭证的ID属性保存在流程变量billID中,在后续的活动中,如果还需要操作这张凭证,就可以通过billID来唯一定位这张凭证,保证业务的一致性。 任务定义完毕,来定义参与人。 参与人定义中,分为了默认参与人和条件参与人(条件参与人如何定制和使用,请参见另一篇专门针对提交参与人的文档)。工作流在获取执行人的时候,首先根据条件来逐个扫描条件参与人,发现没有符合,那么会取默认参与人。 这里简单处理,选择任意人。
[说明]前面提到过,流程自动匹配的优先级。下面举例说明。
有两条流程,同样启动活动的任务都是“凭证提交”,A流程的启动活动参与人设置为“张三”,B流程启动活动参与人设置为“公司所有人”。那么张三录入凭证的时候,匹配的流程是A。 [说明]任意人作为一个特殊的参与人定义方式,只针对于启动活动生效!意思是说,只要有凭证提交的权限的人,提交凭证就可以匹配到该流程 到现在为止,这条简单的流程就已经定义完毕。发布。到EAS中提交凭证,然后到工作流监控中,会发现有一条流程实例,并且状态是已完成。
5、场景2:审批流程
场景说明:单据提交之后,经过一层审批,流程结束。 以凭证为示例。流程图如下
定义步骤:
1、 同场景1拖入活动
2、 增加一个审批活动,如图画连接弧
3、 配置提交活动。和场景1中一样选择任务,参与人也是任意人。但是任务的输出多
一项。由于在后续的消息中想展现出单据的编码,所以多输出一个单据编码到一个流程变量number中
4、 配置审批活动。为了方便测试,参与人设定为流程发起人的本人
任务页签和一般的任务有些不同,是因为审批是一个通用的业务,对其任务进行了包装。只是展现的UI不同,实质是一样的。
这一部分,就是任务输入。对于现在的场景,审批凭证,那么在业务单据内码这一栏选中billID。此时billID已经在提交之后,保存了刚刚提交的凭证的ID。一旦这个审批任务发生执行,那么,在执行前,工作流会将billID这个变量中保存的值传给业务系统。那么审批时就可以唯一定位到一条业务单据。
任务输出,选择将审批结果输出到一个枚举型的流程变量 审批结果 中。 定制审批消息
流程定义完毕。发布,在EAS中执行。 提交凭证,在消息中心收到一条消息,审批,通过。然后回到凭证序时簿,察看该流程,发现,凭证的状态还是“提交”而不是“审核”。 这是因为工作流中的多极审批,只是单纯的驱动流程,做一个选择而已,不会修改业务数据。 为了能够让凭证打上审批标记,按照如下方式修改流程定义
最后的这个自动活动,就完成给凭证打审核标记的功能。 任务选择如下:
任务的输入输出按照如下设置
保存、发布,再到EAS中执行一下。发现审批状态打上了。
6、场景3:带分支的审批流程
场景说明:在场景2中,没有根据审批结果来判断,无论审批是通过还是不通过,都会把审批的标记打上。在这个场景中,增加对审批结果的判断。审批通过,则打审批状态。审批不通过,返回修改。
仍以凭证为例。流程定义如下:
定义步骤
1、 提交、审批、自动节点的设置和场景2中一样。
2、 增加一个人工型活动,修改。选择的任务和“提交”一样。但是由于单据的ID和
单据的编码是新增的时候就定好的,无法修改。所以只需要定义任务输入就可以了,不需要定义任务输出。
[说明]到这里应该可以看出,流程变量的重要性。以场景中的billID为例,从提交开始作为输出参数被赋值,保存了可以唯一标示一张凭证的ID。然后再审批的时候,需要在输
入参数中传入该变量,在修改的时候,也需要在输入参数中传入该变量。这样就保证了提交、审批、修改这些业务操作所操作的凭证是同一张
谁提交的谁修改,参与人设置为流程发起人本人
定制修改消息
3、 编辑连接弧
首先编辑“审批”到“自动”的连接弧。如下方式设置条件。
[说明]变量为“审批结果”这个枚举类型的时候,在变量或比较值一栏,回发现,列出了“通过”和“不通过”两个选项。
这是建模工具会自动根据之前的定义识别枚举,然后将枚举的值也会自动列在选择范围内。
然后编辑“审批”到“修改”的连接弧。按照如下方式设置条件
保存。流程定制完毕。发布。在EAS中提交凭证,本人审批。在审批的时候,不通过。会发现会收到一条修改的消息。处理该消息,修改。流程会继续回到审批。 [说明]嵌入式工作流的特性。例如,受到修改消息后,不在消息中心处理,直接进入凭证序时簿,修改。效果和在消息中心处理一样,流程一样会继续向下流转。 [说明]业务单据一旦进入工作流,就要受到工作流的约束。例如,刚刚提交完凭证,流程执行到审批节点。这个时候工作流要求的行为是“某个人执行审批操作“。如果这个时候进入凭证序时簿,修改凭证,会提示:”已在工作流处理中,任务不匹配“。
流程定义的图形很难看,稍微调整一下。
其中路由活动没有任何作用,只是为了美化图形。
[说明]路由活动的设计本身就是没有任何作用的,单纯美化图形。但是,后在在路由活动上附加了业务语义,这一点在场景4里面可以看到。
7、场景4:互斥、分支的审批流程
场景说明:场景3已经是一个简单的审批业务了。但是如果存在这样的需求“我提交了之后,在审批之前,我发现提交的单据存在问题,需要修改”。在场景3的流程定义中,无法完成。流程执行到审批,去修改的时候,会提示“已在工作流中,任务不匹配”。那么场景4就是为了满足这样的需求。
仍以凭证为例,流程图如下:
定义步骤:
1、 提交、审批、自动、修改按照场景3设置。
2、 在提交后,审批前,增加一个路由活动,连接弧如图 3、 定制互斥路由节点
选中互斥出口,并且选择“所有连接”或者“满足条件的连接”中的一个。 这样定义的意思是:一旦流程流转经过这个路由活动,会同时创建这个节点的所有后继节点的实例,在这个场景中就是审批和修改同时创建。然后有任何一个实例被处理,那么剩下的就会自动被取消。 [说明]如果路由选择了互斥,那么出口条件必须是“所有连接”或者“满足条件的连接”中的一个,否则互斥将不生效。 流程定制完毕。发布。在EAS中提交凭证,会发现在审批前可以修改凭证了。并且根据流程定义,修改后,还会流转到互斥点,那么同样还可以再次修改或者审批。
II、工作流常见问题解答
1、选定指定下一步会签人功能,进入会签时如果有一个人不同意那么便形成了否决直接进入下一个审批人,能不能不形成一票否决,让所有人都会签完成。
目前只支持会签一票制
2、传阅有什么功能,我们试验传给一个人,但那个人什么都没有收到。
传阅发送的是通知消息,请到通知类查看,如果没有就确定一下该用户有没有对应职员
III、现场常见流程配置
1、不同的部门执行不同的流程(即流程执行可以通过组织过滤)
不同部门之间执行不同的流程有两种解决方法 1) 通过定义多条流程来实现
? 使用场景:
多个公司之间,由于业务需求,执行的流程不一致 例如:A公司的流程是 提交->上级审批->财务审批->结束
B公司的流程是 提交->上级审批->间接上级审批->财务审批->结束
其中B公司流程比A公司的流程多一个活动(间接上级审批),可以定义两条的流程实现
? 实现方法 定义两条流程(流程1和流程2),以上面的场景为例,其中 “上级审批”活动的参与人都设置成为“制单人的直接上级”。 “间接上级审批”活动的参与人设置成“制单人的间接上级”。 “财务审批”活动的参与人都可以设置成为“财务部” 其中一条流程(流程1)的“提交”活动的参与人设置成为“A公司的所有员工”,另一条(流程2)设置成为“B公司的所有员工”。 如此定义,如果A公司的员工录入预算表,则会自动执行流程1,B公司的员工录入预算表,自动执行流程2
? 不足和限制
如果公司多的话,需要多条这样的流程,一旦业务发生改变,又可能需要修改多条流程定义
2) 通过定义条件参与人来实现
? 使用场景
多个公司之间,执行的流程图必须要完全一致 例如:A公司的流程是 提交->本公司预算专员审批->财务审批->结束
B公司的流程也是如此 提交->总公司预算专员审批->财务审批->结束
B公司流程和A公司的流程图完全一致(可能在某个活动的执行人不同,但是流程的活动数量以及流转方式完全一致),只需要定义一条流程即可
? 实现方法
以标准的预算流程为例说明
首先在“提交活动”多定义一个输出,这个输出可以用来区分公司,例如
输出这个变量
然后,再审批活动上定义参与人
右键新增一个“条件参与人”
添加条件
编辑条件
添加参与人单元
添加执行人
执行人选定为“A公司的预算专员”。
同样再次增加一个“条件参与人”,条件为:
执行人是“总公司预算专员”
? 不足和限制
要求不同的公司的流程的流程图完全一致。一旦存在不一致,只能另行建立流程。
2、同一部门中的同一个人执行不同的流程
如果存在这样的情况,则不能通过录入预算表提交的方式来。只能通过在“流程中心”通过手工启动不同的流程的方式定义两条不同的流程,但是启动活动的参与人都是张三。进入流程中心,根据不同的业务需要,启动不同的流程
如果,从单据上能够获取到相应的信息,可以明确地区分单据的类型的话,例如常规的预算表单据编码是以cg开头,基建是以jj开头,那么就可以根据这部分信息,画流程分支。就还可以通过录入单据的方式启动流程。
IV、现场常见问题解决方案
1、如何定义决策结点
1、 新增一个流程变量,字符串型(由于建模工具存在bug,请一定要在新建决策活动之前,
先新增流程变量,并且之后不会再新增流程变量)
2、 新增一个决策活动,在任务页面按照如下设置
3、 然后如图画流程
4、 在人工决策->张三审批的连接弧上定义条件
请注意,在里面出现了“给张三审批”的字样,就是在定义人工决策任务的时候决策项中的一项。
5、 在人工决策->李四审批的连接弧上定义条件
6、 就这样定义即可
2、后台事务使用说明 (一) 新建后台事务
点击新增按钮。
输入后台事务名称
选择任务
从“选择任务”对话框中选择需要的任务点击确定退出
如果所选任务有参数请输入有意义的参数。
设置调度计划也就是执行计划
选择调度计划类型
详细设置选定类型的调度计划。
设置完成后点击确定退出。
设置好后台事务名称、任务、调度计划后就可以点击“保存”按钮保存后台事务。
保存成功。
保存后的后台事务如果需要运行需要点击“发布”按钮进行发布。
点击“发布”按钮后弹出“发布事务”对话框。
点击“发布事务”对话框下面的“发布”按钮进行发布。
这样一条后台事务就定义完成并已经生效。 (二) 手工转储工作流数据
工作流监控中可以进行工作流数据手工转储,如果需要手工转储请点击“转储”。
3、oracle下字符集不匹配工作流解决方案
如下操作,如果有测试帐套的话,请先在测试帐套上验证一下 1、 请在数据库中执行如下的SQL删除原有的流程定义: delete from t_wfd_processdef where fprocdeftype='NORMAL' 2、 通过建模工具导入流程
邮件中的allInitProcess.jar是包含了所有流程的包 1) 使用建模工具登录,选中流程视图
2) 然后选择菜单,工具导入流程模型
3) 在弹出的向导中,选定allInitProcess.jar,并钩选所有流程。
正在阅读:
使用BOS过程中常见问题 - 图文02-01
东莞市建设工程文明施工管理规定07-03
北京市西城区七年级(上)期末英语试卷-(含答案) - 图文03-28
水力学复习题06-21
简单机械复习103-01
中秋节的简报03-25
货运安全培训心得12-14
聘任报告12-12
锅炉专业 - 图文05-11
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 常见问题
- 过程
- 图文
- 使用
- BOS
- 古希腊园林 - 图文
- 郑大远程教育《大学英语I》第09章在线测试
- 1.试卷:厦门市2014-2015年(上)高二地理必修3试卷 - 图文
- 高一数学上册新生入学摸底考试题2
- 2009-2010学年第二学期学生会工作计划
- 04737 C++程序设计2016年10月份历年真题-答案 - 图文
- 新东方2014年12月英语四级考试预测试卷(2) - 图文
- 2017年高校辅导员笔试试题
- 成绩评定表
- 杭州市人民政府办公厅关于建立杭州市数字集群无线政务专网建设领导小组的通知
- Vector CANoe8.2基础操作教程
- AKTA全自动层析仪(AKTA Purifier)操作规程
- 外贸英语函电复习提纲1
- 工矿废弃地复垦调整利用工作方案
- 2019年高考语文文言文阅读复习指导(最适用、最详细) - 图文
- 2016年3月牛津版九年级中考英语调研试卷及答案 - 图文
- 2011新东方考研英语阅读理解精读100篇UNIT 17
- 2016精准扶贫工作的反思 - 图文
- 摄影考题
- 安全生产试题库2