Обновлено 18.10.2024
Если в почтовом событии не хватает каких-то необходимых полей, то их можно добавить вручную с помощью небольшой кастомизации сайта. Само добавление состоит из 2х шагов:
	 Пример обработчика для добавления поля #DELIVERY_TIME# со временем доставки заказа. Обработчик можно разместить в файле init.php.
В примере предполагается, что само значение времени доставки вы получите самостоятельно, в зависимости от вашей логики сайта.
\Bitrix\Main\EventManager::getInstance()->addEventHandler( 
    'main', 
    '\Bitrix\Main\Mail\Internal\Event::OnBeforeAdd', 
    '\MailCustom::onBeforeAdd'
);
class MailCustom
{
    function onBeforeAdd(\Bitrix\Main\Entity\Event $event)
    {
        $fields = $event->getParameter("fields");
        if($fields['EVENT_NAME'] != 'SALE_NEW_ORDER') // модифицируем только конкретное почтовое событие
            return;
        $cFields = $fields['C_FIELDS'];
        $cFields['DELIVERY_TIME'] = "моё значение"; // добавляем время доставки
        $result = new \Bitrix\Main\Entity\EventResult();
        $changedFields = array(
            'C_FIELDS' => $cFields,
        );
        $result->modifyFields($changedFields);
        return $result;
    }
}
Если в почтовое событие добавили новое поле и требуется настроить его передачу в amoCRM, достаточно добавить описание этого поля к описаниям других полей в настройках типа почтового события.
	 Например, в типе события "Новый заказ" (SALE_NEW_ORDER) добавили поле "Время доставки" с кодом DELIVERY_TIME. Чтобы модуль его "увидел", добавим его к другим полям в настройках типа события:
#DELIVERY_TIME# - Время доставки;
 
Всё! Теперь вы можете интегрировать это поле точно так же, как и все остальные.
Будьте внимательны в написании системного кода поля. Поле с таким именем должно существовать в почтовом событии. В случае ошибки ничего передано не будет.
По поводу добавления новых полей в существующие почтовые события, а так же добавления новых почтовых событий в ваши решения вы можете написать в техподдержку. Такие услуги не входят в стандартную поддержку модуля и осуществляются на платной основе.