Добрый день!
Создаю лид используя CRest из Битрикс CMS в Битрикс24.
В Б24 имеется пользовательское поле UF_CRM_XXXXXXXXXXX типа файл множественное.
Лид создается, но кириллические имена файлов в лиде выглядят, как кракозябры.
Константа C_REST_CURRENT_ENCODING в файле settings.php (пакета CRest) не задана, как и было по умолчанию.
Если предварительно имена файлов
преобразовать в кодировку Windows-1251, то тогда в лиде кириллические имена читаются. Но это похоже на колхоз.
$fileName = mb_convert_encoding($arFile['ORIGINAL_NAME'], 'Windows-1251', 'UTF-8');
Также не работает ключ useOriginalUfNames и не принимается поле вида UF_CRM_XXXXXXXXXXX, только camelCase - ufCrm_XXXXXXXXXXX
Сейчас использую crm.item.add вместо crm.lead.add потому что в последнем случае файлы вообще никак не передаются.
Создаю лид используя CRest из Битрикс CMS в Битрикс24.
В Б24 имеется пользовательское поле UF_CRM_XXXXXXXXXXX типа файл множественное.
Лид создается, но кириллические имена файлов в лиде выглядят, как кракозябры.
Константа C_REST_CURRENT_ENCODING в файле settings.php (пакета CRest) не задана, как и было по умолчанию.
Если предварительно имена файлов
преобразовать в кодировку Windows-1251, то тогда в лиде кириллические имена читаются. Но это похоже на колхоз.
$fileName = mb_convert_encoding($arFile['ORIGINAL_NAME'], 'Windows-1251', 'UTF-8');
Также не работает ключ useOriginalUfNames и не принимается поле вида UF_CRM_XXXXXXXXXXX, только camelCase - ufCrm_XXXXXXXXXXX
Сейчас использую crm.item.add вместо crm.lead.add потому что в последнем случае файлы вообще никак не передаются.
| Код |
|---|
$files = [];
// Идентификаторы файлов из свойства элемента инфоблока
foreach ($idsFiles as $fileId)
{
$rsFile = CFile::GetById($fileId);
$arFile = $rsFile->Fetch();
$filePath = CFile::GetPath($fileId);
if ($filePath)
{
$fileContent = base64_encode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . $filePath));
// массив имен и содержимого файлов
$files[] = [$arFile['ORIGINAL_NAME'], $fileContent];
}
}
$result = CRest::call(
'crm.item.add',
[
'entityTypeId' => 1, // id сущности "лид"
'fields' => [
'title' => 'Заполнена форма...',
'name' => $name,
'stageId' => 'NEW',
'opened' => 'Y',
'assignedById' => $employeeB24Id,
'comments' => "Какой-то текст",
'companyTitle' => $company,
'post' => $position,
'sourceId' => '1',
'fm' => [// массив мультиполей
['typeId' => 'PHONE', 'valueType' => 'WORK', 'value' => $phone],
['typeId' => 'EMAIL', 'valueType' => 'WORK', 'value' => $email],
['typeId' => 'WEB', 'valueType' => 'OTHER', 'value' => $url]
],
//'UF_CRM_XXXXXXXXXXX' => $files // не работает!!!
'ufCrm_XXXXXXXXXXX' => $files // только camelCase работает
],
// 'useOriginalUfNames' => 'Y', // не работает!!!
]
); |