预填充父模块数据并将模块数据关联到 quickcreate SugarCRM 6 上的子模块。5.x

prepopulate parent module data and relate module data to the child module on quickcreate SugarCRM 6.5.x

我有3个模块,假设模块A,B是两个父模块,C是A和B中的子模块(连接)。 当从 A 的 Deatil 视图快速创建 C 时,在相关模块 B 的 select 上,需要将 B 模块数据填充到 C 的某个其他字段。并且需要将 A 的一些数据传递到 C 的某个字段 (在 A 的详细视图中,C 是子面板,在 C 中是与 B 相关的字段)。希望我清楚

我正在使用 suagrcrm 6。5.x

谁能帮我解决这个问题..

如果我没猜错,也许这会有所帮助:

在 "modules/YOURMODULE/views.view.subpanelquickcreate.php" 中编写视图并执行如下操作:

require_once('include/EditView/SubpanelQuickCreate.php');
class YOURMODULESubpanelQuickCreate extends SubpanelQuickCreate
{

    function process($module)
    {
        if ($_REQUEST['target_action'] == 'QuickCreate') {
            $this->ev->view = 'QuickCreate';
        }
        $form_name = 'form_Subpanel' . $this->ev->view . '_' . $module;
        $this->ev->formName = $form_name;

        if ($_REQUEST['return_module'] === 'MODULE_A' && isset($_REQUEST['MODULE_A_id'])) {
            $this->prefill($_REQUEST['MODULE_A_id']);
        }
        $this->ev->process(true, $form_name);
        echo $this->ev->display(false, true);
    }

    function prefill($id)
    {
        $modA = new ModA();
        $modA->retrieve($id);
        $this->ev->focus->modA_id = $modA->id;
        $this->ev->focus->modA_name = $modA->name;
        $this->ev->focus->company_name = ...
    }
}

就像这样,当您在子面板中单击创建时,您会使用当前模块详细信息视图中的值预填充 YOURMODULE。