• Модуль: 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;
}