где вносятся записи и обработчиком событий отправляются письма на почту при добавлении, изменении и удалении записи.
И вроде бы все и работало до определенного времени.. Сейчас письмо приходит пустым.
В обработчике событий это..
if($arFields["RESULT"] && $arFields["IBLOCK_ID"] == 130)
{
$dbItems = \Bitrix\Iblock\ElementTable::getList([
'select' => ['IBLOCK_SECTION_ID', 'ACTIVE_FROM'],
'filter' => ['ID' => $arFields['ID']]
]);
if ($arItem = $dbItems->fetch())
self::sendInterviewEntry($arItem['IBLOCK_SECTION_ID'], $arItem['ACTIVE_FROM']->format('Ymd'));
}
После добавлении записи вызывается эта функция и должно придти письмо с этим самым графиком.. что может быть? может я вообще не там смотрю и дело совсем в другом..
public static function sendInterviewEntry(int $iblockSectionId, int $activeFrom)
{
try
{
if(!$iblockSectionId)
throw new \Bitrix\Main\ArgumentException('Wrong iblock section id', 'iblockSectionId');
if(!$activeFrom)
throw new \Bitrix\Main\ArgumentException('Wrong active from date', 'activeFrom');
$opts = array(
'http' => array(
'method' => "GET",
'header' => "Accept-language: ru"
)
);
$context = stream_context_create($opts);
$message = file_get_contents('http://.........../.......?clear_cache=Y&meeting_id='.$iblockSectionId.'&week_start='.$activeFrom,
false, $context);
CEvent::Send("INTERVIEW_ENTRY_GRAPH", SITE_ID, ["HTML" => $message]);
}
catch (SystemException $ex)
{
AddMessage2Log($ex->getMessage(),
$ex->getFile().':'.$ex->getLine(), 10, true);
}
}
Если письмо приходит, то смотрите $message. Возможно она пустая у вас. Сделайте логирование на эту переменную и посмотрите.
Ну как бы должно падать - у вас аргументы функции - int, передаете вы строки. А второе (и глобальное) - у вас идет внешнее обращение к записи, когда транзакция еще не закрыта (скорее всего). Пришлось даже статью писать на эту тему.
спасибо! проблема в этом.
Обсуждают сегодня