Как создать связь между лидами и пользовательскими модулями в SugarCRM CE?
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), но не работает, когда я пробую его с помощью пользовательских модулей.
В этом случае geral_pessoa_juridica
модуль является пользовательским, гераль - это пакет, а 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. Я не могу переустановить его, потому что он на производстве.
Есть идеи как это исправить?
2 ответа
Решено, или вроде.
$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
}
В строке 5 есть ошибка:
'module1' => 'geral_pessoa_juridica', 'module1_id', $pj_id,
вместо этого должно быть:
'module1' => 'geral_pessoa_juridica', 'module1_id' => $pj_id,