我正在尝试在 VTiger 6 中实现联系人和服务合同之间的 1:m 关系。我们将使用这种关系来跟踪我们系统的用户。每个联系人一次只能链接到 1 个服务合同 (1:m)。
通过使用以下代码,我能够获得此工作的 ServiceContract 方面:
require_once 'vtlib/Vtiger/Module.php';
$scmodule=Vtiger_Module::getInstance('ServiceContracts');
$scmodule->setRelatedList(Vtiger_Module::getInstance('Contacts'), 'Users',Array('SELECT'),'get_related_list');
这在服务合同的右侧添加了一个标题为“用户”的选项卡,带有一个选择按钮,允许我们从列表中添加/删除联系人。
但是,我们还希望在“联系人”页面上有一个字段,显示他们链接到的服务合同。
更新:我使用以下代码将单个服务合同字段添加到联系人:
`
include_once('vtlib/Vtiger/Module.php');
$module = Vtiger_Module::getInstance('Contacts');
$blockInstance = Vtiger_Block::getInstance('LBL_CONTACT_INFORMATION', $module);
$fieldInstance = new Vtiger_Field();
$fieldInstance->name = 'SelectYourAccount';
$fieldInstance->label = 'Account';
$fieldInstance->uitype = 10;
$fieldInstance->typeofdata = 'V~O';
$blockInstance->addField($fieldInstance);
$fieldInstance->setRelatedModules(Array('ServiceContracts'));`
上面的代码运行良好,我在联系方式中有一个 Account 字段,我可以链接到单个服务合同;但是,当我为联系人选择服务合同,然后转到服务合同上的用户列表时,未列出该联系人。
任何帮助将不胜感激!