Как я могу получить промежуточный итог по циклу. Использование SugarCRM CE 6.5.13

Я пытаюсь получить сумму из строк, возвращенных для выбранной возможности.

Когда возможность выбрана для каждого продукта, который они приобрели, и указана его цена. Я пытаюсь использовать цену для каждого купленного продукта, чтобы получить промежуточный итог для всех продаж, сделанных с этой возможностью.

Вот код, который у меня есть:

function total(&$focus, $event, $arguments)
{
    $total = 0;
    foreach ($this->bean->Product_Sales['sales_price_c'] as $entry) {
        $total += unformat_number($entry['sales_price_c']);
    }
    $this->bean->ss->assign('total_sales_c', format_number($total));
}

Пример того, как строки возвращаются:

[Product_Name_Field] [Product_Price_Field] [Sales_Person_Field] [Etc_Field]

Только кол-во (1) товара продано за возвращенную строку.

Что я делаю неправильно?
Заранее спасибо.

1 ответ

Решение

Хорошо, я понял это!!!!

Это файл view.detail.php в Custom/Module/Opportunities/Views/

<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');

require_once('include/MVC/View/views/view.detail.php');

class OpportunitiesViewDetail extends ViewDetail {

  function OpportunitiesViewDetail(){
  parent::ViewDetail();
  }

  function display() {
$account = new Opportunity();//var = new ModuleName() in singular form
$account->retrieve($_REQUEST['record']);//This grabs the record
$contacts = $account->get_linked_beans('opportunities_op_ps_product_sales_1','Contact');
//this uses the get_linked_beans(Param 1 is the linked var name found in the vardefs ,Param 2 is the name of the object you are creating. The name can be anything you like.)

// loop through the created associations to get fields.
foreach ( $contacts as $contact ) {
    $total += $contact->sales_price_c;//add the value of each sale to the variable
}
//populate the field you want with the value in the $total var
echo "
       <script>
    var total = '$total';
       $(document).ready(function(){
    $('#total_sales_c').after(total); });
       </script>";

  parent::display();
  }
}
?>

Надеюсь, это поможет другим.

Другие вопросы по тегам