Ответы пользователя по тегу Битрикс24
  • Как записать значение в массив битрикс 24?

    @reza40k
    $arUserFields1 = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("CRM_COMPANY", 3699);
    //создаем хранилище для юзеров
    $users = [];
    //Если у компании уже есть сотрудники, и их несколько, то закинем их
    if( is_array( $arUserFields1[UF_CRM_1591122266][VALUE] ) ){
    $users = $arUserFields1[UF_CRM_1591122266][VALUE];
    }
    //Битрикс такой битрикс, иногда бывает очень неожиданным после обновлений, поэтому сразу предусмотрим вариант, что как обычно АПИ поменялось и вместо массива с одним сотрудником там просто ID сотрудника и число
    elseif( is_numeric( $arUserFields1[UF_CRM_1591122266][VALUE]  ) && $arUserFields1[UF_CRM_1591122266][VALUE] > 0 ){
    $users[] = $arUserFields1[UF_CRM_1591122266][VALUE];
    }
    //ДОбавляем нового к списку
    $users[] = 850;
    //И сохраняем
    $GLOBALS["USER_FIELD_MANAGER"]->Update("CRM_COMPANY", 3699, Array ("UF_CRM_1591122266" => $users));
    //Хотя если не сработает, тогда надо через СРМ это делать
    if( \Bitrix\Main\Loader::inclideModule('crm') ){
    $company = new \CCrmCompany();
    $company->update( 3699, Array ("UF_CRM_1591122266" => $users) );
    }
    Ответ написан