diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 92f32393df7..3ba0bf34e58 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -4852,11 +4852,6 @@ abstract class CommonObject //var_dump($extrafields->attributes[$this->table_element]['type'][$key]); $this->array_options["options_".$key]=$this->db->jdate($value); } - // If field is a computed field, value must become result of compute - else if (! empty($extrafields) && !empty($extrafields->attributes[$this->table_element]['computed'][$key])) - { - $this->array_options["options_".$key] = dol_eval($extrafields->attributes[$this->table_element]['computed'][$key], 1, 0); - } else { $this->array_options["options_".$key]=$value; @@ -4865,6 +4860,14 @@ abstract class CommonObject //var_dump('key '.$key.' '.$value.' type='.$extrafields->attributes[$this->table_element]['type'][$key].' '.$this->array_options["options_".$key]); } } + + // If field is a computed field, value must become result of compute + foreach ($tab as $key => $value) { + if (! empty($extrafields) && !empty($extrafields->attributes[$this->table_element]['computed'][$key])) + { + $this->array_options["options_".$key] = dol_eval($extrafields->attributes[$this->table_element]['computed'][$key], 1, 0); + } + } } $this->db->free($resql);