if ($object->_id) { $object->loadComplete(); } // searching for a CExClassEvent $ex_class_event = new CExClassEvent(); $ex_class_event->host_class = $object->_class; if ($event_name) { $ex_class_event->event_name = $event_name; } $ex_class_event->ex_class_id = $ex_class_id; $ex_class_event->loadMatchingObject(); /** @var CExObject $ex_object */ if (!$ex_object_id) { $ex_class = new CExClass(); $ex_class->load($ex_class_id); $ex_objects = $ex_class_event->getExObjectForHostObject($object); $ex_object = reset($ex_objects); if (!$ex_object) { $ex_object = $ex_class->getExObjectInstance(); } } else { $ex_object = new CExObject($ex_class_id); } if ($preview) { $ex_object->_preview = true; } $creation_date = $ex_object->getCreateDate(); if ($object->_id && $object instanceof CSejour) { $object->loadRefCurrAffectation($creation_date); } $printer_id = null;