我正在使用SugarCE 6.0.0中的ModuleBuilder设计一个名为 Agents 的自定义模块。
该模块基于帐户。在 Studio 中,当我单击Assignable部分中的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 字段保持空白。
有谁知道为什么会这样?对此有什么补救措施吗?
谢谢,
m^e