1

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

仪表板

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

这是在详细信息页面上显示计算字段的功能,它已经工作,但它不适用于 dashlet 或 listview:

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();
}
4

2 回答 2

0

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

一旦您在同一模块中有字段,然后只需像普通字段一样添加 dashlet。

使用这种逻辑的好处:

  1. 减少主页加载的负载,因为还有很多其他模块需要加载。
  2. 没有深度定制所以非常安全和友好的升级。
于 2017-11-06T12:40:21.680 回答
0

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

在您的主屏幕上,添加报告仪表板,选择编辑按钮,然后选择您刚刚创建的报告。

于 2015-11-26T15:24:59.817 回答