【问题标题】:Show Calculated Field on SuiteCRM Dashlet在 SuiteCRM Dashlet 上显示计算字段
【发布时间】:2015-11-23 17:06:01
【问题描述】:

我在自定义模块上创建了计算字段。所以基本上,这个模块总结了每次销售的所有发票总额。计算字段是分配给用户的所有发票的总和。我已经在详细视图及其工作上制作了计算字段。现在,我想在 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();
}

【问题讨论】:

    标签: php sugarcrm suitecrm


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      一旦你在同一个模块中有字段,然后就像普通字段一样添加 dashlet。

      使用这种逻辑的优势:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-09-24
        • 1970-01-01
        • 1970-01-01
        • 2012-08-30
        • 2015-12-11
        • 2019-10-23
        • 2017-11-27
        • 1970-01-01
        相关资源
        最近更新 更多