2017-10-31 2 views
0

저는 restforce를 사용하여 Ruby on Rails에서 salesforce와 상호 작용합니다. 나는이 코드 조각이 :restforce gem은 변경된 attriubtes 만 저장 하시겠습니까?

client = Restforce.new 
acc = client.find("Account", account_ID) 
acc.firstName = "test" 
acc.save 
# if I use update I get the same error 
acc.update 

을하지만 다음과 같은 오류를

[ 
    { 
     "message":"Unable to create/update fields: jigsaw_clean__Sync_Status_Indicator__c, LastModifiedDate, PhotoUrl, IsDeleted, jigsaw_clean__Jigsaw_Managed_Backend__c, jigsaw_clean__Sync_Status_Summary__c, AccPwr1__c, BillingAddress, jigsaw_clean__Duplicate__c, LastActivityDate, jigsaw_clean__Automatic_Updates__c, JigsawCompanyId, CreatedById, MasterRecordId, LastViewedDate, CreatedDate, LastReferencedDate, jigsaw_clean__Additional_Information__c, jigsaw_clean__Jigsaw_Last_Sync_Locked__c, Cross_Sell_Score__c, jigsaw_clean__Jigsaw_Managed__c, ShippingAddress, LastModifiedById, IANA_Number_field__c. Please check the security settings of this field and verify that it is read/write for your profile or permission set.", 
     "errorCode":"INVALID_FIELD_FOR_INSERT_UPDATE", 
     "fields":[ 
      "jigsaw_clean__Sync_Status_Indicator__c", 
      "jigsaw_clean__Jigsaw_Managed_Backend__c", 
      "jigsaw_clean__Sync_Status_Summary__c", 
      "AccPwr1__c", 
      "BillingAddress", 
      "jigsaw_clean__Duplicate__c", 
      "LastActivityDate", 
      "jigsaw_clean__Automatic_Updates__c", 
      "CreatedById", 
      "MasterRecordId", 
      "jigsaw_clean__Additional_Information__c", 
      "jigsaw_clean__Jigsaw_Last_Sync_Locked__c", 
      "Cross_Sell_Score__c", 
      "jigsaw_clean__Jigsaw_Managed__c", 
      ] 
    } 
] 

및 기타 분야를 얻을.

client = Restforce.new 
acc = client.find("Account", account_ID) 
acc1 = {Id: acc.Id} 
acc1["firstName"] = "test" 
client.update("Account", acc1) 

가 어떻게 더 효율적인 방법으로이 작업을 수행 할 :

나는 내가 좋아하는 뭔가를 할 수있는, 알아?

답변

0

찾을 수있는 유일한 방법은 대신 우리가 업데이트 할 필드가 포함 된 쿼리를 사용하는 것입니다.

client = Restforce.new 
acc1 = client.query("SELECT ID, firstName, LastName FROM Account where ID = '#{account_ID}'").first 
acc1["firstName"] = "test" 
acc1.save 
0

이 필드의 보안 설정을 확인하고 프로필 또는 사용 권한 집합에 대해 읽기/쓰기인지 확인하십시오.

업데이트 할 수있는 권한이 있습니까?

+0

나는 업데이트 할 수있는 권한이 있습니다. 그러나 나는 그 분야를 결코 업데이트하지 않는다. 나는 그들을 업데이트하고 싶지 않다. 변경된 필드 만 업데이트하고 싶습니다. 원하는 필드를 선택하는 쿼리를 사용할 수 있지만 그렇게하지 않는 것이 좋습니다. –