Javascript Alfresco:编写工作流脚本以复制同一文件夹中的文档,并使用新文档继续工作流

Javascript Alfresco:编写工作流脚本以复制同一文件夹中的文档,并使用新文档继续工作流,javascript,java,workflow,alfresco,document-management,Javascript,Java,Workflow,Alfresco,Document Management,对于我的一个工作流,我希望能够在“开始”任务中选择文档。然后,我想执行一个脚本,将此文档复制到同一文件夹中,并使用新文档继续工作流(如果可能的话)。我没有太多的java经验,但我正在努力实现以下目标: <script> var path = bpm_package.children[0].displayPath; var newdoc = bpm_package.children[0].copy(path); newdoc.save();

对于我的一个工作流,我希望能够在“开始”任务中选择文档。然后,我想执行一个脚本,将此文档复制到同一文件夹中,并使用新文档继续工作流(如果可能的话)。我没有太多的java经验,但我正在努力实现以下目标:

<script>
      var path = bpm_package.children[0].displayPath;
      var newdoc = bpm_package.children[0].copy(path);
      newdoc.save();
      bpm_package = newdoc;
</script>

var path=bpm_包。子项[0]。显示路径;
var newdoc=bpm_package.children[0]。复制(路径);
newdoc.save();
bpm_package=newdoc;
任何帮助都将不胜感激


Marcus

基本上,复制函数中的参数是父节点的对象,而不是父节点的路径

下面的代码将完成这项工作

bpm_package.children[0].copy(bpm_package.children[0].parent);
之后不需要调用save或任何其他函数。基本上这是alfresco的javascript api。 您可以查看下面的链接了解更多详细信息


复制函数中的参数基本上是父节点的对象,而不是父节点的路径

下面的代码将完成这项工作

bpm_package.children[0].copy(bpm_package.children[0].parent);
之后不需要调用save或任何其他函数。基本上这是alfresco的javascript api。 您可以查看下面的链接了解更多详细信息


感谢Krutik回答了答案的第一部分。我正在添加在工作流中更改文档的解决方案。这是通过在bpm_包属性中添加和删除文档来完成的。整个脚本如下:

var newdoc = bpm_package.children[0].copy(bpm_package.children[0].parent);
bpm_package.removeNode(bpm_package.children[0]);
bpm_package.addNode(newdoc);

感谢Krutik回答了答案的第一部分。我正在添加在工作流中更改文档的解决方案。这是通过在bpm_包属性中添加和删除文档来完成的。整个脚本如下:

var newdoc = bpm_package.children[0].copy(bpm_package.children[0].parent);
bpm_package.removeNode(bpm_package.children[0]);
bpm_package.addNode(newdoc);