Задать вопрос
@SergioMarquinha

Как добавить новые файлы в б24, сохранив при этом старые?

Здравствуйте, битрикс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>';
  • Вопрос задан
  • 144 просмотра
Подписаться 2 Сложный 3 комментария
Помогут разобраться в теме Все курсы
  • Onskills
    Битрикс24: работа с платформой
    1 месяц
    Далее
  • Академия Eduson
    Коммерческий директор
    4 месяца
    Далее
  • OTUS
    Интегратор Битрикс24
    4 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы