Skip to main content

平台基础相关问题

51. 旧平台升级新平台本地项目版步骤?

  1. 备份旧平台数据库

    重要,这是作为信息安全的一个重要内容。

  1. 使用VBox打包本地项目版的应用服务器

    img

  2. 连接旧平台的数据库

  1. 如果已经启动了应用服务器(新平台执行系统),请关闭
  1. 私库构件、部署构件、补丁构件

    复制3个旧平台的文件夹:

    \bundle\extensions\packages文件夹

    \bundle\extensions\publish文件夹

    \bundle\patch文件夹

    上面三个文件夹复制到新平台环境下面的 \bundle\patch 这个目录里

    img

  2. 用户配置文件:复制旧平台的userdata文件夹,替换新平台的对应目录

    img

  3. 附件数据库:复制旧平台的mongodb目录中的data文件夹,替换新平台的对应目录

    img

  4. 启动应用服务器

  1. 冗余构件清理

    进入配置中心,把冗余构件清理一下。(如果拷贝的补丁构件太多,拷贝前也可以在旧系统上执行下构件清理)

    设置路径:系统高级配置 → 系统维护 → 系统清理先扫描,再勾选,然后开始清理

img

52. 我的构件中的“权限配置”菜单没有了,怎么办?

问题描述:

在业务构件的最下面,只有“构件服务映射”菜单。

后面的“权限配置”、“定时任务”、“业务流程配置”都没有了。

img

原因:

这是在安装应用设计器时,出了问题,导致没安装完全。

解决方案:

重新把这3个丢失的菜单,安装上就可以了。

在应用设计器中,点击「安装构件」。

img

检索 function,勾选这3个功能构件,添加至安装,然后确定。

img

安装后,这3个菜单,又回来了。

img

53. 列表控件自带的分页模式,显示不正确?

列表控件自带的分页模式的显示,只有一个要求。

就是需要使用「从数据库获取数据到实体」规则,把数据展示到列表上。

在规则执行时,它才会根据加载的数据记录数,计算页码。

img

通过其他方式获取的数据,

例如:通过「实体间复制记录」规则复制来的数据、调用API的返回值等,都是不会计算页码的。

54. 如何清除应用服务器(执行系统)缓存?

在某些情况下,如果需要清除应用服务器的缓存的话,有六步骤:

  1. 关闭应用服务器

  2. 删除cache目录

  3. 删除work\cachedata目录

  4. 删除pages\itop\handlerRecord目录

  5. 删除pages\itop\publishComponent目录

  6. 重启应用服务器

    img

55. 开发平台中的WebApi调试,有超时时间设置吗?

开发平台中的WebApi调试中,没有超时设置。

只有规则「调用WebAPI」才有设置超时时间,默认是3秒。

img

56. 如何设置定时重启服务?

应用服务器,提供了cmd命令。

img

可以使用操作系统的任务计划程序来实现。

img

57. MD5加密用哪个函数实现?

在表达式编辑器中,直接搜索“md5”,就会列出所有使用MD5加密解密的函数。

选择使用——客户端函数和服务端函数。

img

58. 导出窗体列表,能一次导出整个实体的数据吗?

使用规则:导出表格数据到Excel

现在一次只能导出一页,下一页就不能导出。

解决方案:

这个规则,是将表格(列表或树表)数据导出到Excel中。

运行期仅导出列表/树表控件可见的列数据。

也就是说,只导出你能看到的数据,或者说只导出列表里已经加载的数据。

那些未加载的数据,是不会导出的。

59. IE安装超级报表插件?

问题描述:

IE浏览器安装不上报表插件,自动安装或手动安装后,重复提示未安装。

img

解决方案:

重置IE浏览器设置。

img

img

img

第八步:重启电脑。

目前支持的浏览器:Chrome45以下IE8(32位)、IE9、IE10、IE11360安全浏览器--兼容模式不支持的浏览器:Edge

60. 如何获取打印机名称

可以使用窗体规则【获取打印机列表到实体】获取到打印服务器的所有打印机名称。

img

获取云打印服务(C-Lodop)中的打印机列表到实体,以便用户选择指定打印机进行打印、预览、测试等操作;

获取数据到实体前,默认会自动清空目标实体数据;

目前服务返回字段,默认只有一列:printerName(打印机名称)

img

注:打印服务器的端口,需填写8000,也就是云打印服务(C-Lodop)的端口。

61. web版报表,单元格能放图片附件吗?

问题描述:

类似这个图,动态获取的。

img

解决方案:

  1. 先绑定 标识字段 ,再设置函数。
  2. 需要这个函数 T_SETIMAGEFILED() ,将单元格设置为图片类型。

img

注:函数的名称大小写敏感,请使用大写字母。

62. 请问在修改保存后,每次都会出现这个sql的组件缺失,如何修复?

问题描述:

img

解决方案:

(1)原因:SQLServerCE 没安装。 已提供在附件中。

(2)注意:

img

  • 32位操作系统:安装 SSCERuntime-CHS.msi
  • 64位操作系统:先安装 SSCERuntime-CHS.msi,再安装 SSCERuntime-CHS-x64.msi
  • 下载:SQLServerCE.zip

63. 系统诊断中,请问磁盘空间不足对使用这个平台有什么大的影响吗?

img

mongo 服务,是用来保存上传的附件。

如果 mongo 的磁盘空间不足,那你上传的附件,就没有空间保存啦。

64. 苹果手机下载APP打开都闪退是什么情况,安卓没事,版本ios13.4.1?

移动端,是2020年5月份对ios13.4.1版本兼容性问题,进行了处理。

可以查看一下您的APP是什么时候打包的。

如果是5月份之前的话,就需要重新打包一个APP。

65. 如何对实体的某一个字段进行快速求和?

可以使用表达式函数TotalColumn。

计算指定实体的字段的汇总值并返回。

代码示例:

界面实体:TotalColumn("EntityName","ColumnName")

活动集实体:TotalColumn("BR_VAR_PARENT.EntityName","ColumnName"),返回值为实体的 ColumnName 字段的汇总值。

参数1--实体名称。界面实体为字符串类型,其他变量实体需要加上变量的前缀

参数2--字段名(字符串类型);

返回值类型:与参数二所选字段的类型一致。

66. win10系统,开发系统导入构件闪烁,选择本地部署的zip闪退?

问题描述:

win10的操作系统。

  1. 导入构件的时候界面闪烁。
  2. 安装构件和引用构件时,选项本地zip时,窗体闪退。

解决方案:

win+R 运行 winver,看看是不是1809的版本。

如果是1809版本的话,那么您需要更新一下Windows了,因为这是微软的版本问题。

img

img

67. 调用第三方的WebAPI后,将返回的json还原到实体(多层)?

第三方的WebAPI,要转成实体数据,正常应该是用2个规则完成:

  1. 调用WebAPI:获取返回值。
  2. 配置数据还原:把返回值的数据还原到实体中。

配置数据还原规则,对json的格式,是有要求的。

例如:

  • 一个元素,一条记录,json格式: {"name":"张三"}
  • 两个元素,一条记录,json格式: {"name":"张三","age":21}
  • 两个元素,两条记录,json格式: {"name":["张三","李四"],"age":[21,23]}

但是,WebAPI的返回值,大部分并非只有一层,会是多层返回,这样的话,我们就需要对多层的返回值进行处理,一层一层剥离,直到我们需要的元素为止。

例如下图,返回值一共有三层,我们需要的元素在第三层。那么,就需要还原3次。

  • 第一次还原:获取forecasts的元素值。
  • 第二次还原:获取casts的元素值。
  • 第三次还原:获取我们需要的元素值。

img

附件有窗体示例,可供参考。

下载:三层配置数据还原.zip

68. 调用第三方的WebAPI后,将返回的json还原到实体?

第三方的WebAPI,要转成实体数据,正常应该是用2个规则完成:

  1. 调用WebAPI:获取返回值。
  2. 配置数据还原:把返回值的数据还原到实体中。

配置数据还原规则,对json的格式,是有要求的:

例如:

  • 一个元素,一条记录,json格式: {"name":"张三"}
  • 两个元素,一条记录,json格式: {"name":"张三","age":21}
  • 两个元素,两条记录,json格式: {"name":["张三","李四"],"age":[21,23]}

附件有构件示例,可供参考。

下载:配置数据还原.zip

69. 控件的背景颜色是不是不能调透明度呀?

问题描述:

这个滚动条,无法调整。

img

解决方案:

是的,不支持调透明度。

70. 为什么日期控件2091年之后的日期选不了?

问题描述:

为什么日期控件2091年之后的日期选不了,都是灰色的,无法选择。

img

解决方案:

到应用设计器上看一下,日期控件的属性:最大日期,设置的对不对。

img

71. v开发平台没有苹果版吗?我用的是苹果电脑,用习惯苹果电脑了?

应用设计器(开发系统)只能在Windows下运行。

所以,只能安装一个Windows的虚拟机,在虚拟机中安装应用设计器。

72. 是不是多选的时候,树形的上移、下移、降级、升级是无效的,不能正常使用??

对,只针对一条记录进行上下升降操作。

73. 导入的数据怎么判断重复了?

先把Excel里的数据,导入到一个临时实体里。

再从这个临时的实体里,复制数据到正式实体里。

这个时候,就可以处理重复。

表间数据复制」、「实体间复制记录」这2个规则,都有处理重复的功能。

img

74. 开发平台中,预览表数据失败?

问题描述:

img

解决方案:

  • 新增配置:为了防止预览大数据量的表,导致系统卡住,加的配置。默认是关闭的,需要去配置中心设置。

  • 设置路径:配置中心 → 系统高级设置 → 系统维护 → 配置管理 → 开发系统查询配置。

    img

75. 窗体关闭后事件的使用?

img

窗体关闭后事件:主要用作赋值操作。

  • 用途:给变量赋值(例如窗体输出变量)
  • 对象:对话框窗口(静态)
  • 场景:被打开的对话框窗口,关闭后需要传值给父窗体,可以在此事件中处理赋值操作。

76. 卸载构件,会把数据库里跟该构件相关的物理表一并删除吗??

物理表是不会删除的,会保留一个表名编号的表。

img

77. 旧版平台的服务,能不能替换JDK版本,替换为1.8应该没问题吧?

解决方案:

请自己找好jre,然后替换执行系统目录里的jre就行了。

img

另外,在文件夹 \jre\lib\security 中,替换里面的2个jar,附件中。这2个jar是负责加密的。

下载:US_export_policy.jarlocal_policy.jar

78. 离线登录平台须知?

离线登录,是平台提供的,在没有访问外网权限时,使用手机扫码登录的功能。

操作步骤:

  1. 输入正确的账号和密码,点击登录按钮。
  2. 在平台检测到本机无网络时,弹出二维码。
  3. 请用手机微信扫描二维码,返回登录验证码。
  4. 输入验证码后,即可登录成功。

注意:

  1. 账号密码,必须要输入正确。
  2. 本机的操作系统时间,必须跟北京时间一致。
  3. 旧版平台,不要连接WIFI,不要插网线(不要在局域网内),因为旧版本平台是使用网卡判断,新版已修复。

img

79. 数字控件在使用键盘录入数据时,按一次会录入两个数字?

问题描述:

在使用整数或小数控件时,录入数据时,按一次会录入两个数字?

img

解决方案:

  • 键盘属性:调整一下重复延迟时长。

    img

  • 输入法:如果只有在英文输入时,才会变回单个输入的话,你就要看看所使用的输入法,是不是微软拼音。

    微软拼音输入法,和平台有冲突,换一个输入法就好了。

80. 平台有没有记录删除数据的日志?

有sql语句日志。

前提是开启打印查询sql日志,因为sql日志默认是关闭的。

如果开启了,就可以在日志里查看操作数据库的日志,例如:update、delete等语句

但是,开启sql打印日志,日志量会增大很多。

建议是在有需要的情况下开启,查完问题后关闭。

设置路径:配置中心 → 系统高级配置 → 数据管理 → 元数据管理。

img

81. 使用【实体树形操作】规则,新增的树表数据,怎么保存之后innerCode字段是null?

可以检查一下,看看保存规则是否没有勾树形实体。

img

82. 在平台中预览表数据时,某字段出现:net.sourceforge.jtds.jdbc.ClobImpl@?

表建立后,修改过字段类型(文本和长文本),

由原来的长文本,改为文本后,原有数据因为字符长度无法显示,就会出现这种情况。

img

83. 表字段Unicode的作用?

在表字段中,有一列“Unicode编码”的设置,它是做什么用的呢?

img

针对不同的数据库,存储的内容也有不同。

我们选的字段类型为文本的时候,数据库建立的字段类型,就有2个选择varchar和nvarchar。

例如:

varchar(10)与nvarchar(10)

前者是非unicode型,存储字符按1个算(内部空间存储占1字节),存储汉字的话按2个算,就是可以存10个字符或者5个汉字。

后者是unicode型,存储什么都是按1个算(内部空间存储占2字节),就是可以存10个字符或10个汉字。

varchar(10)与nvarchar(10)就是分别占10个字节和20个字节。

84. 如何获取汉字的拼音首字母和全拼?

请在构件引用中添加引用:SysMgrComp(后台管理构件)

获取汉字首字母拼音API:SysMgrComp.API_ConvertToFirstSpell(汉字转换为汉语拼音首字母,英文字符不变)

获取汉字全拼API:API_ConvertToPingYin(中文转换成拼音)

img

85. WEB上下文应该如何设置?

进入配置中心,设置WEB服务上下文。

设置路径:配置中心 → 系统高级配置 → 数据管理 → 元数据管理。

img

修改构件标识 “ com.toone.v3.platform-01core ” 配置项 webContext,填入用户值,保存,应用服务器重启后生效。

img

86. 一个系统上,多用户同时打开同一个窗体时,方法变量会不会混淆或重叠??

不同的电脑,不同的浏览器,产生不同的窗体实例,完全不会出现混淆或者重叠之类的情况。

87. 窗体关闭前事件的使用?

img

窗体关闭前事件主要用作数据校验,可以在这个事件中配置取消窗体关闭操作。

  • 用途:数据校验

  • 对象:对话框窗口(静态)

  • 规则:取消窗体关闭

  • 场景:在对话框窗口中填报了一些数据,用户没有点击保存,此时关闭对话框窗口,需要做校验提醒。

    这个场景可以在窗体关闭前事件中检查实体是否有改变,如果有改变则弹出提示,根据用户选择来决定是否关闭窗体。

88. 构件视图和工具箱怎么调出来?

问题描述:

零代码开发系统中,如果,不小心把构件视图,或者工具箱关闭了,怎么办?

怎么把它们调出来呢?

解决方案:

不用担心,有2种方式可以实现。

  1. 重置视图,可以恢复默认状态。

    img

  1. 视图管理,可以设置视图的显示不显示。

    img

    img

89. 移动端手写页面要上传文件用哪个标签? - 零代码开发平台?

零代码开发平台基于H5实现,可同时支持App、微信、钉钉、PC浏览器等终端。

  1. 在自定义div窗体的模板内定义一个button标签。

    img

  1. 给该标签设置id属性。

    img

  1. 在脚本中的mounted方法内调用vdk接口。

    img

90. 打开链接地址规则窗体输入的参数怎样设置?

例如,目标窗体有 2 个窗体输入:

  • 参数一:id,文本类型
  • 参数二:entity,实体类型

img

(一)拼接参数

  1. 实体参数格式,如下
"entity":{  -------------------------------- 实体编码
"metadata":{------------------------------ 固定节点
"model":[{---------------------------- 固定节点
"fields":[{------------------------- 字段节点
"code":"id",---------------------- 字段编码
"type":"char",-------------------- 字段类型
"defaultValue":null--------------- 默认值
},{
"code":"name",
"type":"char",
"defaultValue":null
}]
}]
},
"datas":{------------------------------ 固定节点
"values":[{------------------------- 数据节点
"id":"1",------------------------ 字段编码和值
"name":"A"----------------------- 字段编码和值
},{
"id":"2",
"name":"B"
}],
"recordCount":2 -------------------- 数据条数
}
},
  1. 其他非实体类型的格式:"编码" : "值"

  2. 固定格式:{"data":{"inputParam":{"variable":{}}}}

    上例的参数格式放在 variable 节点下,即:

{
"data":{
"inputParam":{
"variable":{
"id":"aaaaaa",
"entity":{
"metadata":{
"model":[{
"fields":[{
"code":"id",
"type":"char",
"defaultValue":null
},{
"code":"name",
"type":"char",
"defaultValue":null
}]
}]
},
"datas":{
"values":[{
"id":"1",
"name":"A"
},{
"id":"2",
"name":"B"
}],
"recordCount":2
}
}
}
}
}
}

(二)新建变量

在初始值里填入上一步拼接好的参数值。

img

(三)配置 token 参数

编码的值是上一步定义的变量。

如果勾选了是否 encodeURI 编码,则只需要编码一次:EncodeURIComponent(BR_VAR_PARENT.param)

img

如果没有勾选是否 encodeURI 编码,则需要编码两次:EncodeURIComponent(EncodeURIComponent(BR_VAR_PARENT.param))

img

实体的字段类型说明
文本char
长文本text
小数number
整数integer
布尔boolean
日期date
长日期longDate

91. 银弹谷V平台目前支持哪些数据库?

银弹谷V平台现以完美支持连接主流的SQLServer、Oracle、DB2、MySQL、H2、Postgresql数据库,还有国产数据库DM达梦、GBase南大通用。

  • SQLServer:2008、2010、2012
  • MySQL:5.5、5.6、5.7,5.5以下不支持
  • Oracle:10g、11g、12c

如何设置自己想要的数据库,请参考:配置数据库

img

92. 操作系统由32位更换为64位,执行系统怎么更换? - 零代码开发?

条件:

执行系统的当前版本,必须是2018年1月份之后的。

准备工作:

打包一个64位操作系统的V平台服务器版。

操作步骤:

  1. 把32位操作系统的执行服务关闭,删除目录中的jre文件夹,把新打包的64位操作系统的执行系统目录里的jre文件夹拷贝过来。

    img

  2. 修改一个配置文件。此配置是为了之后的系统备份还原。

    img

  3. 设置完成后,启动服务。

93. 自制登录窗体的注意点?

问题描述:

基于vbase的账号信息,我们在自制登录窗体的时候,需要注意哪些地方?

解决方案:

基于vbase的账号信息,自制的登录窗体需要注意:

因为 vbase 里账号的密码,是经过加密处理保存在数据库中的。

所以,在调用 API_AccPwdIdentityAndLogin(API_账号密码校验与登录) 时,需要把界面上输入的密码经过加密处理,才能作为参数传给API,使用表达式函数 MD5Encrypt(),进行加密处理。

94. V平台开发的项目怎样与其他代码开发的项目做兼容?

V平台开发的系统和其他平台开发的系统可以使用 javahttp 协议相互调用。

95. V平台开发的项目,可以脱离V独立运行吗?

V平台开发的项目可在javaweb容器上运行。

支持 windows 和 linux 操作系统,可单独运行,也可以外加与 tomcatapachejbossweblognginx 等结合使用。

96. 通过V平台可以做哪些方面的系统?

问题描述:

通过V平台可以做哪些方面的系统,开发方向主要是什么?

解决方案:

开发方向主要是业务管理系统,ERP等。

如果是V平台不支持的功能或页面,都有二次开发的通道去扩展,来满足不同行业的需求。

97. 企业架构V平台底层设计是什么样的?

企业架构V平台的底层设计是基于 osgijava 模块化开发框架。

98. V平台能做网页开发吗?

零代码开发V平台内有网页窗体,使用的是V平台封装的UI组件库——VUI。

请参考:http://service.yindangu.com:8018/module-operation!executeOperation?componentCode=divusermanual&windowCode=div_userguide

99. 无网络时,如何升级执行系统?

请参考:产品离线升级

100. 一体化版本系统数据存储在什么地方?

一体化版本的数据存储在内嵌的H2数据库中,作为开发期的数据库非常方便,一般是在测试环节使用。

H2 数据库在 ..\Runtime\conf\setting\h2database

img