copy

copy(options)

使用范围: client

编程语言: javascript

父类: Item 类

描述说明

使用 copy 方法创建一个实体项的副本。创建的副本不会被添加到 任务树 中,而且不再需要时,它会被 JavaScript 垃圾处理程序回收。

副本对象的所有属性都是在应用程序启动时加载任务树时被定义的。 请见 工作流

Options parameter further specifies the created copy. It can have the following attributes: Options 参数进一步指定了创建的副本,它可以有下列属性:

  • handlers - 如果这个属性的值是 true , 那么,在应用程序构建器的表单窗体对话框中对实体项做的所有设置 和在实体项客户端模块中定义的所有函数和事件也可以在副本里生效和使用。 其默认值是 true

  • filters - 如果这个属性的值是 true ,将为副本创建设置的过滤器, 否则,副本没有过滤器。其默认值是 true

  • details -如果这个属性的值是 true , 将为副本创建设置的明细项, 否则,副本没有明细项。 其默认值是 true

示例

演示项目 中,使用下面的代码来异步计算字段值的总和, 其结果显示在 发票(Invoice) 业务表的页脚位置:

function on_filter_applied(item) {
    var copy = item.copy({handlers: false, details: false});
    copy.assign_filters(item);
    copy.open(
        {fields: ['subtotal', 'tax', 'total'],
        funcs: {subtotal: 'sum', tax: 'sum', total: 'sum'}},
        function() {
            var footer = item.view_form.find('.dbtable.' + item.item_name + ' tfoot');
            copy.each_field(function(f) {
                footer.find('div.' + f.field_name)
                    .css('text-align', 'right')
                    .css('color', 'black')
                    .text(f.display_text);
            });
        }
    );
}

另请参见

任务树

工作流