В битриксе есть обработчик, который я хочу использовать для сбора отчетов:
RegisterModuleDependences("iblock", "OnAfterIBlockElementAdd", "OnWeekAfterReviewAdded");
При отправке сообщений он должен писать в базу а потом выводить определенный промежуток. По сути отчет годовой, месячный, недельный. Однако не понятно, куда пишет эти события данный хук. К сожалению не нашел этого в документации. .. Есть сообщения о отзыве формируемые массивом:
AddEventHandler("iblock", "OnAfterIBlockElementAdd", "OnWeekAfterReviewAdded");
function OnWeekAfterReviewAdded($arFields)
{
if($arFields['IBLOCK_ID'] == IBLOCK_REVIEWS_ID)
{
$arEventFields = array(
'LINK_TO_REVIEW' => $arFields['PROPERTY_VALUES']['LINK'],
'TEXT' => $arFields['DETAIL_TEXT'],
'NAME' => $arFields['NAME'],
'DATE' => $arFields['DATE_ACTIVE_FROM'],
'IP' => $arFields['PROPERTY_VALUES']['IP'],
'EMAIL' => $arFields['PROPERTY_VALUES']['EMAIL'],
'ID' => $arFields['IBLOCK_ID'],
'TEST' => $arFields,
);
CEvent::Send('EMAIL_WEEK_REPORT', 's1', $arEventFields);
}
}
Мне же необходимо это событие отправлять в раз в месяц первого числа и в понедельник.
Вот ссылка на документацию RegisterModuleDependences. Как следует из названия Эта функция регистрирует зависимости модуля. Ее стоит использовать когда вы разрабатываете свой модуль для битрикса.
По сути вызов этого метода создает запись в таблице b_module_to_module.
Скорее всего вам нужен метод AddEventHandler, который регистрирует обработчик события на лету (без записи в базу данных).
Разница этих подходов:
Используемый вами обработчик OnAfterIBlockElementAdd срабатывает на каждом изменении элемента инфоблока, но не гарантируется его вызов при изменении свойств.
Если вы хотите собирать факт изменений элементов инфоблоков, это можно сделать на странице настроек инфоблока, вкладка "Журнал событий"
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости