Автоматический ответ в ТП через N дней.

Рейтинг: 42.0316  
На голосовании
Предложил Роман Забродин 13.02.2012 13:31:08

Автоматический ответ в ТП через N дней.

После того как ответственный разработчик перевел тикет в статус решенного, через N дней должно автоматически добавляться сообщение:

Если вопрос решен — пожалуйста закройте обращение. Если остались вопросы — пожалуйста напишите. Обращение будет закрыто автоматически через M дней.
Рейтинг: 6.9091  
Ответил Шаромов Денис 04.07.2013 19:37:33
В разработке стоит такое пожелание. В качестве временного решения можно деактивировать системный агент и использовать свой:

function SupportAutoClose()
{
        if (!CModule::IncludeModule('support'))
                return "SupportAutoClose();";

        global $DB;

        $rs = $DB->Query('SELECT ID,SITE_ID FROM b_ticket WHERE
        LAST_MESSAGE_BY_SUPPORT_TEAM="Y"
        AND DATE_CLOSE IS NULL
        AND TIMESTAMP_X < NOW()-INTERVAL 7 DAY
        LIMIT 5
        '); // no api for LAST_MESSAGE_BY_SUPPORT_TEAM
        while($f = $rs->Fetch())
        {
                $rs0 = CTicket::GetById($f['ID'], $f['SITE_ID'], 'N');
                if ($f0 = $rs0->Fetch())
                {
                        if ($f0['OWNER_USER_ID'])
                        {
                                $rs1 = CUser::GetById($f0['OWNER_USER_ID']);
                                $f1 = $rs1->Fetch();
                                CEvent::Send('BX_TICKET_AUTOCLOSE', $f['SITE_ID'],
                                        array_merge($f0, array(
                                                'OWNER_EMAIL' => $f1['EMAIL']
                                        ))
                                );
                        }
                }
        }
        return "SupportAutoClose();";
}


Затем надо создать шаблон BX_TICKET_AUTOCLOSE со своим текстом и получателем #OWNER_EMAIL#.

7 DAY можно заменить на требуемое число дней.