513
edits
(→自定义属性) |
(→计算字段) |
||
| Line 40: | Line 40: | ||
=== 计算字段 === | === 计算字段 === | ||
可输入公式,公式输入对象的其他属性 or 任何 PHP 代码来得到动态值。 | |||
你可以使用任何PHP兼容的公式,包括“?”条件运算符, 和以下全局对象: | |||
'''$db, $conf, $langs, $mysoc, $user, $object''' | |||
注意: 可能只有对象的部分属性是可用的。如果你需要一个未加载的属性,可以在公式中查询你自己的对象,如下例所示: | |||
使用计算字段意味着,你不能在界面输入值,也意味着,如要存在语法错误,将得不到返回。 | |||
公式实例: | |||
<source lang="PHP"> | |||
$object->id < 10 ? round($object->id / 2, 2) : ($object->id + 2 * $user->id) * (int) substr($mysoc->zip, 1, 2) | $object->id < 10 ? round($object->id / 2, 2) : ($object->id + 2 * $user->id) * (int) substr($mysoc->zip, 1, 2) | ||
</source> | |||
加载对象实例: | |||
<source lang="PHP"> | |||
(($reloadedobj = new Societe($db)) && ($reloadedobj->fetch($obj->id ? $obj->id : ($obj->rowid ? $obj->rowid : $object->id)) > 0)) ? $reloadedobj->array_options['options_extrafieldkey'] * $reloadedobj->capital / 5 : '-1' | (($reloadedobj = new Societe($db)) && ($reloadedobj->fetch($obj->id ? $obj->id : ($obj->rowid ? $obj->rowid : $object->id)) > 0)) ? $reloadedobj->array_options['options_extrafieldkey'] * $reloadedobj->capital / 5 : '-1' | ||
</source> | |||
其他实例,强制加载对象及其父对象的公式: | |||
<source lang="PHP"> | |||
(($reloadedobj = new Task($db)) && ($reloadedobj->fetch($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetch($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref : 'Parent project not found' | (($reloadedobj = new Task($db)) && ($reloadedobj->fetch($object->id) > 0) && ($secondloadedobj = new Project($db)) && ($secondloadedobj->fetch($reloadedobj->fk_project) > 0)) ? $secondloadedobj->ref : 'Parent project not found' | ||
</source> | |||
= 解释 = | = 解释 = | ||
edits