protected function innerUpdate($ID, &$fields, &$errors, array $params = null) { /** @global CMain $APPLICATION */ global $APPLICATION; if (!CCrmStatus::CheckUpdatePermission($ID)) { $errors[] = 'Access denied.'; return false; } $statusInvoice = new CCrmStatusInvoice('INVOICE_STATUS'); $currentFields = $statusInvoice->getStatusById($ID); if (!is_array($currentFields)) { $errors[] = 'Status is not found.'; return false; } $result = $statusInvoice->Update($ID, $fields); if ($result === false) { if ($e = $APPLICATION->GetException()) { $errors[] = $e->GetString(); } else { $errors[] = 'Error on updating status.'; } } return $result !== false; }