foreach ($arFields as $id => $arField) { $arField['SORT'] = (int) $arField['SORT']; if ($arField['SORT'] <= $iPrevSort) { $arField['SORT'] = $iPrevSort + 10; } $iPrevSort = $arField['SORT']; if (substr($id, 0, 1) == 'n') { if (trim($arField['VALUE']) == "") { continue; } $arAdd['NAME'] = trim($arField['VALUE']); $arAdd['SORT'] = $arField['SORT']; $CCrmStatus->Add($arAdd); } else { if (!isset($arField['VALUE']) || trim($arField['VALUE']) == "") { $arCurrentData = $CCrmStatus->GetStatusById($id); if ($arCurrentData['SYSTEM'] == 'N') { $CCrmStatus->Delete($id); } else { $arUpdate['NAME'] = trim($arCurrentData['NAME_INIT']); $CCrmStatus->Update($id, $arUpdate); } } else { $arCurrentData = $CCrmStatus->GetStatusById($id); if (trim($arField['VALUE']) != $arCurrentData['NAME'] || intval($arField['SORT']) != $arCurrentData['SORT']) { $arUpdate['NAME'] = trim($arField['VALUE']); $arUpdate['SORT'] = $arField['SORT']; $CCrmStatus->Update($id, $arUpdate); } } }