Javascript 如何复制foundset?

Javascript 如何复制foundset?,javascript,appconkit,Javascript,Appconkit,因此,我有以下问题: 我有一个包含大量记录的Foundset,我想(深入)将它们复制到一个新位置,包括所有值,但不包括ID。执行此操作的最佳方法是什么?如果要对foundset进行深度复制,需要执行以下步骤: 在retrieveOrCreateFoundset()上创建一个空的foundset 迭代foundset的所有记录,这些记录应复制到新记录 使用类似于rec.dataprovider() 获取记录上每个数据提供程序的值rec.value() 确保uuid数据提供程序未复制到新记录 通过数

因此,我有以下问题:
我有一个包含大量记录的Foundset,我想(深入)将它们复制到一个新位置,包括所有值,但不包括ID。执行此操作的最佳方法是什么?

如果要对foundset进行深度复制,需要执行以下步骤:

  • retrieveOrCreateFoundset()上创建一个空的foundset
  • 迭代foundset的所有记录,这些记录应复制到新记录
  • 使用类似于
    rec.dataprovider()
  • 获取记录上每个数据提供程序的值
    rec.value()
  • 确保uuid数据提供程序未复制到新记录
  • 通过数据提供程序将新记录的值设置为
  • 坚持改变
  • 完整的代码示例如下:

    var vMobileController = plugins.iBizClientWebService.mobileController();
    var vFoundset = vMobileController.currentFoundset();
    var vDatabaseManager = vMobileController.dataManager();
    var copyFoundSet = vDatabaseManager.retrieveOrCreateFoundset("<datasource>:<label>");
     for (var index = 0; index < vFoundset.size(); index++) {
         var rec = vFoundset.record(index);
         var loc = copyFoundSet.newRecord();
            var newRecord = copyFoundSet.record(loc);            
            var allDataproviders = rec.dataprovider();
            for(var i=0;i<allDataproviders.length;i++)
            {
                var dataProvider = allDataproviders[i];
                var dataValue = rec.value(dataProvider);
                if(dataProvider != "attribute_id")
                {    
                    newRecord.setValue(dataProvider, dataValue);
    
                }
            }
    }
    
     copyFoundSet.saveData();
    
    var-vMobileController=plugins.iBizClientWebService.mobileController();
    var vFoundset=vMobileController.currentFoundset();
    var vDatabaseManager=vMobileController.dataManager();
    var copyFoundSet=vDatabaseManager.retrieveOrCreateFoundset(“:”);
    对于(var index=0;index对于(var i=0;i如果要对foundset进行深度复制,需要执行以下步骤:

  • retrieveOrCreateFoundset()上创建一个空的foundset
  • 迭代foundset的所有记录,这些记录应复制到新记录
  • 使用类似于
    rec.dataprovider()
  • 获取记录上每个数据提供程序的值
    rec.value()
  • 确保uuid数据提供程序未复制到新记录
  • 通过数据提供程序将新记录的值设置为
  • 坚持改变
  • 完整的代码示例如下:

    var vMobileController = plugins.iBizClientWebService.mobileController();
    var vFoundset = vMobileController.currentFoundset();
    var vDatabaseManager = vMobileController.dataManager();
    var copyFoundSet = vDatabaseManager.retrieveOrCreateFoundset("<datasource>:<label>");
     for (var index = 0; index < vFoundset.size(); index++) {
         var rec = vFoundset.record(index);
         var loc = copyFoundSet.newRecord();
            var newRecord = copyFoundSet.record(loc);            
            var allDataproviders = rec.dataprovider();
            for(var i=0;i<allDataproviders.length;i++)
            {
                var dataProvider = allDataproviders[i];
                var dataValue = rec.value(dataProvider);
                if(dataProvider != "attribute_id")
                {    
                    newRecord.setValue(dataProvider, dataValue);
    
                }
            }
    }
    
     copyFoundSet.saveData();
    
    var-vMobileController=plugins.iBizClientWebService.mobileController();
    var vFoundset=vMobileController.currentFoundset();
    var vDatabaseManager=vMobileController.dataManager();
    var copyFoundSet=vDatabaseManager.retrieveOrCreateFoundset(“:”);
    对于(var index=0;index对于(var i=0;i),请共享您已经尝试过的代码。请共享您已经尝试过的代码。