示例#1
0
 /**
  * <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();
 }