Похожие чаты

Добрый день пытаюсь получить вложение из задачи в сделку но

он прикрепляет рандомные картинки что не так делаю?

<?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;
}

4 ответов

17 просмотров

В задаче диск, а в сделке файл, это разные типы.

One- Автор вопроса
Alexander Ostrovsky
В задаче диск, а в сделке файл, это разные типы.

Подскажите как получить вложения из задачи, у меня почему то данные получает из 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"

конечно ты ид получаешь. но ид диска != ид файла. т.е. тебе надо сделать промежуточное преобразование.

One- Автор вопроса
Alexander Ostrovsky
конечно ты ид получаешь. но ид диска != ид файла. ...

сделал Подскажите добавляет только последний файл, а в множественном поле файл вообще не обновляет как добавить несколько файлов в сделку?

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

Обсуждают сегодня

А кто-то пробовал, уезжая из Эстонии получить э-рез и продолжить вести предпринимательскую деятельность внутри Эстонии, используя свой OÜ?
Lalalashechki Lalala
56
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
I arrived here after a Chico Crypto show highlighted the project & the Team - the fact that the Team had a long history of successfully working with household names gave me e...
Banter is Bullish
4
Dear super pioneers 🥳🥳: I want to purchase a hosting plan for a website where video games, metaverse, AI avatars, videos, and heavy virtual twins can be uploaded, which I wan...
Guapi
8
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
10
Карта сайта