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

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

[已解决] 平台word控件

[复制链接]
上海普兰金融 发表于 2013-11-28 14:39:44 | 显示全部楼层 |阅读模式
本帖最后由 kimi 于 2013-12-2 13:47 编辑

表单里有个字段使用平台word控件 如字段名document,

现在需要扩展一个word控件字段 document_bak,希望在流程走完以后 document_bak会产生一个新的文档,即把document的文件复制一份到document_bak,实际上表单保存了两个一模一样的附件,如何实现?、
 楼主| 上海普兰金融 发表于 2013-11-28 14:41:26 | 显示全部楼层
补充一下,两个字段并不是引用同一个文件,而是不同的文件,文件内容是从另一个文件复制过来
sophie 发表于 2013-11-28 15:05:26 | 显示全部楼层
您好,请再描述一下您的需求,本地咨询一下研发。
 楼主| 上海普兰金融 发表于 2013-11-28 15:09:50 | 显示全部楼层
可以简单说,如何复制一个表单的附件到另外一个表单,表单附件使用平台的word控件做的
kimi 发表于 2013-11-28 15:17:23 | 显示全部楼层
您好:如果是这样,流程走完之后,您在流程处理的动作执行后就脚本,获取word控件A字段的值,使用getItemValueAsString("wordA"),这里得到的是一个word文件的id,然后您根据这个word文件的id找到这个物理文件,然后再进行copy一个新的文件并进行重命名返回一个新的word文件id,这段功能的实现您可以在一个java类中实现,然后平台脚本调用这个java类下面的方法,这样得到新的word文件id后,再把值赋值给wordB字段即可。

平台调用自定义Java类下面的方法可参考帖子:http://www.teemlink.com/bbs/view ... =%D7%D4%B6%A8%D2%E5

您在表单的流程处理动作执行后脚本类似代码为:

  1. var word1=getItemValueAsString("wordA");
  2. //接下来再去调用您java类下面的方法,返回新的word文件id
  3. var rtn1=testWord(word1);//这个是我自己任意起的一个方法名,这里只是告诉你思路
  4. var process=getDocumentProcess();
  5. var doc=getCurrentDocument();
  6. doc.findItem("wordB").setValue(rtn1);
  7. process.doUpdate(doc);
复制代码
 楼主| 上海普兰金融 发表于 2013-12-2 13:45:27 | 显示全部楼层
问题解决了
kimi 发表于 2013-12-2 13:46:38 | 显示全部楼层
恩好的,感谢您的反馈。

本版积分规则

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

GMT+8, 2026-8-13 07:27

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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