Как получить ID всех файлов в указанной папке диска через бизнес-процесс?

Добрый день!

Ситуация такая: есть БП CRM, в котором пользователь закидывает файлы в указанную по ссылке папку. Далее, уже в другом БП, нужно взять эти файлы и, например, отправить в письме.
ID самой папки с файлами прописано в поле сделки, нужно получить список файлов из неё, или их ID.

Файлы закидываем напрямую в папку, так как в БП CRM есть только тип Файл с добавлением по одному файлу, что не очень удобно.
  • Вопрос задан
  • 226 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Warringer Автор вопроса
Попробовал решить задачу через PHP-код и результат записать во множественную переменную. В итоге пустой ответ. не могу понять где ошибся:

\Bitrix\Main\Loader::includeModule('disk');
\Bitrix\Main\Loader::includeModule('crm');

// Получение ID папки из поля документа сделки
$folderId = $this->GetDocumentField('UF_CRM_1700572757268');

if ($folderId) {
$folder = \Bitrix\Disk\Folder::loadById($folderId);
if ($folder) {
$files = $folder->getChildren([
'filter' => ['TYPE' => \Bitrix\Disk\Internals\ObjectTable::TYPE_FILE],
'select' => ['ID'] // Получаем только ID файлов
]);

$fileIds = [];
foreach ($files as $file) {
$fileIds[] = $file->getId();
}

// Установка ID файлов в переменную 'files' для бизнес-процесса
$this->SetVariable("files", $fileIds);
}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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