он прикрепляет рандомные картинки что не так делаю?
<?php
use Bitrix\Tasks\Control;
use Bitrix\Main\Diag\Debug;
use Bitrix\Tasks\Control\Task;
use \Bitrix\Tasks\Internals\TaskTable;
use \Bitrix\Crm\DealTable;
CModule::IncludeModule('tasks');
CModule::IncludeModule('crm');
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('crm', 'OnAfterCrmDealUpdate', 'onAfterUpdate');
$eventManager->addEventHandler('tasks', 'OnTaskUpdate', 'onAfterUpdate');
function onAfterUpdate($taskID, array $fields): array
{
$idTask = $fields['ID'];
$tag = $fields['TAGS'];
$idFile = $fields["UF_TASK_WEBDAV_FILES"][1];
//загружаем файл
$storage = Bitrix\Disk\Driver::getInstance()->getStorageByUserId(1);
$folder = $storage->getFolderForUploadedFiles();
$arFile = CFile::MakeFileArray($idFile);
$file = $folder->uploadFile($arFile, array(
'NAME' => $arFile["name"],
'CREATED_BY' => 1
), array(), true);
$FILE_ID = $file->getId();
$arFormfile = CFile::MakeFileArray($FILE_ID);
// $fname = $_SERVER['DOCUMENT_ROOT']."/upload/from_mail/".$arFormfile["FILE_NAME"];
// $handle = fopen($fname, 'wb');
// fwrite($handle, $dbr_arr["FILE_DATA"]);
// fclose($handle);
// $arFile = CFile::MakeFileArray($fname);
Debug::dumpToFile($arFormfile, $varName = date('Y-m-d H:i:s'),);
// DealTable::update($tag[0], [
// 'TITLE' => 'Обновлено после обновлдения из абработчика из обработчика',
//// "UF_CRM_1698757601681" => Array("n$FILE_ID"),
// "UF_CRM_1698757601681" => CFile::MakeFileArray($arFile),
//
// ]);
return $fields;
}
В задаче диск, а в сделке файл, это разные типы.
Подскажите как получить вложения из задачи, у меня почему то данные получает из mail.Хотя причем тут mail? id файла из задачи же получаю global $USER; $userId = $USER->GetID(); $idTask = $fields['ID']; //$idFile = $fields["UF_TASK_WEBDAV_FILES"][1];//вывод array(2) {[0]=> string(0) ""[1]=> string(3) "191"} $idFile = $fields["UF_TASK_WEBDAV_FILES"][1];//вывод string(3) "191" $arFormfile = CFile::MakeFileArray($idFile);//array(6) {["name"]=>string(17) "5e97717e21085.jpg"["tmp_name"]=> string(109) "/home/bitrix/www/upload/mail/attachment/284/id3eccy8882xh937au9gff2fg35zytmt/c94d6b3e65f5a3ca872b29db86915f08"
конечно ты ид получаешь. но ид диска != ид файла. т.е. тебе надо сделать промежуточное преобразование.
сделал Подскажите добавляет только последний файл, а в множественном поле файл вообще не обновляет как добавить несколько файлов в сделку?
Обсуждают сегодня