BeX5使用疑难总结
书写带有id的input无法用this.comp()进行值的设置,如<input component="$UI/system/components/justep/input/input" class="form-control" id="fID" xid="fID"></input>
无法this.comp获取不到值
1 eclipse 启动tomcat和 启动BeX5运行平台.bat 显示不一致
只需修改目录下conf中的server.xml中的版本号:
如:
<?xml version="1.0" encoding="utf-8"?>
<config>
<version>4686</version>
<default-user>
<name>admin</name>
<password>123456</password>
</default-user>
<ui-server>http://localhost:8080/x5</ui-server>
<business-server>http://localhost:8080/BusinessServer</business-server>
<doc-server>http://localhost:8080/DocServer</doc-server>
<report-server>http://localhost:8080/ReportServer/reportservice</report-server>
<auth-server>http://localhost:8080/BusinessServer</auth-server>
<push-server>http://localhost:8080/PushServer</push-server>
</config>
2 数据库表的限制
对于概念表的限制,可以通过 模型资源中的 BIZ 右键,
如需删除表,直接在 BIZ下删除对应的模块就行。
3 BeX5库表统计
概念数是ontology,库表数是统计的data下映射的,查看是否引用,通过model.config.xml,对于引用的system中的data,这些都不算在费用之内。
4 版本的升级
在V3.3版本的OA上进行了相应的修改,之后想把该版本添加到3.7上。过程如下:
把V33版本下model中BIZ和UI2模块中的OA,去替换V3.7下的OA,之后运行 启动MySQL数据库.bat , (中间比较了一下发现V3.7数据库缺少justep_oa.sql数据库,该数据库justep_oa.sql是通过V3.3版本的navicate备份而来),添加数据库justep_oa.sql,并运行3.3版本的数据。 之后打开 启动BeX5开发工具.bat,在eclipse中打开-》窗口->首选项->Studio配置-》数据源->添加即可,如数据源名称oa,数据库名称为justep_oa.
5 添加成员出现提示重复
组织权限——回收站”中清除删除的数据
6 获取数据成员模型的行ID
,this.comp("mainData").getCurrentRowID()或者
this.comp("mainData").getRowID()
Java代码如下:
public static BigDecimal my(String orderID){
Map<String,Object> params=new HashMap<String,Object>();
params.put("masterID", orderID);
Table table=KSQL.select("select sum(a.fSL) as HJ from SA_CGDetail a where a.fMasterID=:masterID", params, "/Sale/CGGL/data", null);
return table.iterator().next().getDecimal("HJ");
}
整个js代码如下:
Model.prototype.button2Click = function(event){
var biz = require("$UI/system/lib/biz");
var me = this;
var orderID=this.comp("mainData").getRowID();
//alert(this.getIDByXID("mainData"));
// alert(this.comp("mainData").getCurrentRowID());
biz.Request.sendBizRequest(
{
"context" : this.getContext(),
"dataType" : "application/json",
"action" : "myAction",
"parameters" : {
"orderID" : orderID
},
"callback" : function(result) {
debugger;
if(result.state){
alert(result.response)
/*
me.comp("output1").set({
"value" : result.response
})
*/
}else{
throw new Error("调用失败!"+ result.response.message);
}
}
})
/
};
7 添加tabs组件,界面不显示
在最上的window上,class设置: window x-full-screen
对于tabs下面的层,需要设置长和宽,才可以展示。
以前的view,对应现在的div
8 出现 Data truncation: Data too long for column 'fPicture' at row 1
在开发环境的概念模型上,设置字段fPicture从String到Text
9 BeX5导入项目,不显示
主要是视图显示不对,
新建项目->使用缺省位置去掉,浏览项目,引入即可,按照提示打开说明,即可显示 其他的项目。
10 grid获取其他列的值
Model.prototype.mainGridCellRender = function(event){
if (event.colName == "操作") {
var OA_MT_Boardroom=event.row.val('OA_MT_Boardroom');//获取该列数据的ID值,即model的ID值
}
};
11 not in写法
String kSqlWhere =
"SELECT o1.*, o1.sCode AS sPCode, o1.sName AS sPName FROM SA_OPOrg o1 WHERE o1.sCode = 'JUSTEP' AND "
+
"NOT o1.sLevel IN(1, 2) "
;
12 grid传递参数
向bizData中传递参数:
KSQL中为: id=:ID
当渲染时会发生事件如下:
可定义全局变量
var beginTime="2017-11-15 08:58:00"; // beginTime=" ' 2017-11-15 08:58:00 ' "; //不可添加 ' 号,,
var endTime="2017-11-15 18:58:00";
Model.prototype.mainDataRefreshCreateParam = function(event){
//给queryAction中的参数赋值
var mapParam = new biz.Request.MapParam();
mapParam.put("beginTime", beginTime);
mapParam.put("endTime", endTime);
event.param.setMap("variables", mapParam);
};
点击事件: click(){ //通过修改事件,来更改渲染的变化,之后模型 mainData.refreshData(); 即可
beginTime="'2017-11-15 08:58:00'";
endTime="'2017-11-15 18:58:00'";
}
13 重新清空编译
清空:BeX5_V3.7\studio\workspace下所有文件
或者BeX5_V3.7\apache-tomcat\work下的所有文件。
14 debuge调试
把java代码设为源码路径,之后把 不以调试模型运行的勾去掉即可。
断点调试,上面有: 跳过所有调试,如果点击后,则无法断点,再次点击,不要跳过后,即可。
之后把自动设置源文件目录前面的勾去掉,并把下面的BIZ添加上去。
15 sql引用
KSQL中引用mysql中函数,需要添加SQL,即如SQL.TIMESTAMPDIFF(XXX)
实例:
(select (SQL.TIMESTAMPDIFF(SQL.MINUTE, OA_MT_RoomArrangeNewDate.fBeginTime, OA_MT_RoomArrangeNewDate.fEndTime)) as arrangeDate from OA_MT_RoomArrange OA_MT_RoomArrangeNewDate) as arrangeDate
对于KSQL中的可以以':'开头使用表达式函数,但是在select部分不能使用,表达式函数是在内存中计算的,先执行内存函数,然后执行sql。
16 20免用户证书获取
首先运行\license\bin下的key.bat,此会在\license生成key文件,之后在Bex5官网申请免费key,并上传生成的key文件,之后生成免费的注册码,之后运行register.bat,粘贴注册码,即可完成20用户免费。
17 报表
如果是自己定义的 action,如果不是标准的KSQL,即选择的是ksqlQueryProcedure,则在reportData选择动作的时候action,不要选择KSQLAction,需要直接选择Action
18 运行缓存
运行 启动BeX5运行平台.bat ,会采用缓存,解决方案:
- 方案二:修改UI2下自己应用的config\ application.xml 中的版本号,然后重启tomcat服务
- 方案三:修改model同级的config\server.xml文件中的version版本号,然后重启tomcat服务
19 java.lang.Error: 无法解析的编译问题:
无法解析类型 javax.servlet.http.HttpServletRequest。从必需的 .class 文件间接引用了它
类型 RequestContext 中的方法 getRequest()引用缺少的类型 HttpServletRequest
system/logic/code/dsrc/TenantEngine.java报错,
这句话MyCatMultiTenant.setMyCatMultiTenantInfo(ContextHelper.getRequestContext().getRequest(), tenant); 出现问题
解决方案,首先,设置源码路径,之后 构建路径,从外面导入包
E:\install\BeX5\BeX537\BeX5_V3.7\apache-tomcat\lib\servlet-api.jar
,即可。
20 BeX5用户登录问题
如果登录不校验密码,则需在BIZ/system/logic/code/dsrc中的OPMProcedure类中,在login方法中pwd为null,并且true改为false
public static Object login(String name, Date loginDate, String pwd, String lang, String ip, Map<Object, Object> options) {
return OPMProcedure.login(name, loginDate, pwd, lang, true, ip, options);
}
修改为
return OPMProcedure.login(name, loginDate, null, lang, false, ip, options);
22 单点登录
url可以直接调用.j文件,如
http://localhost:8080/x5/UI2/portal/base/loginCheck/login.j,此调用的是自定义的java文件,实际相当于servlet文件。
可以通过BeX5的.j文件,实现单点登录,参考为:
http://docs.wex5.com/bex5-ui-question-list-10258/
23 时间插件精确到时或者精确到分钟设置各页面相互不影响
在Input中如果设置为时,则在属性form-control 基础上添加属性hourTime。设置如下
$(".hourTime").click(function() {
setTimeout(function() {
//debugger;
// 设置值
//$("input[name='_calendar_hour_']").val("17");
$("input[name='_calendar_min_']").val("00");
$("input[name='_calendar_sec_']").val("00"); //秒最后的固定
// 控制不可编辑
$("input[name='_calendar_min_']").attr("disabled", "true");
$("input[name='_calendar_sec_']").attr("disabled", "true");
}, 50);
});
在属性form-control基础上添加属性selfMinuteTime,之后设置为
$(".selfMinuteTime").click(function() {
setTimeout(function() {
// 设置值
// $("input[name='_calendar_hour_']").val("17");
$("input[name='_calendar_sec_']").val("00"); // 秒最后的固定
// 控制不可编辑
$("input[name='_calendar_sec_']").attr("disabled", "true");
try {
$("input[name='_calendar_min_']").removeAttr("disabled"); //重点
} catch (err) {
console.log(err.name);
console.log(err.message);
}
}, 50);
});
24 隐藏表单
只需css visibility:hidden;
bind-visible="0>1" ---这种方式不可取。会有延迟。
25 修改系统的功能
如需要修改系统自带的portal中的index.w文件,则只需额外在添加同样的文件portal_X,index.w也同样的位置,这样既可覆盖。
26 添加空格
在设计上,添加 中文的空格既可。
27 添加超链接
报表添加超链接,即右键,点击添加批注既可。
内容可以为:
html:<a model="dialog" href="$UI/OA/meeting/process/statisticalsAnalysis/staticActivityw.w?param1=$param1&process='/OA/meeting/process/statisticalAnalysis/statisticalsAnalysisProcess'&activity='staticActivityw'" title="详情" />
如果为多个参数,则为:
staticActivity1.w?
A1=$A1&A2=$A2&
此列必须显示,即传参的是必须是report中的,如果不需要显示可以设置列宽为0,把字体设置为白色
28 每天第一次登录抛出bug
在长时间没有访问tomcat后,数据库连接已经失效,连接池因为没有检测,所以认为连接有效,导致连接出错。避免这种错误的方法是设置连接有效查询sql语句。设置后,连接池会使用该sql语句测试连接是否有效,如果无效,会重新建立连接。
设置方法为:在%JUSTEP_HOME%\apache-tomcat\conf\context.xml中的节点中增加属性validationQuery
mysql数据库:
<
Resource
name
=
"jdbc/cloud"
type
=
"javax.sql.DataSource"
maxActive
=
"100"
maxIdle
=
"30"
driverClassName
=
"com.mysql.jdbc.Driver"
url
=
"jdbc:mysql://127.0.0.1:3306/cloud"
username
=
"root"
password
=
"x5"
validationQuery
=
"select 1"
/>
29 查看用户在线数
http://IP:端口/x5/UI2/SA/online/mainActivity.w
30 设置失效时间
1、BusinessServer的session设置
\runtime\BusinessServer\WEB-INF\web.xml
<session-config>
<session-timeout>30</session-timeout>
</session-config>
31 linux下部署问题
1 启动mysql出现: mysqld: error while loading shared librarieshttp://mp.blog.csdn.net/postedit/78031359: libaio.so.1: cannot open shared object file: No such file or directory
解决方法:apt-get install libaio1 libaio-dev
2 mysql出现 Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
添加系统mysql组和mysql用户:
执行命令:groupadd mysql和useradd -r -g mysql mysql
之后
chown -R mysql:mysql ./startMySQL.sh
chown -R mysql:mysql ./mysql
之后切换mysql : su mysql 启动即可。
对于mysql的服务关闭,切换到mysql用户,之后去mysql/bin/下shutdown.sh,即可。
3 对于bex5的启动,去tomcat目录下,即/apache-tomcat/bin/下进行启动和停止即可。
4 证书申请流程
如果不是集群,则linux部署,只需BeX5_V3.7-ent-linux.tar.gz,不需要license-server_V3.7-linux.tar.gz(集群时证书)。
5 对于库表的统计,只按BIZ下面的进行统计,对于实际数据库的多少不算。
6 对于左侧导航栏有重复的现在,可以先恢复到初始的portal,它是不重复。 之后慢慢修改发现其中的变化。
7 BIZ和UI2下一直不生效,方法1,把windows下生效的BIZ和UI2都移过去。方法2,对于BIZ下的system等的修改,直接找到对应的class文件,直接删除,即可。 其他的修改Bex5解压下 conf文件中,server.xml中版本号。
8 lsc与mysql数据同步,lsc中必须使用root@%账号。中间可能产生乱码(由mysql中的存储函数 未指定编码方式导致的)。
需要:自己安装的Mysql下的/etc/my.cnf中,添加
character-set-server = utf8 //设置服务器用utf-8
init_connect='SET NAMES utf8' //都采用UTF-8编码
9 模块权限设置
在UI2中config目录XXX.function.xml中,
可以设置无、solid、hide。其中,无为设置了权限才可以查看。设置solid不分配权限既可查看,但运行可能会提示没有权限。
设置hide分配功能权限也不显示,但是有权限运行,如流程。
10 左侧导航栏重复
目前好像是portal->pc3->index.w文件中,由于注释掉137-142行,导致的
<ul class="sidebar-menu">
<li class="active">
<a class="x-portal-showMain">
<i class="x-functree-icon icon-home"/>
<span class="title">主页</span>
</a>
</li>
</ul>
11 测试环境向正式环境复制,特别是文档图片的复制,需要把data下doc下所有文件(除conf外,但我实际上都复制了),都复制到正式环境,同时把 x5doc和x5sys下有关的都复制到正式环境。
如果修改端口了,需要把 数据库x5sys下sa_docnamespace下的sUrl的http://localhost:8080/DocServer,改为:
http://localhost:8081/DocServer,sPort中8080修改为8081(实际上8080也正常显示)。
由于我把x5doc中某些数据删除了,导致移动到正式环境的图片不能显示,所以,慎重删除数据。
12 修改路由 localhost:8080/x5/ 为 localhost:8080/boardroom
需要修改的地方为:
- (1)、需要修改apache-tomcat\webapps\ROOT\index.html中的x5
- (2)、修改apache-tomcat\conf\Catalina\localhost中x5.xml这个文件名
- (3)、model同级的conf\server.xml中的配置地址
32 using password:yes
我在使用mysql批处理启动数据库之后,连接数据报 access denied for user 'rooot' @'localhost'(using password:yes)这个错误,这是因为什么?、
可能本地有mysql服务器在启动,需要关闭本地mysql服务器才可以。
http://docs.wex5.com/wex5-server-question-list-2004/
BeX5使用疑难总结相关推荐
- 【python语言基础】疑难点整理2
[python语言基础]疑难点整理1 第五章 在python语法中,循环体中的语句没有做限制,因此,可以是任何合法语句,当然也可以是循环语句.这样就形成了循环语句的嵌套. while循环语句和for循 ...
- [WPF疑难]避免窗口最大化时遮盖任务栏
[WPF疑难]避免窗口最大化时遮盖任务栏 周银辉 WPF窗口最大化时有个很不好的现象是:如果窗口的WindowStyle被直接或间接地设置为None后(比如很多情况下你会覆盖默认的窗体样式,即不采用W ...
- 《IP路由协议疑难解析》一1.3 动态路由
本节书摘来自异步社区<IP路由协议疑难解析>一书中的第1章,第1.3节,作者 [美]Zaheer Aziz, CCIE #4127 , Johnson Liu, CCIE #2637 , ...
- 《Oracle SQL疑难解析》——1.6 批量地从一个表中复制数据到另一个表
本节书摘来自异步社区出版社<Oracle SQL疑难解析>一书中的第1章,第1.6节,作者: [美]Grant Allen , Bob Bryla , Darl Kuhn,更多章节内容可以 ...
- BeX5报表开发中Excel格式修改的一个小问题
问题 简单说一下吧.编程时有些问题看起来很简单,但想与做往往就是两回事.计算机编程正是具有这个特点. 目前在修改基于BeX5 3.6的报表格式.使用的自然是report组件,切换到报表设计状态后,使用 ...
- RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决)
RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) 参考文章: (1)RabbitMQ学习笔记四:RabbitMQ命令(附疑难问题解决) (2)https://www.cnblogs. ...
- [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口
原文:[WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口 [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口 周银辉 现象: 大家可以试试下面这个很有趣但会带来Defect的现象:当我 ...
- Robotium中定位Android客户端疑难元素
对于没有id,没有text,只有一个图标的疑难元素(ImageView),应该如何定位呢?拿人人网个人主页的设置按钮举例: 我最终是通过定位页面上可以定位到的其他元素,然后通过其他元素与疑难元素相对坐 ...
- Windows XP SP2疑难速解50问
一.SP2的十大亮点 要想系统地了解Windows XP SP2可能会引起的问题,并快速诊断问题的原因所在,应先对Windows XP SP2的新功能有个基本的了解,这就是Windows XP S ...
- [WPF疑难]ErrorTemplate显示与隐藏问题
[WPF疑难]ErrorTemplate显示与隐藏问题 周银辉 1,问题描述: 在为Binding提供验证模板时,我们需要 ...
最新文章
- boost::vf2_subgraph_iso用法的测试程序
- 程序员应该多逛的几个技术网站
- CLR线程概览(一)
- Git安装及密钥的生成并上传本地文件到GitHub上
- 21 WBS元素报错-会计科目xxxxxx不能使用(请更正)
- readline/readline.h: No such file or directory
- matlab里的deploy,MATLAB deploytool simulink未定义函数'load_system'
- libevent使用一 libevent导入项目
- 在线JS编辑器,可运行保存简单JS代码(已开源)
- Linux系统下安装redis
- 基础算法(一)零基础学算法---总结大篇
- 如何在 Python 中构建跨平台桌面应用程序
- 激励帖 冲呀 dreamer
- 特种光纤所需学习知识(光纤光学)
- Unity3D中角色撞击物体弹出提示框或显示对象效果
- 少儿编程Scratch学习教程2--官方初学指南
- 记录一下Vue中的created函数所踩到的坑(回调函数不立即生效)
- 活用Koomail的IMAP协议功能同步Gmail邮件
- redhat rhel 6.0 下载以及制作U盘安装盘
- 十大算法之弗洛伊德算法