2011-06-14 58 views
6
function createPJOpportunityRelationship($pj_id, $op_id) { 
    echo "creating relationship"; 

    $set_relationship_value = array(
     'module1' => 'geral_pessoa_juridica', 'module1_id' => $pj_id, 
     'module2' => 'Opportunities', 'module2_id' => $op_id 
    ); 

    $set_relationship_params = array(
     'session' => $this->ses, 
     'set_relationship_value' => $set_relationship_value 
    ); 

    $set_relationship_result = $this->soap->call('set_relationship', array(
     'session' => $this->ses, 
     'set_relationship_value' => $set_relationship_value)); 

    var_dump($set_relationship_result); 
} 

根據大多數糖教程,這是我用來創建關係的代碼。當我使用2個基本模塊(如Leads/Contacts)時,該代碼正常工作,但當我使用定製模塊進行嘗試時,該代碼失敗。如何在SugarCRM CE中創建潛在客戶和定製模塊之間的關係?

在這種情況下,geral_pessoa_juridica模塊是自定義模塊,geral是包名和pessoa_juridica的名稱。我確定這個名字是正確的,它適用於其他功能。

該函數返回到我這個

5ec9ca75-e09d-e2d8-0c2b-4df7ac377dcf creating relationship array(3) { ["created"]=> int(0) ["failed"]=> int(1) ["deleted"]=> int(0) }

我不知道失敗的原因 - 學習sugarcrm.log,我看到它甚至沒有試圖創建的關係。

我重新模塊化了兩次,嘗試按照我在其他關係中看到的Sugar標準手動創建表,刷新MySQL特權,在Sugar中完成了所有可能的修復。我無法重新安裝它,因爲它在生產中。

關於如何解決它的任何想法?

+0

你有沒有解決過這個問題?謝謝。 – 2011-12-08 14:16:36

+0

是啊xD通過糖代碼大量的犧牲和約5小時的撇脂。 – 2011-12-08 17:43:28

回答

1

解決了,或者有點的。

$set_relationship_params = array(
     'session' => $this->ses, 
     'module_name' => 'custom_module', /* custom module, where the relationship was created, "primary module" */ 
     'module_id' => $custom_id, /* id of site, get from set_entry call */ 
     'link_field_name' => 'module', /* the LINK field type name, from Step 5 */ 
     'related_ids' => array($module_id) /* id of Account you want to relate to */ 
    ); 

    print_r($result = $this->soap->call('set_relationship',$set_relationship_params)); //nuSoap 
} 
+0

我發現module_name必須是大寫字母,但link_field_name必須是小寫字母......並且對於link_field_name,您需要模塊的名稱......例如「contacts」 – blak3r 2013-12-30 01:44:53

2

有第5行的錯誤:

'module1' => 'geral_pessoa_juridica', 'module1_id', $pj_id, 

應改爲:

'module1' => 'geral_pessoa_juridica', 'module1_id' => $pj_id, 
+0

是的,這是我的一個錯字,代碼在另一個主機上,所以我無法通過SSH按Ctrl + cv,所以我輸入它xD感謝tho ^^仍然無法正常工作。 – 2011-06-24 17:28:06

相關問題