2013-04-16 4 views
1

그래서 다음과 같은 문제가 있습니다 : 레코드 집합과 함께 Foundset을 가지고 있으며, ID없이 모든 값을 포함하여 새로운 위치로 복사하려고합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?어떻게 파일 세트를 복사합니까?

+0

공유하세요 이미 시도한 코드. – lucuma

답변

1

당신이 후속 단계가 필요 foundset의 딥 카피하고 싶은 경우

  1. 이 foundset의 모든 레코드를 통해 retrieveOrCreateFoundset()
  2. 으로 반복을 통해 빈 foundset 만들기를, 즉 새로운 복사한다 하나
  3. rec.value()
  4. 반드시 기록에 각각의 dataProvider의 가치를 rec.dataprovider()
  5. 같은과 dataProviders에서는 얻을 UUID를의 dataProvider는
  6. 변경 사항을 지속
  7. 가 dataProviders에서는 통해 새 레코드에 값을 설정 새로운 기록에 복사 밤은 것을

전체 코드 예제는 다음과 같습니다

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(); 
관련 문제