我使用套件crm 7.7.5
当我创建机会并从关联字段中选择一个帐户时,我想要一个字段(国家/地区)自动填充所选帐户所在国家/地区的值。
为此,我试图添加代码
$dictionary['Opportunity']['fields']['country_c']['populate_list']= array('id','name','country_c');
$dictionary['Opportunity']['fields']['country_c']['field_list'] = array('account_id_c','account_name','country_c');
文件\ custom \ Extension \ modules \ Opportunities \ Ext \ Vardefs \ sugarfield_country_c.php
知道country_c是表格帐户中列国家/地区的名称,第二个country_c是布局机会中字段国家/地区的ID
但这不起作用,有人可以帮我弄清楚原因吗?
PS:我已尝试按照本教程https://developer.sugarcrm.com/2011/08/31/howto-using-a-relate-field-to-populate-a-custom-field/
答案 0 :(得分:1)
这是@Bozic解决方案的扩展名。
如果有人试图根据选择自动填充相关字段,那么这里就是解决方案。 (面临“字段不匹配:帐户名”的人)
方案:我在“帐户”模块中有“帐户所有者”(与“用户”模块有关)字段。在“案例”模块中,我将根据“帐户选择”来提取“帐户所有者”字段。
在/custom/modules/Cases/metadata/editviewdefs.php
<hibernate-configuration>
<session-factory>
...
<property name="cache.use_second_level_cache">true</property>
<property name="cache.use_query_cache">true</property>
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
注意:
答案 1 :(得分:0)
您应该转到custom / modules / {YOUR MODULE} /metadata/editviewdefs.php并编辑editviewdefs.php文件。
首先,您需要找到定义了关联字段(account_name)的数组。它看起来与此类似,可能还有一些参数。
array (
'name' => 'account_name',
),
现在您需要将关联字段(country_c)中的数据映射到新字段(比如populated_country_c)。编辑完阵列后,看起来就像这样。
array (
'name' => 'account_name',
'displayParams' => array (
'field_to_name_array' => array(
'id'=>'account_id_c',
'name'=>'account_name',
'country_c' => 'populated_country_c',
),
),
),
现在populated_country_c
是新字段,当您在关联字段中选择帐户时,将填充有关国家/地区的数据。所以我们还需要创建这个新领域。您可以通过工作室或手动添加新数组。最后,您的文件将如下所示
array (
'name' => 'account_name',
'displayParams' => array (
'field_to_name_array' => array(
'id'=>'account_id_c',
'name'=>'account_name',
'country_c' => 'populated_country_c',
),
),
),
array (
'name' => 'populated_country_c',
'label'=> 'LBL_POPULATED_COUNTRY'
),
现在,当从相关字段中选择新帐户时,populated_country_c
将使用所选帐户中的country_c
字段填充。
答案 2 :(得分:0)
使用字段 billing_account_country 而不是 country_c ,并将 account_id 与 account_name 一起使用。我相信,名称和身份证必须与同一张桌子重合。