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 ou YYYY-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.

13.6.4.1.8 Voir aussi

×
nouveauté