файл из письма получаю сохраняю без ошибок, пустой смарт процесс тоже создается. А как пытаюсь прикрепить файл так ниче не работает
                  
                  
                  <?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"  
                  
                  
                  //}  
                  
                  
                  }  
                  
                  
                  }  
                  
                  
                  }
                  
                  
                
$valueFile = Container::getInstance()->getFileUploader()->saveFileTemporary($field, $arFile); $item->set('field_name', $valueFile);
Обсуждают сегодня