• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/exchange/integration/timeline/shipment.php
  • Класс: BitrixSaleExchangeIntegrationTimelineShipment
  • Вызов: Shipment::statusNotify
public function statusNotify(Event $event)
{
	/** @var BitrixSaleShipment $shipment */
	$shipment = $event->getParameters()['ENTITY'];

	/** @var ShipmentCollection $collection */
	$collection = $shipment->getCollection();
	$order = $collection->getOrder();

	if(static::isSync($order) == true)
	{
		$idOld = $shipment->getFields()->getOriginalValues()['STATUS_ID'] ?? '';
		$nameOld = DeliveryStatus::getAllStatusesNames()[$idOld] ?? $idOld;
		$id = $shipment->getField('STATUS_ID');
		$name = DeliveryStatus::getAllStatusesNames()[$id] ?? $id;

		$settings = [
			'ENTITY_TYPE_ID' => IntegrationCRMEntityType::ORDER_SHIPMENT,
			'FIELD_NAME' => 'STATUS_ID',
			'CURRENT_VALUE' => $name,
			'PREVIOUS_VALUE' => $nameOld,
			'LEGEND' => Loc::getMessage('SALE_INTEGRATION_B24_TIMELINE_SHIPMENT_NUMBER').$shipment->getId().'. '.$shipment->getDeliveryName(),
		];

		static::onReceive($order->getId(), $settings);
	}
}