В этом посте я расскажу как добавить элемент истории сущности CRM (лид, сделка, контакт, компания, предложение).
Собственно сразу кусок кода на добавление, а ниже разберем каждое из полей.
if (\Bitrix\Main\Loader::includeModule('crm')) {
$CCrmEvent = new CCrmEvent();
$CCrmEvent->Add(
array(
'ENTITY_TYPE'=> 'DEAL',
'ENTITY_ID' => '457',
'EVENT_ID' => 'INFO',
'EVENT_TEXT_1' => 'Tratatat test',
'DATE_CREATE' => $eventDate,
'FILES' => array(
CFile::MakeFileArray('/bitrix/templates/bitrix24/images/template_sprite_21.png')
)
)
);
}
|
Поехали:
ENTITY_TYPE - к какой сущности относится, может принимать значения: LEAD, CONTACT, COMPANY, DEAL, QUOTE (лид, контакт, компания, сделка, предложение).
ENTITY_ID - ID соответствующей сущности.
EVENT_ID - тип записи, которую вы хотите сделать, может принимать значения: INFO, PHONE, MESSAGE (информация, телефонный звонок, отправленный e-mail), хочу заметить, что актуальный тип только "информация", для звонков и e-mail используются отдельные сущности, которые мы тут рассматривать не будем.
EVENT_TEXT_1 - текст.
FILES - список файлов, если требуется.
DATE_CREATE - дата записи, по умолчанию текущее время, но вы можете подшаманить примерно так:
$eventDate = ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL', SITE_ID); |
Вот и все, результат:
Побольше бы таких примером )))
Очень просто и понятно
А как сделать тоже самое , только в ленту ?
$entity_type = 'LEAD'; $entity_id = '13308'; $now = ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL', 's1'); $arBindings[] = array( 'OWNER_TYPE_ID' => CCrmOwnerType::ResolveID($entity_type), 'OWNER_ID' => $entity_id ); $arFields = array( 'OWNER_ID' => $entity_id, 'OWNER_TYPE_ID' => CCrmOwnerType::ResolveID($entity_type), 'TYPE_ID' => CCrmActivityType::Email, 'SUBJECT' => 'ФАЙЛ', 'START_TIME' => $now, 'END_TIME' => $now, 'COMPLETED' => 'Y', 'RESPONSIBLE_ID' => $USER->GetID(), 'PRIORITY' => CCrmActivityPriority::Medium, 'DESCRIPTION' => 'Тестирование записи в лид', 'DESCRIPTION_TYPE' => CCrmContentType::BBCode, 'DIRECTION' => CCrmActivityDirection::Outgoing, 'LOCATION' => '', 'NOTIFY_TYPE' => CCrmActivityNotifyType::None, 'BINDINGS' => array_values($arBindings) ); $test = CCrmActivity::Add($arFields, false, false, array('REGISTER_SONET_EVENT' => true));Докопался до источников как добавить обычный коммент:
P.S. Капец, 4 года прошло от последнего комментария - до сих пор в документации ни слова. Типа "для вас Rest API сделали, зачем вам низкий уровень?".