В статье речь пойдет про данные поля (и многие другие), которые присутствуют во всех сущностях CRM
Управляются они все одними методами, поэтому работать с ними достаточно легко.
К примеру, чтобы получить список "Тип компании", достаточно воспользоваться конструкцией
CModule::IncludeModule('crm');
$status = new CCrmStatus('COMPANY_TYPE');
$status->GetStatusListEx('COMPANY_TYPE'); |
Замечу, что данные методы не статические и вызываться должны через инициацию объекта как в примере.
Встает вопрос как узнать нужный вам тип (например, сфера деятельности, или тип компании, тип клиента). Достаточно взглянуть в таблицу b_crm_status (так как CRM постоянно расширяется, список может устареть). Там достаточно сгруппировать по типу запросом
select * from b_crm_status group by ENTITY_ID; |
Чтобы увидеть такую вполне понятную картинку
По второй колонке вам станет понятно код нужного вам типа.
Как добавить программно новый элемент таких списков?
Вот так
CModule::IncludeModule('crm');
$status = new CCrmStatus('COMPANY_TYPE');
$status->add(array(
'STATUS_ID' => 'MYTT2',
'NAME' => 'My new',
'SORT' => '500'
)); |
Заметьте, я COMPANY_TYPE указываю при инициации, а в массиве добавляемого элемента я его не указываю. В данном случае я добавляю программно новый вариант типа компании.
Если код выполнился, а ничего не произошло, то скорее всего ошибка (чаще всего это дубль символьного кода). Чтобы увидеть ошибку, надо сделать следующее:
if ($ex = $APPLICATION->getException()) {
echo $ex->getString();
} |
На этом все.