2012-08-09 64 views
0

我有以下代碼:SugarCRM的REST更新高炮關係聯繫人和帳戶的JavaScript

$.get(CurrentServerAddress + '/service/v2/rest.php', { 

      method: "set_relationship", 
      input_type: "JSON", 
      response_type: "JSON", 
      rest_data: '{"session":"' + SugarSessionId + '","module_name":"Contacts","module_id":"' + CurrentContactId + '","link_field_name":"accounts","related_ids":["'+ CurrentAccountId +'"]}' 
     }, function(data) { 
      if (data !== undefined) { 
       var addAccountResult = jQuery.parseJSON(data); 
    } 
}); 

聯繫人和公司合作得非常好之間的關係。我現在想分配一個新的公司給聯繫人。我不知道怎麼做。

回答

0

由於聯繫人和帳戶之間的關係被定義爲多對多而非一對多,如果您只需要一個聯繫人和帳戶之間的一個鏈接,您應該在第一步中刪除當前關係,並在之後添加新的關係

類似的東西:

// Delete previous relation 
$.get(CurrentServerAddress + '/service/v2/rest.php', { 
    method: "set_relationship", 
    input_type: "JSON", 
    response_type: "JSON", 
    rest_data: '{"session":"' + SugarSessionId + '","module_name":"Contacts","module_id":"' + CurrentContactId + '","link_field_name":"accounts","related_ids":["'+ OldAccountId +'"],"name_value_list":[],"deleted":"1"}' 
    }, function(data) { 
    if (data !== undefined) { 
     var addAccountResult = jQuery.parseJSON(data); 
    } 
}); 

// Add previous relation 
$.get(CurrentServerAddress + '/service/v2/rest.php', { 
    method: "set_relationship", 
    input_type: "JSON", 
    response_type: "JSON", 
    rest_data: '{"session":"' + SugarSessionId + '","module_name":"Contacts","module_id":"' + CurrentContactId + '","link_field_name":"accounts","related_ids":["'+ NeAccountId +'"],"name_value_list":[],"deleted":"1"}' 
    }, function(data) { 
    if (data !== undefined) { 
     var addAccountResult = jQuery.parseJSON(data); 
    } 
}); 
+0

你的意思是「刪除」:「0」在/ /添加上一個關係。還有一個問題:我如何得到[「'+ OldAccountId +'」]? – Miky 2012-08-10 06:26:23

+0

是在添加部分是刪除:0。對於表示您的修改前的聯繫人條目中的currant account_id字段的OldAccountId – 2012-08-30 05:42:35

+0

謝謝你的工作。其實CurrentAccountId是NewAccountId – Miky 2012-10-04 06:30:16

0

這應該工作...

$.get(CurrentServerAddress + '/service/v2/rest.php', { 
     method: "set_relationship", 
     input_type: "JSON", 
     response_type: "JSON", 
     rest_data: '{"session":"' + SugarSessionId + '","module_name":"Accounts","module_id":"' + CurrentAccountId + '","link_field_name":"contacts","related_ids":["'+ CurrentContactId +'"]}' 
    }, function(data) { 
     if (data !== undefined) { 
      var addAccountResult = jQuery.parseJSON(data); 
} 

});

+0

這非常適用於創造,但沒有進行更新。我在聯繫人列表中獲得兩個條目,一個具有舊值和新值的條目。在數據庫中有兩個條目。 – Miky 2012-08-09 13:28:15