起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1868|回复: 9

[结贴] 数据建模默认值和流程的UI设计器中的关的问题

[复制链接]

13

主题

60

帖子

143

积分

初级会员

Rank: 2

积分
143
发表于 2013-1-23 12:41:15 | 显示全部楼层 |阅读模式
一、这是数据建模中。我想把合计的默认值设置为数量*单价,这里应该如何写呀。
QQ截图20130123123419.jpg
二、这里的物数描述和物料信息我想调用外部数据库的。做成智能提醒的方式。
在这里有两个问题。
1、数据源怎么设置呀。在业务模块里我用的是内部数据源,但是这里要调用外部数据,应该如何设置数据源。
2、这个功能用哪个组件合适,或者实现方法。
QQ截图20130123123316.jpg

三、最后我想在最下面添加一条总计的行。也就是这张申请单的所有行的合计的总和。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35945
发表于 2013-1-23 14:06:44 | 显示全部楼层
1.平台提供的取关系中默认值的方法需要用到ID,当前数据这是ID应该没有,两个值默认都是0吧,可以设置默认值为0,可以通过前段data的valueChange事件判断计算值写,
可以参考
  1. // 计算金额
  2. mainActivity.calfMONEY = function () {
  3.         // 实际金额所在的grid的id
  4.         var subGrid = xforms('gridDEMO_OrderDetail').grid;
  5.         var index = subGrid.getIndex();
  6.         var rowid = subGrid.getSelectedId();
  7.         var fUnitprice = subGrid.getValueById(rowid, "fUnitprice");
  8.         var fQuantity = subGrid.getValueById(rowid, "fQuantity");
  9.         if (subGrid.getValueById(rowid, "fDisCount") > 0) {
  10.                 var fDisCount = subGrid.getValueById(rowid, "fDisCount");
  11.                 var fFactAmt = parseFloat(fUnitprice) * parseInt(fQuantity)
  12.                                 * parseFloat(fDisCount);
  13.                 subGrid.setValueByName("fFactAmt", fFactAmt, index);
  14.         } else {
  15.                 if (fQuantity > 0) {
  16.                         var fFactAmt = parseFloat(fUnitprice) * parseInt(fQuantity);
  17.                         subGrid.setValueByName("fFactAmt", fFactAmt, index);
  18.                 }
  19.                 else {
  20.                         var fFactAmt = parseFloat(fUnitprice);
  21.                         subGrid.setValueByName("fFactAmt", fFactAmt, index);
  22.                 }
  23.         }
  24.         mainActivity.totalAmt();
  25. };

  26. mainActivity.totalAmt = function () {
  27.         var gridInstance = xforms('gridDEMO_OrderDetail').grid;
  28.         if (gridInstance.instance.getLength() > 0) {
  29.                 var sum = 0;
  30.                 for (var i = 0; i < gridInstance.instance.getLength(); i++) {
  31.                          if(gridInstance.getValueByName("fFactAmt", i)>0){
  32. //                                 sum =++;
  33. //                                 alert(sum);
  34.                                  sum += parseFloat(gridInstance.getValueByName("fFactAmt", i));
  35.                          }       
  36.                 }
  37.                 var data = justep.xbl('dataDEMO_Order');
  38.                 data.setValue('fTolotalAmt', sum);
  39.                 // commonUtils.setValueToInstance('dataDEMO_Order','fTolotalAmt',sum);
  40.         }
  41. };

  42. mainActivity.valueChange = function (event) {
  43.         if (event.column != 'fProductCode'
  44.                         && event.column != 'fProductName') {
  45.                 mainActivity.calfMONEY();
  46.         }
  47. };
复制代码
2.如果没有通过配置数据源,可以用java中JDBC的方法查询数据

3.可以参考平台的订单案例/UI/demo/misc/process/order/mainActivity.w
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

13

主题

60

帖子

143

积分

初级会员

Rank: 2

积分
143
 楼主| 发表于 2013-1-23 16:07:48 | 显示全部楼层
合计数已经弄成了。但是有个问题。
因为在提交申请的时候表单的ref是一个bizData
如果用data.setValue('fTolotalAmt', sum);提示不存在的方法。
于是我用input,ID是iptFKJE
var data = justep.xbl('iptFKJE');
data.setValue(sum);
这样的话就可以了。
但是提交流转之后存不到数据库里。
也就是下一个节点的人打开之后,总计这个数还是空的。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35945
发表于 2013-1-23 16:30:14 | 显示全部楼层
data.setValue('fTolotalAmt', sum);提示不存在的方法。
在什么方法中写的?
具体的提示信息发一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

13

主题

60

帖子

143

积分

初级会员

Rank: 2

积分
143
 楼主| 发表于 2013-1-23 16:49:31 | 显示全部楼层
写上了。呵呵
还有个问题。我想在grid中列的type做用select这个的实例有么??可不可以说说是哪个。
回复 支持 反对

使用道具 举报

13

主题

60

帖子

143

积分

初级会员

Rank: 2

积分
143
 楼主| 发表于 2013-1-23 16:51:16 | 显示全部楼层
在哪里有各个组件的使用方法或实例呀。怎么样找呀。要不碰到一个问一个,都不好意思了。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35945
发表于 2013-1-23 16:51:58 | 显示全部楼层
参考/UI/demo/misc/process/order/mainActivity.w产品名称
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

13

主题

60

帖子

143

积分

初级会员

Rank: 2

积分
143
 楼主| 发表于 2013-1-23 17:51:10 | 显示全部楼层
不同的业务模块可不可以共享在ontology下订议的概念呀
这样的。我有两个业务模块。report 和shenQingLiuCheng
report的数据源是新订意的外部数据库
shenQingLiuCheng的数据源是内部的。
我在report中的ontology下建了几个概念。是从外部数据库映射过来的。
现在在shenQingLiuCheng的业务模块中想要使用report中的物料信息的概念。
但是在UI的w文件中的bizdata选择concept属性的时候不让选择,只能选择本业务模块下的。
我在建概念的时候选的是全局的呀。
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2013-1-23 18:14:57 | 显示全部楼层
模块A引用模块B,两种常见情况

1、ksql里面需要join其它模块下的概念,在data目录中include其它模块的data目录
2、引用其它模块下的action,在process目录中use其它模块的logic/action目录
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

13

主题

60

帖子

143

积分

初级会员

Rank: 2

积分
143
 楼主| 发表于 2013-1-25 10:33:12 | 显示全部楼层
哈哈。搞定了。谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-21 20:12 , Processed in 0.086725 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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