if (!$res) { if ($ex = $APPLICATION->GetException()) { $errorMessage .= $ex->GetString(); } else { $errorMessage .= str_replace("#NAME#", $arTaxList[$j]["TAX_NAME"], GetMessage("SOE_ERROR_SAVE_TAX")) . ". "; } } } } foreach ($arOldTaxList as $key => $value) { CSaleOrderTax::Delete($key); } } if (strlen($errorMessage) <= 0) { for ($i = 0; $i < count($arIDs); $i++) { CSaleOrderPropsValue::DeleteByOrder($arIDs[$i]); for ($j = 0; $j < count($arPropsList); $j++) { $arFields = array("ORDER_ID" => $arIDs[$i], "ORDER_PROPS_ID" => $arPropsList[$j]["ORDER_PROPS_ID"], "NAME" => $arPropsList[$j]["NAME"], "CODE" => $arPropsList[$j]["CODE"], "VALUE" => $arPropsList[$j]["VALUE"]); $res = CSaleOrderPropsValue::Add($arFields) > 0; if (!$res) { if ($ex = $APPLICATION->GetException()) { $errorMessage .= $ex->GetString(); } else { $errorMessage .= str_replace("#NAME#", $arPropsList[$j]["NAME"], GetMessage("SOE_ERROR_SAVE_PROP")) . ". "; } } } } } if (strlen($errorMessage) <= 0) { if (!$customTabber->Action()) {
function _Delete($ID) { global $DB; $ID = IntVal($ID); $bSuccess = True; foreach (GetModuleEvents("sale", "OnBeforeOrderDelete", true) as $arEvent) { if (ExecuteModuleEventEx($arEvent, array($ID)) === false) { return false; } } $DB->StartTransaction(); if ($bSuccess) { $dbBasket = CSaleBasket::GetList(array(), array("ORDER_ID" => $ID)); while ($arBasket = $dbBasket->Fetch()) { $bSuccess = CSaleBasket::Delete($arBasket["ID"]); if (!$bSuccess) { break; } } } if ($bSuccess) { $dbRecurring = CSaleRecurring::GetList(array(), array("ORDER_ID" => $ID)); while ($arRecurring = $dbRecurring->Fetch()) { $bSuccess = CSaleRecurring::Delete($arRecurring["ID"]); if (!$bSuccess) { break; } } } if ($bSuccess) { $bSuccess = CSaleOrderPropsValue::DeleteByOrder($ID); } if ($bSuccess) { $bSuccess = CSaleOrderTax::DeleteEx($ID); } if ($bSuccess) { $bSuccess = CSaleUserTransact::DeleteByOrder($ID); } if ($bSuccess) { unset($GLOBALS["SALE_ORDER"]["SALE_ORDER_CACHE_" . $ID]); } if ($bSuccess) { $bSuccess = $DB->Query("DELETE FROM b_sale_order WHERE ID = " . $ID . "", true); } if ($bSuccess) { $DB->Commit(); } else { $DB->Rollback(); } foreach (GetModuleEvents("sale", "OnOrderDelete", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array($ID, $bSuccess)); } return $bSuccess; }
function _Delete($ID) { global $DB, $USER_FIELD_MANAGER; $ID = IntVal($ID); $bSuccess = True; foreach(GetModuleEvents("sale", "OnBeforeOrderDelete", true) as $arEvent) if (ExecuteModuleEventEx($arEvent, Array($ID))===false) return false; $DB->StartTransaction(); if ($bSuccess) { $dbBasket = CSaleBasket::GetList(array(), array("ORDER_ID" => $ID)); while ($arBasket = $dbBasket->Fetch()) { if (CSaleBasketHelper::isSetItem($arBasket)) // set items are deleted when parent is deleted continue; $bSuccess = CSaleBasket::Delete($arBasket["ID"]); if (!$bSuccess) break; } } if ($bSuccess) { $dbRecurring = CSaleRecurring::GetList(array(), array("ORDER_ID" => $ID)); while ($arRecurring = $dbRecurring->Fetch()) { $bSuccess = CSaleRecurring::Delete($arRecurring["ID"]); if (!$bSuccess) break; } } if ($bSuccess) $bSuccess = CSaleOrderPropsValue::DeleteByOrder($ID); if ($bSuccess) $bSuccess = CSaleOrderTax::DeleteEx($ID); if($bSuccess) $bSuccess = CSaleUserTransact::DeleteByOrder($ID); if ($bSuccess) unset($GLOBALS["SALE_ORDER"]["SALE_ORDER_CACHE_".$ID]); if ($bSuccess) $bSuccess = $DB->Query("DELETE FROM b_sale_order WHERE ID = ".$ID."", true); if ($bSuccess) $USER_FIELD_MANAGER->Delete("ORDER", $ID); if ($bSuccess) $DB->Commit(); else $DB->Rollback(); foreach(GetModuleEvents("sale", "OnOrderDelete", true) as $arEvent) ExecuteModuleEventEx($arEvent, Array($ID, $bSuccess)); return $bSuccess; }