Похожие чаты

LДобрый день подскажите как прикрепить файл к смарт процессу? я

файл из письма получаю сохраняю без ошибок, пустой смарт процесс тоже создается. А как пытаюсь прикрепить файл так ниче не работает
<?php

use Bitrix\Main\Diag\Debug;
use Bitrix\Crm\Service\Container;
use Bitrix\Crm\Service;
use Bitrix\Main\Loader;

CModule::IncludeModule('mail');
CModule::IncludeModule('crm');
CModule::IncludeModule('tasks');
$eventManager = \Bitrix\Main\EventManager::getInstance();

$eventManager->addEventHandler('mail', 'onMailMessageNew', 'onMailMessageNew');
function onMailMessageNew($event)
{
$message = $event->getParameter('message');

$dbr_attach = CMailAttachment::GetList(Array("NAME" => "ASC", "ID" => "ASC"), Array("MESSAGE_ID" => $message['ID']));
while ($dbr_attach_arr = $dbr_attach->GetNext()) {
if ($dbr_attach_arr["FILE_NAME"]=='1.tmp' ||
preg_match_all('/\\.(?:exe|html|phtml|pl|js|htm|py|php|php4|php3|phtml|shtml)$/i', $dbr_attach_arr["FILE_NAME"], $p_matches, PREG_PATTERN_ORDER))
continue;
$attach_id = $dbr_attach_arr["ID"];
$dbr = CMailAttachment::GetByID($attach_id);
if($dbr_arr = $dbr->Fetch())
{
$fname = $_SERVER['DOCUMENT_ROOT']."/upload/from_mail/".$dbr_attach_arr["FILE_NAME"];
$handle = fopen($fname, 'wb');
fwrite($handle, $dbr_arr["FILE_DATA"]);
fclose($handle);
$arFile = CFile::MakeFileArray($fname);
//создаем смарт процесс
$typeid = '182';//Идентификатор смарт-процесса
$userId = 1;
$factory = Service\Container::getInstance()->getFactory($typeid);
$faсtory = Container::getInstance()->getFactory($typeid);
$data = [
'TITLE' => 'работает4',
'ASSIGNED_BY_ID'=>$userId,
//'UF_CRM_2_1699244494567'=>$arFile, //без этой строки смарт процесс создается
'STAGE_ID' => 'DT182_4:NEW',
];
$item = $factory ->createItem($data);
$item->save();
//создаем смарт процесс
Debug::dumpToFile($arFile); //вывод $arFile
// array(4) {
// ["name"]=>
// string(31) "Surface Laptop 2 (Burgundy).jpg"
// ["size"]=>
// int(144516)
// ["tmp_name"]=>
// string(65) "/home/bitrix/www/upload/from_mail/Surface Laptop 2 (Burgundy).jpg"
// ["type"]=>
// string(10) "image/jpeg"
//}
}
}
}

1 ответов

53 просмотра

$valueFile = Container::getInstance()->getFileUploader()->saveFileTemporary($field, $arFile); $item->set('field_name', $valueFile);

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

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

А кто-то пробовал, уезжая из Эстонии получить э-рез и продолжить вести предпринимательскую деятельность внутри Эстонии, используя свой 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
Карта сайта