- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/notify.php
- Класс: BitrixSaleNotify
- Вызов: Notify::sendPrintableCheck
static function sendPrintableCheck(InternalsEntity $entity)
{
$result = new Result();
if (static::isNotifyDisabled())
{
return $result;
}
if (!($entity instanceof Payment)
&& !($entity instanceof Shipment)
)
{
return $result;
}
/** @var PaymentCollection|ShipmentCollection $collection */
if (!$collection = $entity->getCollection())
{
$result->addError(new ResultError(MainLocalizationLoc::getMessage("SALE_NOTIFY_ENTITY_COLLECTION_NOT_FOUND")));
return $result;
}
/** @var Order $order */
if (!$order = $collection->getOrder())
{
$result->addError(new ResultError(MainLocalizationLoc::getMessage("SALE_NOTIFY_ORDER_NOT_FOUND")));
return $result;
}
$check = CheckManager::getLastPrintableCheckInfo($entity);
if (!empty($check['LINK']))
{
$fields = array(
"ORDER_ID" => $order->getField("ACCOUNT_NUMBER"),
"ORDER_ACCOUNT_NUMBER_ENCODE" => urlencode(urlencode($order->getField("ACCOUNT_NUMBER"))),
"ORDER_USER" => static::getUserName($order),
"ORDER_DATE" => $order->getDateInsert()->toString(),
"EMAIL" => static::getUserEmail($order),
"SALE_EMAIL" => MainConfigOption::get("sale", "order_email", "order@".$_SERVER["SERVER_NAME"]),
"CHECK_LINK" => $check['LINK'],
"ORDER_PUBLIC_URL" => HelpersOrder::isAllowGuestView($order) ? HelpersOrder::getPublicLink($order) : "",
"LINK_URL" => static::getOrderPersonalDetailLink($order)
);
$info = static::getSiteInfo($order);
if ($info)
{
$fields["SITE_NAME"] = $info['TITLE'];
$fields["SERVER_NAME"] = $info['PUBLIC_URL'];
}
$eventName = static::EVENT_ON_CHECK_PRINT_SEND_EMAIL;
$event = new CEvent;
$event->Send($eventName, $order->getField('LID'), $fields, "N");
if ($entity instanceof Payment)
{
static::addSentEvent('p'.$entity->getId(), $eventName);
}
elseif ($entity instanceof Shipment)
{
static::addSentEvent('s'.$entity->getId(), $eventName);
}
}
return $result;
}