public static function onBeforeDelete(Entity\Event $event) { $result = new Entity\EventResult(); $primary = $event->getParameter("primary"); if (self::isDeliveryInOrders($primary["ID"])) { $result->addError(new Entity\FieldError($event->getEntity()->getField('ID'), Loc::getMessage('DELIVERY_SERVICE_ENTITY_ERROR_DELETE_IN_ORDERS_EXIST'))); } else { $dbRes = self::getList(array('filter' => array("PARENT_ID" => $primary["ID"]), 'select' => array("ID"))); while ($child = $dbRes->fetch()) { if (self::isDeliveryInOrders($child["ID"])) { $result->addError(new Entity\FieldError($event->getEntity()->getField('ID'), Loc::getMessage('DELIVERY_SERVICE_ENTITY_ERROR_DELETE_IN_ORDERS_EXIST_CHLD'))); break; } } } return $result; }