在 SuiteCRM Dashlet 上显示计算字段

Show Calculated Field on SuiteCRM Dashlet

我已经在自定义模块上创建了计算字段。所以基本上,这个模块总结了每次销售的所有发票总额。计算字段是分配给用户的所有发票的总和。我已经在详细视图及其工作中制作了计算字段。现在,我想在 dashlet 上显示计算字段。这是我的截图:

如您所见,当前销售额栏是空白的。它应该填充整数值,显示销售名称制作的发票总额的总和。我使用 suitecrm studio 和模块生成器创建了模块、字段和布局。如何在 dashlet 上显示计算字段?

这是在详细信息页面上显示计算字段的函数,它已经可以使用,但是它不适用于 dashlet 或列表视图:

public function preDisplay(){
    //$this->bean contains all the information on the Case
    //use that information to grab the related account bean, something like:
    //date format still error here

    $a = new AOS_Invoices();
    $validFromFormatted = date_create_from_format('m/d/Y', $this->bean->valid_from);
    $validToFormatted = date_create_from_format('m/d/Y', $this->bean->valid_through);
    $arr = $a->get_full_list(null,'(aos_invoices.assigned_user_id = \''.$this->bean->user_id_c.'\' and invoice_date between \''.date_format($validFromFormatted,'Y-m-d').'\' and \''.date_format($validToFormatted,'Y-m-d').'\')');


    $sum = 0;
    foreach($arr as $key=>$value){
        if(isset($value->total_amount))
            $sum += $value->total_amount;
    }

    $this->bean->current_sales = $sum;
    parent::preDisplay();
}

而不是创建自定义小面板。您可以改为创建报告。添加要显示的字段。添加total amount字段,然后设置合计功能。您可以按销售名称分组。

在您的主屏幕上,添加报告小面板、select 编辑按钮和 select 您刚刚创建的报告。

添加一个逻辑挂钩(before_save),它将在保存记录时计算该字段,然后将其保存在同一个模块中。

一旦你在同一个模块中有了字段,那么只需像普通字段一样添加到 dashlet 中。

使用此逻辑的优势:

  1. 减少主页加载的负载,因为还有很多其他模块需要加载。
  2. 无深度定制,升级安全友好。