if (strlen($fields["NAME"]) <= 0) { $strError .= Loc::getMessage("SALE_DSE_ERROR_NO_NAME") . "<br>"; } if (strlen($fields["CLASS_NAME"]) <= 0) { $strError .= Loc::getMessage("SALE_DSE_ERROR_NO_CLASS_NAME") . "<br>"; } if ($strError == '') { try { $service = Services\Manager::createServiceObject($fields); $fields = $service->prepareFieldsForSaving($fields); } catch (\Bitrix\Main\SystemException $e) { $strError = $e->getMessage(); } if ($strError == '') { if (isset($fields["PARENT_ID"]) && $fields["PARENT_ID"] == "new" && strlen($_POST["GROUP_NAME"]) > 0) { $fields["PARENT_ID"] = Services\Manager::getGroupId($_POST["GROUP_NAME"]); if ($fields["PARENT_ID"] <= 0) { $strError .= Loc::getMessage("SALE_DSE_ERROR_GROUP_SAVE") . "<br>"; } } if ($ID > 0) { unset($fields["ID"]); $res = \Bitrix\Sale\Delivery\Services\Table::update($ID, $fields); if ($res->isSuccess()) { // update some fields in children if need if (!empty($changedFields)) { $fieldsList = array(); if (in_array('ACTIVE', $changedFields)) { if ($fields['ACTIVE'] == 'Y') { $fieldsList['ACTIVE'] = 'Y'; } else {