Здравствуйте, битрикс24 коробка.
Есть сделка с пользовательским полем с типом файл, множественный.
В этом поле уже имеются файлы.
Что нужно:
Отправить новые файлы через сайт в это пользовательское поле, при этом сохранив старые файлы.
Максимум что у меня получается - это то, что пользовательское поле просто перезаписывается, сохраняя НОВЫЕ файлы, стерев старые.
Как добавить новые файлы, при этом сохранив старые?
Спасибо
require_once(__DIR__.'/crest.php');
// файлы, которые нужно добавить
$filePaths = [
__DIR__ . '/filesForTest/test.docx',
__DIR__ . '/filesForTest/test2.docx',
];
$deal = CRest::call('crm.deal.get', [
'id' => 159
]);
$existingFiles = $deal['result']['UF_CRM_1766393619832'] ?? [];
$filesForUpdate = [];
// старые файлы (ID)
foreach ($existingFiles as $fileId) {
$filesForUpdate[] = $fileId;
}
// новые файлы
foreach ($filePaths as $path) {
if (!file_exists($path)) {
continue;
}
$filesForUpdate[] = [
'fileData' => [
basename($path),
base64_encode(file_get_contents($path))
]
];
}
$result = CRest::call('crm.deal.update', [
'id' => 159,
'fields' => [
'UF_CRM_1766393619832' => $filesForUpdate
]
]);
echo '<pre>';
print_r($filesForUpdate);
echo '</pre>';