diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php index 390255c56..895b06998 100755 --- a/workflow/engine/classes/class.derivation.php +++ b/workflow/engine/classes/class.derivation.php @@ -176,14 +176,14 @@ class Derivation } $rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC); - + $flagDefault = false; while ($rsCriteria->next()) { $arrayRouteData = G::array_merges($rsCriteria->getRow(), $arrayData); if ((int)($arrayRouteData["ROU_DEFAULT"]) == 1) { $arrayNextTaskDefault = $arrayRouteData; - $arrayNextTask = array(); - break; + $flagDefault = true; + continue; } $flagContinue = true; @@ -216,7 +216,9 @@ class Derivation $arrayNextTask[++$i] = $this->prepareInformationTask($arrayRouteData); } } - + if($flagDefault && !$flagContinue){ + $arrayNextTask = array(); + } if (count($arrayNextTask) == 0 && count($arrayNextTaskDefault) > 0) { $arrayNextTask[++$i] = $this->prepareInformationTask($arrayNextTaskDefault); }