} } if (!empty($fieldsList)) { \Bitrix\Sale\Delivery\Services\Table::setChildrenFieldsValues($ID, $fieldsList); } } } else { $strError .= Loc::getMessage("SALE_DSE_ERROR_EDIT_DELIVERY") . "<br>" . implode("<br>", $res->getErrorMessages()); } } else { $res = \Bitrix\Sale\Delivery\Services\Table::add($fields); if (!$res->isSuccess()) { $strError .= Loc::getMessage("SALE_DSE_ERROR_ADD_DELIVERY") . "<br>" . implode("<br>", $res->getErrorMessages()); } else { $ID = $res->getId(); Services\Manager::onAfterAdd($ID, $fields); } } if ($ID > 0) { //stores unset($res); if (isset($_POST["STORES_SHOW"]) && $_POST["STORES_SHOW"] == "Y" && isset($_POST["STORES"]["PARAMS"]["STORES"])) { $res = ExtraServices\Manager::saveStores($ID, Bitrix\Sale\Delivery\ExtraServices\Store::getStoresIdsFromParams($_POST["STORES"]["PARAMS"])); } else { $storesFields = ExtraServices\Manager::getStoresFields($ID); if (!empty($storesFields)) { $res = Delivery\ExtraServices\Table::delete($storesFields["ID"]); } } if ($res && !$res->isSuccess()) { $strError .= implode("<br>\n", $res->getErrorMessages());