SugarCRM:自定义模块assigned_to_user字段不保存'id'值

时间:2011-01-18 11:00:37

标签: module field sugarcrm


   我正在使用 SugarCE 6.0.0 中的 ModuleBuilder 设计一个名为Agents的自定义模块。

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

  • assigned_user_name
  • _id_c

当我部署程序包并尝试从分配给字段中选择一个用户名时,首先它根本不会获取任何结果(既不通过自动填充也不通过自动填充)。

我检查了 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',
),

请注意,assigned_user_name中的模块选项未设置为正确的值。 第一个问题:这是Studio的错误吗?

我的快速解决方法是设置module => 'Users'并且它有效。我现在可以从下拉列表(自动填充)列表中选择用户名。

但是,选择用户名仍然不会使用用户的36个字符UUID填充隐藏的 _id_c 字段,因此,当我保存记录并重新加载时,assigned_user_name字段保持空白。

有没有人知道为什么会这样?对此有任何补救措施吗?

谢谢,
米^ E

1 个答案:

答案 0 :(得分:1)

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

var $assigned_user_id;
var $assigned_user_name;
var $assigned_user_link;

通过查看代码,您可以尝试设置:

'id_name' => 'assigned_user_id'

您不应为此字段(_id_c)创建其他字段。