<?
Bitrix\Main\Loader::includeModule('tasks');
header("Cache-control: private");
header("Content-type: application/force-download; charset=windows-1251");
header("Content-Disposition: attachment; filename=tasks.csv");
$str = "Номер задачи;Название задачи;Дата;Email клиента SOCOCO;Имя клиента SOCOCO;From;Email;Phone;Company;plan;space";
echo $str, PHP_EOL;
$arFilter = array(
'UF_SOCOCO_TASK' => 1, // признак автозадачи по SOCOCO
// '<PRIORITY' => 2, //не важные
'>=CREATED_DATE' => ConvertTimeStamp(AddToTimeStamp(array('YYYY' => -1)), 'SHORT'), // старше 14 дней
// 'REAL_STATUS' => array(CTasks::STATE_NEW, CTasks::STATE_PENDING, CTasks::STATE_IN_PROGRESS), // не закрытые
);
$res = CTasks::GetList(
Array('CREATED_DATE' => 'desc'),
$arFilter,
Array('ID', 'PRIORITY', 'CREATED_DATE', 'TITLE', 'REAL_STATUS', 'UF_SOCOCO_TASK_EMAIL', 'UF_SOCOCO_TASK_UNAME', 'DESCRIPTION'),
Array('USER_ID' => 1622) // для обеспечения достаточности прав доступа
);
while ($arTask = $res->fetch())
{
$arData = [
$arTask['ID'],
$arTask['TITLE'],
$arTask['CREATED_DATE'],
$arTask['UF_SOCOCO_TASK_EMAIL'],
$arTask['UF_SOCOCO_TASK_UNAME'],
];
if(preg_match_all('/From:\s*(.*)\s*\nEmail:\s*(.*)\s*\nPhone:\s*(.*)\s*\nCompany:\s*(.*)\s*\nplan:\s*(.*)\s*\n.*\nspace:\s*(.*)/', $arTask['DESCRIPTION'], $output_array, PREG_SET_ORDER))
{
$output_array = $output_array[0];
array_shift($output_array);
$arData = array_merge($arData, $output_array);
}
echo implode(';', $arData), PHP_EOL;
}