public function pre_save()
 {
     parent::pre_save();
     require_once 'modules/Workflows/includes/WorkflowBaseAction.php';
     if (isset($this->bean->accion) && isset($this->record)) {
         $accion = WorkflowBaseAction::obtener_accion_por_nombre($this->bean->accion);
         try {
             $accion->verificar_parametros($this->bean->parametros);
         } catch (Exception $e) {
             sugar_set_message("No se encontraron los parametros: " . implode(', ', $accion->parametros_requeridos()) . "; para la acción: {$accion->nombre}. No se Guardaron los cambios", "error");
             $args = array('module' => $this->module, 'action' => "EditView", 'record' => $this->record);
             $this->set_redirect(create_url($args));
             $this->redirect();
             die;
         }
     }
 }
function sugar_get_messages($type = NULL, $clear_queue = TRUE)
{
    if ($messages = sugar_set_message()) {
        if ($type) {
            if ($clear_queue) {
                unset($_SESSION['messages'][$type]);
            }
            if (isset($messages[$type])) {
                return array($type => $messages[$type]);
            }
        } else {
            if ($clear_queue) {
                unset($_SESSION['messages']);
            }
            return $messages;
        }
    }
    return array();
}