%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.141.7.144 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.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']); } }