13.6.2.11 Doc::postRefresh()

Hameçon (ou hook) utilisé par la méthode Doc::refresh().

13.6.2.11.1 Description

string postRefresh ()

Cette méthode est appelée par la méthode Doc::refresh() après la mise à jour des attributs calculés.

13.6.2.11.1.1 Avertissements

Les contrôles relatifs au droit de modification sont désactivés pendant l'appel de cette méthode. Ceci permet à la méthode Doc::setValue() de ne pas vérifier les droits de modification.

13.6.2.11.2 Liste des paramètres

Aucun.

13.6.2.11.3 Valeur de retour

Cette méthode doit retourner un message. Ce message est retourné par la méthode Doc::refresh().

13.6.2.11.4 Erreurs / Exceptions

Aucun.

13.6.2.11.5 Historique

Cette méthode était anciennement nommée specRefresh().

13.6.2.11.6 Exemples

Affichage d'un message si l'attribut calculé my_sum est supérieur au paramètre my_max. Dans ce cas l'attribut my_sum est mis à jour juste avant l'appel à l'hameçon postRefresh().

Soit la famille suivante :

BEGIN Ma famille MYFAMILY
CLASS My\MyFamily
// idattr idframe label T A type ord vis phpfunc
ATTR MY_IDENTIFICATION Identification N N frame 10 W
ATTR MY_NUMBERONE MY_IDENTIFICATION nombre 1 Y N int 20 W
ATTR MY_NUMBERTWO MY_IDENTIFICATION nombre 2 N N int 30 W
ATTR MY_SUM MY_IDENTIFICATION nombre 1+2 N N int 30 R ::mySum(MY_NUMBERONE, MY_NUMBERTWO)
PARAM MY_PARAMETERS Paramètres N N frame 10 W
PARAM MY_MAX MY_PARAMETERS max N N int 20 W
END

Avec la classe :

namespace My;
use \Dcp\AttributeIdentifiers\MyFamily as MyAttributes;
 
class MyFamily extends \Dcp\Family\Document
{
    public function mySum($x, $y)
    {
        return ($x + $y);
    }
    public function postRefresh()
    {
        $msg = '';
        $sum = $this->getAttributeValue(MyAttributes::my_sum);
        $max = $this->getFamilyParameterValue(MyAttributes::my_max);
        if ($sum > $max) {
            $msg = sprintf("Max %d is reached", $max);
        }
        return $msg;
    }
}

13.6.2.11.7 Notes

En cas de famille héritée, il est nécessaire d'appeler l'hameçon du parent pour disposer des mêmes fonctionnalités.

13.6.2.11.8 Voir aussi

×