← К заметкам

Заметки

Файл Диска и вложение в комментарий CRM: почему ID недостаточно

Загрузка файла на Диск и добавление вложения в комментарий CRM — разные операции. Результат disk.folder.uploadfile нельзя без проверки передать как FILES: [9043] в crm.timeline.comment.add.

Для комментария таймлайна метод принимает пары «имя файла, содержимое Base64». Например, этот вызов добавит небольшой текстовый файл к сделке:

BX24.callMethod('crm.timeline.comment.add', {
    fields: {
        ENTITY_TYPE: 'deal',
        ENTITY_ID: 123,
        COMMENT: 'Файл для проверки',
        FILES: [['check.txt', 'b2s=']]
    }
}, function (result) {
    if (result.error()) {
        console.error(result.error());
        return;
    }
    console.log(result.data());
});

Здесь b2s= — Base64 строки ok. Для PDF нужно кодировать байты самого файла, а не его URL или локальный путь.

Отдельная загрузка на Диск нужна, когда файл должен жить в определённой папке. Но способ его последующего прикрепления зависит от получателя: поле «Файл Диска», дело и комментарий имеют разные контракты. Выбирать формат нужно по методу назначения.

Документация: crm.timeline.comment.add.