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

在视图的新建按钮的动作后脚本中赋值给此表单中某字段

[复制链接]
jianjia 发表于 2012-11-14 15:39:42 | 显示全部楼层 |阅读模式
本帖最后由 spiral 于 2012-11-15 10:54 编辑

在视图的新建按钮的动作后脚本中赋值给此表单中某字段,可以吗?代码怎么写?
bess 发表于 2012-11-14 15:41:21 | 显示全部楼层
您好,可以的,具体您可以参考帖子:http://www.teemlink.com/bbs/view ... ;highlight=doUpdate
回复

使用道具 举报

 楼主| jianjia 发表于 2012-11-14 16:19:50 | 显示全部楼层
回复 2# bess
视图的新建按钮的动作后脚本中的代码如下,结果出现错误。
var doca = getRelateDocument();
var date= doca.getItemValueAsDate("工作日期");
if(date!=null && date!= "" )
{
  var cdoc = getCurrentDocument();
  var pr = getDocProcess(getApplication());
  cdoc.findItem("工作日期").setValue("date");
  pr.doUpdate(cdoc);
}
回复

使用道具 举报

bess 发表于 2012-11-14 16:22:20 | 显示全部楼层
????您这里获取关联文档对象,请问您具体是什么需求?
回复

使用道具 举报

 楼主| jianjia 发表于 2012-11-14 16:29:53 | 显示全部楼层
回复 4# bess
字段“今日工作”和字段“明日计划”是不同的视图,但表单是同一个。


今日工作:新建时,在表单中字段“工作日期”的代码是:
var doca = getRelateDocument();
var date= doca.getItemValueAsDate("工作日期");
var doc = getCurrentDocument();
var  rtn = doc.getItemValueAsDate("工作日期");
if(date!=null && date!= ""&&(rtn==null || rtn== ""))
{
    rtn = date;
}
rtn;
明日计划:新建时,在表单中字段“工作日期”的代码是:
var doca = getRelateDocument();
var date= doca.getItemValueAsDate("工作日期");
var doc = getCurrentDocument();
var  rtn = doc.getItemValueAsDate("工作日期");
if(date!=null && date!= "" &&(rtn==null || rtn== ""))
{
    rtn = adjustDay(date,1);
}
rtn;
这种情况应该怎么解决?

本帖子中包含更多资源

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

×
回复

使用道具 举报

spiral 发表于 2012-11-14 16:50:30 | 显示全部楼层
我同事给的例子已经有说明白了,您可以通过以下脚本去给新建表单的控件赋值
doc.findItem("XXXX").setValue("XXX");

根据您的需求这个包含元素应该是父子关系,您应该通过getParentDocument(),而不是getRelateDocument()
回复

使用道具 举报

 楼主| jianjia 发表于 2012-11-14 17:00:51 | 显示全部楼层
回复 6# spiral
    视图的新建按钮的动作执行后脚本中的代码如下,结果出现错误。
var doca = getParentDocument();
var date= doca.getItemValueAsDate("工作日期");
if(date!=null && date!= "" )
{
  var cdoc = getCurrentDocument();
  var pr = getDocProcess(getApplication());
  cdoc.findItem("工作日期").setValue("date");
  pr.doUpdate(cdoc);
}

本帖子中包含更多资源

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

×
回复

使用道具 举报

 楼主| jianjia 发表于 2012-11-14 17:11:17 | 显示全部楼层
回复 7# jianjia


    包含元素不是父子关系,工作日期为2012-11-13的表单的明日计划数据会是工作日期为2012-11-14的表单的今日工作记录。
回复

使用道具 举报

spiral 发表于 2012-11-14 17:52:58 | 显示全部楼层
既然是不是父子关系的话,就用您本来的写法getRelateDocument()就可以了

pr.doUpdate(cdoc);是根据文档对象去更新数据库,而您只是新建,所以这一句是不需要的

大致脚本如下:
var doca = getRelateDocument();
var date= doca.getItemValueAsDate("工作日期");
if(date!=null && date!= "" )
{
  var cdoc = getCurrentDocument();
  cdoc.findItem("工作日期").setValue("date");
}
回复

使用道具 举报

spiral 发表于 2012-11-15 10:53:20 | 显示全部楼层
本帖最后由 spiral 于 2012-11-15 11:36 编辑

客户反馈使用了另外一种解决方案解决问题,具体是在包含元素里面的表单增加一个字段,再用if来写代码
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-8-14 14:45

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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