/** * <p>Метод удаляет статус заказа с кодом ID. Если в базе есть заказы, находящиеся в этом статусе, то этот статус удалить нельзя. Метод динамичный.</p> * * * @param string $ID Код статуса заказа. </htm * * @return bool <p>Возвращается <i>true</i> в случае успешного удаления и <i>false</i> - в * противном случае.</p> <br><br> * * @static * @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalestatus/csalestatus__delete.11104aab.php * @author Bitrix */ public static function Delete($statusId) { if (!$statusId) { return false; } global $DB, $APPLICATION; $statusId = $DB->ForSql($statusId, 2); if (OrderTable::getList(array('filter' => array('=STATUS_ID' => $statusId), 'limit' => 1))->fetch()) { $APPLICATION->ThrowException(Loc::getMessage("SKGS_ERROR_DELETE"), "ERROR_DELETE_STATUS_TO_ORDER"); return false; } foreach (GetModuleEvents("sale", "OnBeforeStatusDelete", true) as $arEvent) { if (ExecuteModuleEventEx($arEvent, array($statusId)) === false) { return false; } } foreach (GetModuleEvents("sale", "OnStatusDelete", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array($statusId)); } StatusLangTable::deleteByStatus($statusId); StatusGroupTaskTable::deleteByStatus($statusId); return StatusTable::delete($statusId)->isSuccess(); }
// prepare & check group tasks foreach ($groups as $groupId => $groupName) { $taskId = $_REQUEST['TASK' . $groupId]; $groupTasks[$groupId] = array('STATUS_ID' => $sid, 'GROUP_ID' => $groupId, 'TASK_ID' => $taskId); if (!$tasks[$taskId]) { $errors[] = Loc::getMessage('SSEN_INVALID_TASK_ID_FOR') . ' ' . $groupName; } } // add or update status if (!$errors) { // update status, delete translations and group tasks if (!$isNew) { $result = StatusTable::update($statusId, $status); if ($result->isSuccess()) { StatusLangTable::deleteByStatus($statusId); StatusGroupTaskTable::deleteByStatus($statusId); } else { $errors = $result->getErrorMessages(); } } else { $result = StatusTable::add($status); if ($result->isSuccess()) { $statusId = $status['ID']; } else { $errors = $result->getErrorMessages(); } } } // add translations and group tasks, redirect if (!$errors) { foreach ($translations as $data) {