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

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

[已解决] 打开页面或刷新时,子表单数据加载不了

[复制链接]
微信用籣y82ir 发表于 2024-6-14 10:02:11 | 显示全部楼层 |阅读模式
本帖最后由 微信用籣y82ir 于 2024-6-14 10:12 编辑

【myApps/OBPM版本号】:v5.1
【浏览器类型】:Chrome/其他
【联系方式-QQ】:请留下您的QQ号码
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:
我在页面中,设计一个主从关系的表单,当打开这个表单后,应该可以自动加载子表单相关的数据
但是刚打开的时候总记录数显示是正确的,但是表格里没有一条数据,添加过滤条件后,数据就可以正确加载出来
如果点刷新按钮,数据又加载不了。
检查过sql是正常的,数据加载不了的时候,前端和后台都没有报异常代码。


录屏:http:// gofile.me/61zdO/0ZRt1fw0e





1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\\\"已解决可结帖\\\"
yaya 发表于 2024-6-17 09:30:10 | 显示全部楼层
具体是怎样的,录屏贴出来看看??
 楼主| 微信用籣y82ir 发表于 2024-6-17 13:58:38 | 显示全部楼层
网站不给上传视频
你打开这个地址看视频:
录屏:http:// gofile.me/61zdO/0ZRt1fw0e
记得出掉中间空格
yaya 发表于 2024-6-18 17:38:07 | 显示全部楼层
微信用籣y82ir 发表于 2024-6-17 13:58
网站不给上传视频
你打开这个地址看视频:
录屏:http:// gofile.me/61zdO/0ZRt1fw0e

子表是怎样设计的,刷新按钮,写了怎样的脚本。贴出来看一下?
 楼主| 微信用籣y82ir 发表于 2024-6-19 08:51:29 | 显示全部楼层
子表视图是用SQL(代码)模式设计:
(function (){
  var domainId = getDomainid();
  var pd = getParentDocument();
  var state = pd.getStateLabel();
  var user = getWebUser();
  if ("运营复核".equals(state))
    sql = getJustMeDataSql(user);
  else
    sql = getAllDataSql();
  println(sql);
  sql = "SELECT TableA.* FROM (" + sql + ") AS TableA";
  return sql;
})()

function getAllDataSql(){
  //获取所有人的数据
  var sql = "SELECT * FROM tlk_ywreq_01_requirement_detail WHERE 1 = 1 ";
  sql += CreateWherePart();
  return sql;
}

function getJustMeDataSql(user){
  //只获取属于当前用户的数据
  var sql = getAllDataSql();
  sql += " AND ITEM_负责人 = '" + user.getName() + "'";
  return sql;
}

function CreateWherePart(){
  var result = "";
  var sku = getItemValueAsString("SKU");
  var skuExtract = getItemValueAsString("仓库SKU");
  var changed = getItemValueAsString("调整情况");
  var storageKind = getItemValueAsString("仓储类型");
  var goodsStatus = getItemValueAsString("平台产品状态");
  if (isNotNull(sku))
    result += " AND ITEM_SKU LIKE '%" + sku + "%' ";
  if (isNotNull(skuExtract))
    result += " AND ITEM_仓库SKU LIKE '%" + skuExtract + "%' ";
  if (isNotNull(storageKind) && "不限".equals(storageKind) == false)
    result += " AND ITEM_仓储类型 = '" + storageKind + "' ";
  if (isNotNull(goodsStatus) && "不限".equals(goodsStatus) == false)
    result += " AND ITEM_平台产品状态 = '" + goodsStatus + "' ";
  //没调整;有调整
  if ("有调整".equals(changed)){
    result += " AND (" +
      "(ITEM_SEA_NUM <> ITEM_运营调整海运数量 AND ITEM_运营调整海运数量 IS NOT NULL) " +
      " OR (ITEM_AIR_NUM <> ITEM_运营调整空运数量 AND ITEM_运营调整空运数量 IS NOT NULL) " +
      " OR (ITEM_SEA_NUM <> ITEM_组长调整海运数量 AND ITEM_组长调整海运数量 IS NOT NULL) " +
      " OR (ITEM_AIR_NUM <> ITEM_组长调整空运数量 AND ITEM_组长调整空运数量 IS NOT NULL) " +
      " OR (ITEM_SEA_NUM <> ITEM_部门负责人调整海运数量 AND ITEM_部门负责人调整海运数量 IS NOT NULL) " +
      " OR (ITEM_AIR_NUM <> ITEM_部门负责人调整空运数量 AND ITEM_部门负责人调整空运数量 IS NOT NULL) " +
      " OR (ITEM_SEA_NUM <> ITEM_总经理调整海运数量 AND ITEM_总经理调整海运数量 IS NOT NULL) " +
      " OR (ITEM_AIR_NUM <> ITEM_总经理调整空运数量 AND ITEM_总经理调整空运数量 IS NOT NULL) " +
      ")";
  } else if ("没调整".equals(changed)){
    result += " AND (" +
      "(ITEM_SEA_NUM = ITEM_运营调整海运数量 OR ITEM_运营调整海运数量 IS NULL) " +
      " AND (ITEM_AIR_NUM = ITEM_运营调整空运数量 OR ITEM_运营调整空运数量 IS NULL) " +
      " AND (ITEM_SEA_NUM = ITEM_组长调整海运数量 OR ITEM_组长调整海运数量 IS NULL) " +
      " AND (ITEM_AIR_NUM = ITEM_组长调整空运数量 OR ITEM_组长调整空运数量 IS NULL) " +
      " AND (ITEM_SEA_NUM = ITEM_部门负责人调整海运数量 OR ITEM_部门负责人调整海运数量 IS NULL) " +
      " AND (ITEM_AIR_NUM = ITEM_部门负责人调整空运数量 OR ITEM_部门负责人调整空运数量 IS NULL) " +
      " AND (ITEM_SEA_NUM = ITEM_总经理调整海运数量 OR ITEM_总经理调整海运数量 IS NULL) " +
      " AND (ITEM_AIR_NUM = ITEM_总经理调整空运数量 OR ITEM_总经理调整空运数量 IS NULL) " +
      ")";
  }
  return result;
}

打印的SQL在DBeaver里执行都有数据,数据量有页面分页器的数值相同,但是视图表格里却没有显示数据。
yaya 发表于 2024-6-19 16:35:57 | 显示全部楼层
微信用籣y82ir 发表于 2024-6-19 08:51
子表视图是用SQL(代码)模式设计:
(function (){
  var domainId = getDomainid();

刷新按钮是载入视图按钮?有没有写什么脚本之类的?
正常情况下打开表单,子表的数据是怎样显示的呢,刷新前刷新后打印出来的sql是怎样的呢?
我这边无法重现您的问题。
 楼主| 微信用籣y82ir 发表于 2024-6-20 14:18:40 | 显示全部楼层
是的,刷新按钮是载入视图按钮,点击后,可以打印出sql:
SELECT * FROM tlk_ywreq_01_requirement_detail WHERE 1 = 1
yaya 发表于 2024-6-21 10:56:41 | 显示全部楼层
本帖最后由 yaya 于 2024-6-21 11:07 编辑
微信用籣y82ir 发表于 2024-6-20 14:18
是的,刷新按钮是载入视图按钮,点击后,可以打印出sql:
SELECT * FROM tlk_ywreq_01_requirement_detail  ...


哪个版本的呢,将子表单独做成一个菜单,打开视图的时候,是否有数据显示。
 楼主| 微信用籣y82ir 发表于 2024-6-21 11:26:24 | 显示全部楼层
5.1的版本
“将子表单独做成一个菜单”这个怎么实现?有没有示例或样例代码?
yaya 发表于 2024-6-21 14:22:34 | 显示全部楼层
微信用籣y82ir 发表于 2024-6-21 11:26
5.1的版本
“将子表单独做成一个菜单”这个怎么实现?有没有示例或样例代码?

子视图创建菜单。

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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