- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/notify.php
- Класс: BitrixSaleNotify
- Вызов: Notify::getAllFieldsFromOrder
static function getAllFieldsFromOrder(Order $order)
{
$result = new Result();
$paymentSystemId = false;
$deliveryId = false;
/** @var PaymentCollection $paymentCollection */
if ($paymentCollection = $order->getPaymentCollection())
{
/** @var Payment $payment */
if ($payment = $paymentCollection->rewind())
{
$paymentSystemId = $payment->getPaymentSystemId();
}
}
/** @var ShipmentCollection $shipe */
if ($shipmentCollection = $order->getShipmentCollection())
{
/** @var Shipment $shipment */
foreach ($shipmentCollection as $shipment)
{
if ($shipment->getDeliveryId() > 0)
{
$deliveryId = $shipment->getDeliveryId();
break;
}
}
}
$fields = array(
"SITE_ID" => $order->getSiteId(),
"LID" => $order->getSiteId(),
"PERSON_TYPE_ID" => $order->getPersonTypeId(),
"PRICE" => $order->getPrice(),
"CURRENCY" => $order->getCurrency(),
"USER_ID" => $order->getUserId(),
"PAY_SYSTEM_ID" => $paymentSystemId,
"PRICE_DELIVERY" => $order->getDeliveryPrice(),
"DELIVERY_ID" => $deliveryId,
"DISCOUNT_VALUE" => $order->getDiscountPrice(),
"TAX_VALUE" => $order->getTaxValue(),
"TRACKING_NUMBER" => $order->getField('TRACKING_NUMBER'),
"PAYED" => $order->getField('PAYED'),
"CANCELED" => $order->getField('CANCELED'),
"STATUS_ID" => $order->getField('STATUS_ID'),
"RESERVED" => $order->getField('RESERVED'),
);
$orderFields = static::getOrderFields($order);
if (is_array($orderFields))
{
$orderFields = $fields + $orderFields;
$orderFields = static::convertDateFieldsToOldFormat($orderFields);
}
$result->setData(array(
'FIELDS' => $fields,
'ORDER_FIELDS' => $orderFields,
));
return $result;
}