список полей компании https://dev.1c-bitrix.ru/rest_help/crm/company/crm_company_fields.php список полей контакта https://dev.1c-bitrix.ru/rest_help/crm/contacts/crm_contact_fields.php Важно! Раньше контакт мог быть привязанным только к одной компании. А сейчас к нескольким! |
Компании
получить компанию
$companyId = intval($arFields["COMPANY_ID"]); $arFilter = array("ID"=>$companyId,"CHECK_PERMISSIONS"=>"N"); $arSelect = array("TITLE", UF_CRM_TARIFF,UF_CRM_COMPANY_TIME); $rsCompany = CCrmCompany::GetList(Array(),$arFilter,$arSelect); if($arComp = $rsCompany->Fetch()){ } |
$company = new \CCrmCompany( false ); $arUpdateData = [UF_CRM_COMPANY_TIME => $newTime]; $arOptions = [ //'DISABLE_USER_FIELD_CHECK' => true, "CURRENT_USER"=> 1, "ENABLE_SYSTEM_EVENTS" =>true ]; $upRes = $company->Update($companyId, $arUpdateData, true, true, $arOptions); |
$CCrmEvent = new CCrmEvent(); $CCrmEvent->Add( array( 'ENTITY_TYPE'=> "COMPANY", //LEAD, CONTACT, DEAL 'ENTITY_ID' => $id, 'EVENT_ID' => 'INFO', 'EVENT_TEXT_1' => 'Просмотр карточки ais за '.date("d.m.Y", $date), //какой-то текст //'FILES' => array(CFile::MakeFileArray('/bitrix/templates/bitrix24/images/template_sprite_21.png')), //'DATE_CREATE' => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL', SITE_ID), //по умолчанию текущее время ) ); |
Контакт
добавить контакт
$arFields = array( "NAME" => "Имя", "LAST_NAME" => "Фамилия", "SECOND_NAME" => "Отчество", "HONORIFIC" => "HNR_RU_1", "POST" => "Должность", "ADDRESS" => "Улица, дом, корпус, строение", "ADDRESS_2" => "Квартира / офис", "ADDRESS_CITY" => "Город", "ADDRESS_POSTAL_CODE" => "Почтовый индекс", "ADDRESS_REGION" => "Район", "ADDRESS_PROVINCE" => "Область", "ADDRESS_COUNTRY" => "Страна", "ADDRESS_COUNTRY_CODE" => "", "SOURCE_DESCRIPTION" => "Описание", "SOURCE_ID" => "SELF", "TYPE_ID" => "SHARE", "POST" => "не указано",//должность //"OPENED" => "N", //открыто для других пользователей "EXPORT" => "Y",//участвует в экспорте 'FM' => array(//почта, телефон 'EMAIL' => array( 'n0' => array('VALUE' => $arNewUser["EMAIL"], 'VALUE_TYPE' => 'WORK') ), 'PHONE' => array( 'n0' => array('VALUE' => $arNewUser["PERSONAL_MOBILE"], 'VALUE_TYPE' => 'WORK') ) ), //"COMPANY_ID" => $companyId, раньше только к одной можно было привязать "COMPANY_IDS"=>array(1,2,3), //массив id компаний, сейчас можно так "ASSIGNED_BY_ID" => $manager,//id ответственного менеджера ); //создаем контакт $oContact = new \CCrmContact(false); $oContact->add($arFields); if($oContact->LAST_ERROR != ""){ //не создался контакт } |
$arFields = array( "NAME" => "Имя", "LAST_NAME"=> "Фамилия" ); $oContact = new CCrmContact(false); $oContact->Update($contactId,$arFields); |
$arDelete = array(); $res = CCrmContact::GetContactByCompanyId($companyId); while ($ar = $res->Fetch()) { $arDelete[] = $ar['ID']; } $CCrmContact = new CCrmContact(); $CCrmContact->UpdateCompanyId($arDelete, 0); |
$contactIDs = \Bitrix\Crm\Binding\ContactCompanyTable::getCompanyContactIDs($companyId); |
$dbCont = CCrmFieldMulti::GetList( array('ID' => 'asc'), //сортировка array( 'ELEMENT_ID' => $contactId 'ENTITY_ID' => "COMPANY", //"CONTACT","LEAD","DEAL" 'TYPE_ID' => "PHONE" //"EMAIL", ) //фильтр ); while($arCont = $dbCont->Fetch()){ //$arCont["VALUE"] там значение } |
$fieldMulti = new CCrmFieldMulti(); $fieldMulti->Add([ 'ELEMENT_ID' => $companyId, 'ENTITY_ID' => "COMPANY", //"CONTACT","LEAD","DEAL" 'TYPE_ID' => "PHONE", //"EMAIL", 'VALUE' => $tel, 'VALUE_TYPE' => 'WORK', ]); |