Module SugarCRM:自定义模块分配给用户字段,不保存“id”值

Module SugarCRM:自定义模块分配给用户字段,不保存“id”值,module,field,sugarcrm,Module,Field,Sugarcrm,我正在使用Sugarce6.0.0中的ModuleBuilder设计一个名为Agents的定制模块 该模块基于帐户。在Studio中,当我从Assignable部分单击assigned_user_name并保存它时,它会生成两个字段,即: 分配的用户名 _身份证 当我部署这个包并试图从assigned to字段中选择用户名时,一开始它不会通过autofill或popup获取任何结果 我查看了custom/modulebuilder/packages/MyPackage/modules/Agent

我正在使用Sugarce6.0.0中的ModuleBuilder设计一个名为Agents的定制模块

该模块基于帐户。在Studio中,当我从Assignable部分单击assigned_user_name并保存它时,它会生成两个字段,即:

分配的用户名 _身份证 当我部署这个包并试图从assigned to字段中选择用户名时,一开始它不会通过autofill或popup获取任何结果

我查看了custom/modulebuilder/packages/MyPackage/modules/Agents/vardefs.php,以下是我的发现:

'_id_c' => 
array (
  'required' => false,
  'name' => '_id_c',
  'vname' => '',
  'type' => 'id',
  'massupdate' => 0,
  'comments' => '',
  'help' => '',    
  'importable' => 'true',
  'duplicate_merge' => 'disabled',
  'duplicate_merge_dom_value' => 0,
  'audited' => false,
  'reportable' => true,
  'len' => 36,
  'size' => '20',
),
'assigned_user_name' => 
array (
  'required' => true,
  'name' => 'assigned_user_name',
  'link' => 'assigned_user_link',
  'vname' => 'LBL_ASSIGNED_TO_NAME',
  'rname' => 'name',
  'type' => 'relate',
  'reportable' => true,
  'source' => 'non-db',
  'table' => 'users',
  'id_name' => '_id_c',
  'module' => '',
  'duplicate_merge' => 'disabled',
  'massupdate' => 0,
  'comments' => '',
  'help' => '',
  'importable' => 'true',
  'duplicate_merge_dom_value' => '0',
  'audited' => true,
  'len' => '255',
  'size' => '20',
  'ext2' => '',
  'quicksearch' => 'enabled',
  'studio' => 'visible',
),
请注意,分配的用户名称中的模块选项未设置为正确的值。 第一个问题:这是工作室的bug吗

我的快速修复方法是设置module=>'Users',它成功了。我现在可以从自动填充下拉列表中选择用户名

但是,选择用户名仍然不会用用户的36字符id填充隐藏的_id_c字段,因此,当我保存并重新加载记录时,分配的_user_name字段仍然为空

有人知道为什么会这样吗?有什么补救办法吗

谢谢,
m^e

我们认为不应该在vardef中获取这些字段,因为这些字段是在所有模块都扩展的父类中定义的。默认情况下,这些字段是分配给用户的用户字段:

var $assigned_user_id;
var $assigned_user_name;
var $assigned_user_link;
通过查看代码,您可以尝试设置:

'id_name' => 'assigned_user_id'
您不应该为此字段\u id\u c创建其他字段