1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
order.php
См. документацию.
1<?php
2namespace Bitrix\Sale\Exchange\Integration\Timeline;
3
4use Bitrix\Main\Event;
5use Bitrix\Main\Localization\Loc;
6use Bitrix\Sale\Exchange\Integration;
7use Bitrix\Sale\OrderStatus;
8
9Loc::loadMessages(__FILE__);
10
11class Order extends Base
12{
13 static public function statusNotify(Event $event)
14 {
16 $order = $event->getParameters()['ENTITY'];
17
18 if(static::isSync($order) == true)
19 {
20 if($order->isNew() == false)
21 {
22 $idOld = $order->getFields()->getOriginalValues()['STATUS_ID'] ?? '';
23 $nameOld = OrderStatus::getAllStatusesNames()[$idOld] ?? $idOld;
24 $id = $order->getField('STATUS_ID');
26
27 $settings = [
28 'ENTITY_TYPE_ID' => Integration\CRM\EntityType::ORDER,
29 'FIELD_NAME' => 'STATUS_ID',
30 'CURRENT_VALUE' => $name,
31 'PREVIOUS_VALUE' => $nameOld
32 ];
33
34 static::onReceive($order->getId(), $settings);
35 }
36 }
37 }
38 static public function canceledNotify(Event $event)
39 {
41 $order = $event->getParameters()['ENTITY'];
42
43 if(static::isSync($order) == true)
44 {
45 if($order->isCanceled())
46 {
47 $settings = [
48 'ENTITY_TYPE_ID' => Integration\CRM\EntityType::ORDER,
49 'FIELD_NAME' => 'CANCELED',
50 'CURRENT_VALUE' => 'Y',
51 'LEGEND' => Loc::getMessage('SALE_INTEGRATION_B24_TIMELINE_ORDER_NUMBER').$order->getId(),
52 ];
53
54 static::onReceive($order->getId(), $settings);
55 }
56 }
57 }
58}
Определения event.php:5
static getAllStatusesNames($lang=null)
Определения statusbase.php:285
$name
Определения menu_edit.php:35
$order
Определения payment.php:8
$settings
Определения product_settings.php:43
$event
Определения prolog_after.php:141