$dupControl->enabledFor(CCrmOwnerType::Contact, isset($_POST['ENABLE_CONTACT_DUP_CONTROL']) && strtoupper($_POST['ENABLE_CONTACT_DUP_CONTROL']) === 'Y'); $dupControl->enabledFor(CCrmOwnerType::Company, isset($_POST['ENABLE_COMPANY_DUP_CONTROL']) && strtoupper($_POST['ENABLE_COMPANY_DUP_CONTROL']) === 'Y'); $dupControl->save(); CCrmStatus::EnableDepricatedTypes(isset($_POST['ENABLE_DEPRECATED_STATUSES']) && strtoupper($_POST['ENABLE_DEPRECATED_STATUSES']) === 'Y'); \Bitrix\Crm\Settings\DealSettings::enableCloseDateSync(isset($_POST['REFRESH_DEAL_CLOSEDATE']) && strtoupper($_POST['REFRESH_DEAL_CLOSEDATE']) === 'Y'); if ($_POST['DEAL_DEFAULT_LIST_VIEW']) { \Bitrix\Crm\Settings\DealSettings::setDefaultListViewID($_POST['DEAL_DEFAULT_LIST_VIEW']); } LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_SM_CONFIG'], array())); } } } $arResult['FORM_ID'] = 'CRM_SM_CONFIG'; $arResult['BACK_URL'] = $arParams['PATH_TO_SM_CONFIG']; $arResult['FIELDS'] = array(); $arResult['FIELDS']['tab_deal_config'][] = array('id' => 'DEAL_DEFAULT_LIST_VIEW', 'name' => GetMessage('CRM_FIELD_DEAL_DEFAULT_LIST_VIEW'), 'items' => \Bitrix\Crm\Settings\DealSettings::getViewDescriptions(), 'type' => 'list', 'value' => \Bitrix\Crm\Settings\DealSettings::getDefaultListViewID(), 'required' => false); $arResult['FIELDS']['tab_deal_config'][] = array('id' => 'REFRESH_DEAL_CLOSEDATE', 'name' => GetMessage('CRM_FIELD_REFRESH_DEAL_CLOSEDATE'), 'type' => 'checkbox', 'value' => \Bitrix\Crm\Settings\DealSettings::isCloseDateSyncEnabled(), 'required' => false); $arResult['FIELDS']['tab_activity_config'][] = array('id' => 'CALENDAR_DISPLAY_COMPLETED_CALLS', 'name' => GetMessage('CRM_FIELD_DISPLAY_COMPLETED_CALLS_IN_CALENDAR'), 'type' => 'checkbox', 'value' => CCrmActivityCalendarSettings::GetValue(CCrmActivityCalendarSettings::DisplayCompletedCalls, true), 'required' => false); $arResult['FIELDS']['tab_activity_config'][] = array('id' => 'CALENDAR_DISPLAY_COMPLETED_MEETINGS', 'name' => GetMessage('CRM_FIELD_DISPLAY_COMPLETED_MEETINGS_IN_CALENDAR'), 'type' => 'checkbox', 'value' => CCrmActivityCalendarSettings::GetValue(CCrmActivityCalendarSettings::DisplayCompletedMeetings, true), 'required' => false); $arResult['FIELDS']['tab_activity_config'][] = array('id' => 'RECKON_ACTIVITYLESS_ITEMS_IN_COUNTERS', 'name' => GetMessage('CRM_FIELD_RECKON_ACTIVITYLESS_ITEMS_IN_COUNTERS'), 'type' => 'checkbox', 'value' => CCrmUserCounterSettings::GetValue(CCrmUserCounterSettings::ReckonActivitylessItems, true), 'required' => false); $arResult['FIELDS']['tab_outgoing_email'][] = array('id' => 'SERVICE_CODE_ALLOCATION', 'name' => GetMessage('CRM_FIELD_SERVICE_CODE_ALLOCATION'), 'items' => CCrmEMailCodeAllocation::GetAllDescriptions(), 'type' => 'list', 'value' => CCrmEMailCodeAllocation::GetCurrent(), 'required' => false); if (Bitrix\Crm\Integration\Bitrix24Email::isEnabled()) { if (Bitrix\Crm\Integration\Bitrix24Email::allowDisableSignature()) { $arResult['FIELDS']['tab_outgoing_email'][] = array('id' => 'ENABLE_B24_EMAIL_SIGNATURE', 'name' => GetMessage('CRM_FIELD_ENABLE_B24_EMAIL_SIGNATURE'), 'type' => 'checkbox', 'value' => Bitrix\Crm\Integration\Bitrix24Email::isSignatureEnabled(), 'required' => false); } else { $arResult['FIELDS']['tab_outgoing_email'][] = array('id' => 'ENABLE_B24_EMAIL_SIGNATURE', 'name' => GetMessage('CRM_FIELD_ENABLE_B24_EMAIL_SIGNATURE'), 'type' => 'label', 'value' => Bitrix\Crm\Integration\Bitrix24Email::getSignatureExplanation(), 'required' => false); } } $arResult['FIELDS']['tab_format'][] = array('id' => 'PERSON_NAME_FORMAT_ID', 'name' => GetMessage('CRM_FIELD_PERSON_NAME_FORMAT'), 'type' => 'list', 'items' => \Bitrix\Crm\Format\PersonNameFormatter::getAllDescriptions(), 'value' => \Bitrix\Crm\Format\PersonNameFormatter::getFormatID(), 'required' => false); $arResult['FIELDS']['tab_format'][] = array('id' => 'CALLTO_FORMAT', 'name' => GetMessage('CRM_FIELD_CALLTO_FORMAT'), 'type' => 'list', 'items' => CCrmCallToUrl::GetAllDescriptions(), 'value' => CCrmCallToUrl::GetFormat(CCrmCallToUrl::Bitrix), 'required' => false); $calltoSettings = CCrmCallToUrl::GetCustomSettings();
$arParams['PATH_TO_DEAL_LIST'] = isset($arParams['PATH_TO_DEAL_LIST']) && $arParams['PATH_TO_DEAL_LIST'] !== '' ? $arParams['PATH_TO_DEAL_LIST'] : '#SITE_DIR#crm/deal/list/'; $arParams['PATH_TO_DEAL_EDIT'] = isset($arParams['PATH_TO_DEAL_EDIT']) && $arParams['PATH_TO_DEAL_EDIT'] !== '' ? $arParams['PATH_TO_DEAL_EDIT'] : '#SITE_DIR#crm/deal/edit/#deal_id#/'; $arParams['PATH_TO_DEAL_WIDGET'] = isset($arParams['PATH_TO_DEAL_WIDGET']) && $arParams['PATH_TO_DEAL_WIDGET'] !== '' ? $arParams['PATH_TO_DEAL_WIDGET'] : '#SITE_DIR#crm/deal/widget/'; $arParams['PATH_TO_LEAD_LIST'] = isset($arParams['PATH_TO_LEAD_LIST']) && $arParams['PATH_TO_LEAD_LIST'] !== '' ? $arParams['PATH_TO_LEAD_LIST'] : '#SITE_DIR#crm/lead/'; $arParams['PATH_TO_LEAD_EDIT'] = isset($arParams['PATH_TO_LEAD_EDIT']) && $arParams['PATH_TO_LEAD_EDIT'] !== '' ? $arParams['PATH_TO_LEAD_EDIT'] : '#SITE_DIR#crm/lead/edit/#lead_id#/'; $arParams['PATH_TO_QUOTE_LIST'] = isset($arParams['PATH_TO_QUOTE_LIST']) && $arParams['PATH_TO_QUOTE_LIST'] !== '' ? $arParams['PATH_TO_QUOTE_LIST'] : '#SITE_DIR#crm/quote/'; $arParams['PATH_TO_QUOTE_EDIT'] = isset($arParams['PATH_TO_QUOTE_EDIT']) && $arParams['PATH_TO_QUOTE_EDIT'] !== '' ? $arParams['PATH_TO_QUOTE_EDIT'] : '#SITE_DIR#crm/quote/edit/#quote_id#/'; $arParams['PATH_TO_INVOICE_LIST'] = isset($arParams['PATH_TO_INVOICE_LIST']) && $arParams['PATH_TO_INVOICE_LIST'] !== '' ? $arParams['PATH_TO_INVOICE_LIST'] : '#SITE_DIR#crm/invoice/'; $arParams['PATH_TO_INVOICE_EDIT'] = isset($arParams['PATH_TO_INVOICE_EDIT']) && $arParams['PATH_TO_INVOICE_EDIT'] !== '' ? $arParams['PATH_TO_INVOICE_EDIT'] : '#SITE_DIR#crm/invoice/edit/#invoice_id#/'; $arParams['PATH_TO_REPORT_LIST'] = isset($arParams['PATH_TO_REPORT_LIST']) && $arParams['PATH_TO_REPORT_LIST'] !== '' ? $arParams['PATH_TO_REPORT_LIST'] : '#SITE_DIR#crm/reports/report/'; $arParams['PATH_TO_DEAL_FUNNEL'] = isset($arParams['PATH_TO_DEAL_FUNNEL']) && $arParams['PATH_TO_DEAL_FUNNEL'] !== '' ? $arParams['PATH_TO_DEAL_FUNNEL'] : '#SITE_DIR#crm/reports/'; $arParams['PATH_TO_EVENT_LIST'] = isset($arParams['PATH_TO_EVENT_LIST']) && $arParams['PATH_TO_EVENT_LIST'] !== '' ? $arParams['PATH_TO_EVENT_LIST'] : '#SITE_DIR#crm/events/'; $arParams['PATH_TO_PRODUCT_LIST'] = isset($arParams['PATH_TO_PRODUCT_LIST']) && $arParams['PATH_TO_PRODUCT_LIST'] !== '' ? $arParams['PATH_TO_PRODUCT_LIST'] : '#SITE_DIR#crm/product/'; $arParams['PATH_TO_SETTINGS'] = isset($arParams['PATH_TO_SETTINGS']) && $arParams['PATH_TO_SETTINGS'] !== '' ? $arParams['PATH_TO_SETTINGS'] : '#SITE_DIR#crm/configs/'; $arParams['PATH_TO_SEARCH_PAGE'] = isset($arParams['PATH_TO_SEARCH_PAGE']) && $arParams['PATH_TO_SEARCH_PAGE'] !== '' ? $arParams['PATH_TO_SEARCH_PAGE'] : '#SITE_DIR#search/index.php?where=crm'; $arParams['PATH_TO_DEAL_INDEX'] = DealSettings::getDefaultListViewID() === DealSettings::VIEW_LIST ? $arParams['PATH_TO_DEAL_LIST'] : $arParams['PATH_TO_DEAL_WIDGET']; $navigationIndex = CUserOptions::GetOption('crm.navigation', 'index'); if (is_array($navigationIndex)) { foreach ($navigationIndex as $k => $v) { $pageKey = 'PATH_TO_' . strtoupper("{$k}_{$v}"); $arParams['PATH_TO_' . strtoupper($k) . '_INDEX'] = $arParams['PATH_TO_' . strtoupper("{$k}_{$v}")]; } } //<-- Preparing of URL templates $arResult['ACTIVE_ITEM_ID'] = isset($arParams['ACTIVE_ITEM_ID']) ? $arParams['ACTIVE_ITEM_ID'] : ''; $arResult['ENABLE_SEARCH'] = isset($arParams['ENABLE_SEARCH']) && is_bool($arParams['ENABLE_SEARCH']) ? $arParams['ENABLE_SEARCH'] : true; $arResult['SEARCH_PAGE_URL'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_SEARCH_PAGE']); $arResult['ID'] = isset($arParams['ID']) ? $arParams['ID'] : ''; if ($arResult['ID'] === '') { $arResult['ID'] = 'DEFAULT'; }