예제 #1
0
 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 {