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

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

保存表新建(不到旧数据)

[复制链接]
yangxin 发表于 2012-3-12 12:04:08 | 显示全部楼层 |阅读模式
本帖最后由 purple 于 2012-3-13 14:04 编辑

如下脚本
我想实现点击按钮的时候将当前表单上的 var tool3=getItemValueAsString("计算1");
值更新到数据库表单id为11de-b640-2d8fbb63-a775-8725ca79875a的表单中的


var tool=getItemValueAsString("物品1");
var tool3=getItemValueAsString("计算1");
var process = getDocumentProcess();     
var formProcess = getFormProcess();
var subform = formProcess.doView("11de-b640-2d8fbb63-a775-8725ca79875a");//表单ID值。可以通过数据库客户端查看那张表的formid字段值就可以。
var doc = process.doNew(subform,getWebUser(),createParamsTable());
var dql = "$formname='用品采购项目  and 品名='"+tool+"'";  
var datas = queryByDQL(dql);                        
var value;
        println("条件满足1");

if(datas.size()>0){
        println("条件满足2");
             for (var iter = datas.iterator(); iter.hasNext();) {     
                        println("循环条件满足");
                var data = iter.next();      
                value = data.getItemValueAsInt("item_物品数量");
        }
        println("修改条件满足");
        data.findItem("item_物品数量").setValue(tool3);
        data.doUpdate(doc);
        println("修改完成");
        }
不报错但是也更新不了
麻烦看一下问题
purple 发表于 2012-3-12 13:40:35 | 显示全部楼层
您好,看到您都添加了打印语句,请问控制台的输出情况是怎样的?没太看明白您的逻辑,用value取得物品数量的值,您并没有用到呀,您要的效果,是当条件满足的时候,更新物品数量的值吗?
 楼主| yangxin 发表于 2012-3-12 14:01:25 | 显示全部楼层
比如我有两个表蛋   表a  和表b
a中3个字段   1 物品名称a  2 物品类别a  3物品数量a
b中4个字段   1 物品名称b  2物品单价b   3物品数量b  4物品总量b(物品数量a+物品数量b  值已获得)
我表单b上有的按钮就是想要点击按钮的时候将
数据库中的表a的  物品名称a=物品名称b的那条数据的  物品数量a的值更新成 物品总量b
 楼主| yangxin 发表于 2012-3-12 14:05:55 | 显示全部楼层
打印语句中输出了  条件满足1
其它都没有输出
 楼主| yangxin 发表于 2012-3-12 14:16:37 | 显示全部楼层
现在我的脚本、

var tool=getItemValueAsString("物品1");
var tool3=getItemValueAsString("计算1");
var process = getDocumentProcess();     
var formProcess = getFormProcess();
var subform = formProcess.doView("11de-b647-c18b2b8d-89ad-a1135b1c4b64");//表单ID值。可以通过数据库客户端查看那张表的formid字段值就可以。
var doc = process.doNew(subform,getWebUser(),createParamsTable());
var sql="select * from  tlk_用品采购项目 where item_品名='"+tool+"'";
var datas = queryBySQL(sql);                     
var value;
        println("条件满足1")

if(datas.size()>0){
        println("条件满足2");
             for (var iter = datas.iterator(); iter.hasNext();) {     
                        println("循环条件满足");
                var data = iter.next();      
                value = data.getItemValueAsInt("item_物品数量");
        }
        println("修改条件满足");
        data.findItem("item_物品数量").setValue(tool3);
        data.doUpdate(doc);
        println("修改完成");
        }
purple 发表于 2012-3-12 14:23:28 | 显示全部楼层
您好,您应该是操作了论坛常见问题当中:能否在“能否在保存的动作执行脚本里,实现更新或新建记录。
”的帖子,如果您只是要执行更新操作,  value = data.getItemValueAsInt("item_物品数量");
等部分语句是可以去掉的。同时请问您的打印语句,全部执行了吗?
purple 发表于 2012-3-13 14:04:11 | 显示全部楼层
本帖最后由 purple 于 2012-3-13 14:06 编辑

跟客户沟通,问题已解决。客户需求:更新其他表单数据,故改用updateByDSName(dsName,sql)函数实现。dsName:数据源名称.sql:修改语句。
wangdan 发表于 2012-4-24 16:46:09 | 显示全部楼层
请贴出方法好吗…
wangdan 发表于 2012-4-24 16:53:20 | 显示全部楼层
需求相同,请贴出方法…
purple 发表于 2012-4-24 16:58:55 | 显示全部楼层
您好,关于使用数据源做增删改查可参考这个贴:http://www.teemlink.com/bbs/view ... 26amp%3Btypeid%3D35有问题我们再沟通。

本版积分规则

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

GMT+8, 2026-8-13 04:05

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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