天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 1704|回复: 10

[已解决] 关于额外导入的数据库,可以用视图前端打开吗?

[复制链接]
网络菜菜 发表于 2025-12-19 16:27:54 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v5.1- F社区免费版
【浏览器类型】:Chrome/其他
【联系方式-QQ】:260217944
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:我在mysql里建了一个系统以外的数据库,下面有四个表单(费用管理);想通过前端的视图,打开查阅;提示出错,请问是哪里设置有问题吗?

点击时的出错图

  1. (function(){

  2.                   var sql = "select * from `mssql`.`费用管理2021`";

  3.                   return sql;

  4. })()
复制代码



1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\\\\\\\"已解决可结帖\\\\\\\"

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
Chain 发表于 2025-12-22 10:05:57 | 显示全部楼层
  1. (function(){
  2.         var sql = "select *,'"+getDomainid()+"' as domainid from `mssql`.`费用管理2021`";
  3.         return sql;
  4. })()
复制代码
Chain 发表于 2025-12-22 15:00:54 | 显示全部楼层

还有,数据库查询要直接配置视图列字段那里的话,你的字段要加别名系统才会显示,例如:姓名,就 姓名 AS item_姓名。系统里面会自动识别item_的字段,列那里字段就写"姓名"就好了。又或者不加item_的话,你可以试试 在姓名前面加 $ ,$姓名的方式试试。
 楼主| 网络菜菜 发表于 2025-12-22 15:22:33 | 显示全部楼层

工程师,修改代码后,是无报错了,但前端返回的结果是没有内容的,但条目又计算有3000多条记录

如下图。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
 楼主| 网络菜菜 发表于 2025-12-22 18:28:02 | 显示全部楼层
Chain 发表于 2025-12-22 15:00
还有,数据库查询要直接配置视图列字段那里的话,你的字段要加别名系统才会显示,例如:姓名,就 姓名 AS ...

工程师,按照这个方法可以列出表内容查询了,但当点排序时会有如下错误提示,请问是要在sql里加入什么命令吗?

Unknown column 'table_orderby.ID' in 'order clause'

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
Chain 发表于 2025-12-23 08:36:51 | 显示全部楼层
网络菜菜 发表于 2025-12-22 18:28
工程师,按照这个方法可以列出表内容查询了,但当点排序时会有如下错误提示,请问是要在sql里加入什么命 ...

报错是找不到这个列,你加上这个列看看
 楼主| 网络菜菜 发表于 2025-12-23 10:03:43 | 显示全部楼层
Chain 发表于 2025-12-23 08:36
报错是找不到这个列,你加上这个列看看

工程师,由于这个数据库的表,是直接导入进来的,原表的ID的是另一个系统的唯一列,但该表单下有不同的发票,发票号又有时为空值,不能设计成主键唯一,请问这样加ID列是要在导入数据库时自递增创建ID主键作为ID列吗?

或者有无可能不创建唯一的ID列都能够排序

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
Chain 发表于 2025-12-24 14:23:08 | 显示全部楼层
网络菜菜 发表于 2025-12-23 10:03
工程师,由于这个数据库的表,是直接导入进来的,原表的ID的是另一个系统的唯一列,但该表单下有不同的发 ...

你可以用你原来的id列也可以做个序号列别名改成id也行
 楼主| 网络菜菜 发表于 2025-12-24 18:09:00 | 显示全部楼层
工程师,谢谢您的指导,那个排序已经可以了,但还有最后一个问题,因为我是用自定义的数据源,可能读取不了登陆用户的部门信息,不知有无什么方法,可以打印输出当前登陆用户的部门信息,因为想通过只允许当前用户查阅本部门的报销单据。

  1.          var dept_value = ""; //部门名称
  2. //          var doc = getCurrentDocument();
  3. //          println(doc);
  4.           var auth = doc.getAuthor()
  5.           println(auth);
  6.           var depts = auth.getDepartments();
  7.           println(depts);
  8.           dept_value = depts.getName();
  9.           println(dept_value);
复制代码


这样会提示
org.mozilla.javascript.EcmaError: ReferenceError: "doc" is not defined. (__Zi3SsFMjlt5NAKc5Y9F).调试.afterActionScript#7)
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3350)
at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3340)
at org.mozilla.javascript.ScriptRuntime.notFoundError(ScriptRuntime.java:3413)
at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java:1612)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为天翎用户

x
Chain 发表于 2025-12-25 15:34:34 | 显示全部楼层
网络菜菜 发表于 2025-12-24 18:09
工程师,谢谢您的指导,那个排序已经可以了,但还有最后一个问题,因为我是用自定义的数据源,可能读取不了 ...


你的数据查询SQL改成关联查询,拿你自己的表里面的用户名称去匹配系统t_user表里面的部门id,再去关联部门表里面name就可以了。你的不是系统的数据,doc是获取不了的,系统doc判断会解析id然后获取文档对象,你的数据id不符合系统规范。所以你只能用联查的方式来匹配部门名称。

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 05:50

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表