13.6.4.1 Doc::attachTimer()
Méthode utilisée pour attacher un minuteur au document
13.6.4.1.1 Description
string attachTimer ( Dcp\Family\Timer $timer, Doc $origin = null, string $execdate = null)
Cette méthode permet d'attacher un minuteur particulier sur le document.
13.6.4.1.1.1 Avertissements
Le même minuteur ne peut pas être attaché plusieurs fois sur le même document.
Si le paramètre $execdate
est non vide, la caractéristique
dynamique tm_dyndate
d'un minuteur est ignorée.
Le minuteur ne peut pas être posé sur une révision précise du document. Les minuteurs sont attachés sur la dernière révision du document.
13.6.4.1.2 Liste des paramètres
- (Dcp\Family\Timer)
timer
- Document Minuteur qui doit être attaché au document
- (Doc)
origin
- Document ayant initié l'attachement. Ce paramètre optionnel permet
d'identifier un attachement. Il est utilisé par la méthode
Doc::unattachAllTimers()
. - (string)
execdate
-
Date au format
YYYY-MM-DD HH:MM
ouYYYY-MM-DD
. Cette date sert de date de référence si elle est non vide.Si cette date est vide, la date de référence est calculée en fonction de la date de référence indiquée sur le minuteur (attribut
tm_dyndate
). Si la date référence du minuteur est aussi vide, alors la date de référence est la date d'attachement.
13.6.4.1.3 Valeur de retour
La valeur de retour est le message d'erreur. Un retour vide indique que l'opération s'est bien déroulée.
13.6.4.1.4 Erreurs / Exceptions
Les cas de retours d'erreurs sont :
- Ce minuteur est déjà attaché
- Le document "minuteur" n'est pas un minuteur
- Le minuteur n'a déclaré aucune action
13.6.4.1.5 Historique
Aucun.
13.6.4.1.6 Exemples
13.6.4.1.6.1 Attacher un minuteur maintenant
Soit le minuteur n°13509 suivant :
Attribut | Label | Valeur |
---|---|---|
tm_delay | Délai en jours | 1 |
tm_hdelay | Délai en heure | 0 |
tm_dyndate | Date de référence | null |
tm_refdaydelta | Décalage en jours | 0 |
tm_refhourdelta | Décalage en heure | 3 |
tm_iteration | Nombre d'itération | 1 |
tm_tmail | Courrier à envoyer | [null] |
tm_method | Méthode à exécuter | [::myMethod()] |
qui décrit qu'il faut exécuter la méthode "myMethod" après une journée avec un décalage de 3 heures.
Attachement du minuteur n°13509 :
$myDocument=new_doc("", 1427); $myTimer=new_doc("", 13509); $err=$myDocument->attachTimer($myTimer); if (empty($err)) { print_r( $myDocument->getAttachedTimers()); } else { print "$err\n"; }
Résultat :
Array ( [0] => Array ( [timerid] => 13509 [level] => 0 [originid] => [docid] => 1427 [title] => Éléonore [fromid] => 1059 [attachdate] => 2014-10-15 16:21:00 [referencedate] => 2014-10-15 19:21:00 [tododate] => 2014-10-16 19:21:00 [donedate] => [actions] => a:3:{s:5:"state";s:0:"";s:5:"tmail";s:0:"";s:6:"method";s:12:"::myMethod()";} [result] => [id] => 16 ) )
La date d'exécution est positionné à la date de l'attachement plus une journée
et 3 heures (tm_delay
+ tm_refhourdelta
).
13.6.4.1.6.2 Attachement avec une date donnée
Attachement du minuteur n°13509 :
$myDocument=new_doc("", 1427); $myTimer=new_doc("", 13509); $err=$myDocument->attachTimer($myTimer, null , "2014-12-25 12:00"); if (empty($err)) { print_r( $myDocument->getAttachedTimers()); } else { print "$err\n"; }
Résultat :
Array ( [0] => Array ( [timerid] => 13509 [level] => 0 [originid] => [docid] => 1427 [title] => Éléonore [fromid] => 1059 [attachdate] => 2014-10-15 16:18:00 [referencedate] => 2014-12-25 15:00:00 [tododate] => 2014-12-26 15:00:00 [donedate] => [actions] => a:3:{s:5:"state";s:0:"";s:5:"tmail";s:0:"";s:6:"method";s:12:"::myMethod()";} [result] => [id] => 14 ) )
La date d'exécution est positionnée à la date de référence indiquée plus une
journée et 3 heures (tm_delay
+ tm_refhourdelta
).
13.6.4.1.7 Notes
Une entrée, de niveau notice, est enregistrée dans l'historique pour indiquer l'attachement du minuteur.