Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/sale/lib/exchange/integration/ |
Upload File : |
<?php namespace Bitrix\Sale\Exchange\Integration; use Bitrix\Main\Event; use Bitrix\Sale\Internals\OrderTable; use Bitrix\Sale\Order; use Bitrix\Sale\Exchange\Integration; final class Handler { static public function handlerCallbackOnSaleOrderSaved(Event $event) { /** @var Order $order */ $order = $event->getParameters()['ENTITY']; if((new Integration\Connector\Manager())->isOn()) { if($order->isNew()) { $fields = new \Bitrix\Sale\Internals\Fields( \Bitrix\Main\Context::getCurrent() ->getRequest() ->toArray()); $placement = new Integration\CRM\Placement\PlacementDeal($fields->getValues()); if($placement->getTypeHandler() == Integration\HandlerType::ORDER_NEW) //deal exists + new order { if($fields->get('entityTypeId') == Integration\CRM\EntityType::DEAL && $fields->get('entityId')>0) { $params[$order->getId()] = [ 'OWNER_TYPE_ID'=>Integration\CRM\EntityType::DEAL, 'OWNER_ID'=>$fields->get('entityId') ]; (new Integration\Service\Scenarios\DealUpdate()) ->update($fields->get('entityId'), $params); (new static()) ->syncB24($order); } } else //new deal + new order { /* (new Integration\Service\Scenarios\DealAdd()) ->adds([$order->getId()=>$order->getFieldValues()]); (new static()) ->syncB24($order); */ } } } } static public function syncB24(Order $order) { $order->setFieldNoDemand('IS_SYNC_B24', 'Y'); OrderTable::update($order->getId(), ['IS_SYNC_B24' => 'Y']); } }