Announcement

Collapse
No announcement yet.

calculate the total amount in the field

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • alter
    replied
    Hi, as espcrm correctly responded, one way to do this is via Formula - easier way for non programming users.

    Another way is to write a custom code using afterSave() entity, which would automatically sum all values from ROZPOTYs and updated ID CISLO UNIE - after saving your ROZPOTYs record.

    You can see here example code for recalculating Opportunity 'Amount' field everytime I add new or remove OpportunityProduct (custom entity) to the Opportunity:

    Info: The method recalculateOpportunityPrice() is being called from afterSave() method on OpportunityProduct


    PHP Code:
    /**
    * @param Entity $opportunity Opportunity that its Amount should be recalculated.
    * @returns void Since it only recalculates Amount on Opportunity, nothing is returned.
    */
    private function recalculateOpportunityPrice(Entity $opportunity): void
    {
    $entityManager $this->entityManager;

    $opportunityProducts $entityManager
    ->getRepository($this->entityType)
    ->
    getRelation($opportunity'opportunityProducts')
    ->
    find();

    $totalAmount 0.00;

    foreach (
    $opportunityProducts as $opportunityProduct)
    {
    $price $opportunityProduct->get('totalPrice');

    $totalAmount += $price;
    }

    $opportunity->set('amount'$totalAmount);

    $entityManager->saveEntity($opportunity);


    Last edited by alter; 09-21-2021, 02:09 PM.

    Leave a comment:


  • esforim
    replied
    You can probably use this formula: https://docs.espocrm.com/administrat...titysumrelated

    I haven't use it so can't give you advice on how-to.

    Edit: Thinking about this I decide to give it a try, took a few minutes to learn how to do it, anyway here how I did it.

    Main entity: Contact
    (Custom) Many-to-Many Entity: Assets

    In Contact I create a field call, "totalAssets"
    In Assets I create a field call, "assetValue"

    The formula I end up using is:

    // Calculate Total Assets
    totalAsset = entity\sumRelated('assets', 'assetValue');

    ---

    So it working all nice and good in that it calculate correctly based on my test, the issue here it doesn't refresh the data until I make edit to the Contact... so I think you would need to auto refresh some data using Workflow or you have to use beforesaveHook instead of formula (which is aftersave). Hook is a topic I'm too ignorant in though.

    So I guess it not too hard to use the formula above, change assets to the Entity you want, and 'totalAsset' 'assetValue' to the field you want. In your case I think

    Assets = ROZpoty
    totalAsset = IDcisloUNIE
    assetValue = celkova...
    Last edited by esforim; 09-20-2021, 06:50 AM.

    Leave a comment:


  • shalmaxb
    replied
    Hi, where do the values in the bottom come from?

    Leave a comment:


  • sumservis
    replied

    Leave a comment:


  • sumservis
    started a topic calculate the total amount in the field

    calculate the total amount in the field



    Hello, I would like to calculate the total amount in the field on the occasion (see attached screen), how can I do this?

Working...
X