diff --git a/CHANGELOG.md b/CHANGELOG.md index aab6d95f..28fbb530 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 2025-08-01 v6.7.3 +- Добавлено логирование ошибок при редактировании заказа + ## 2025-07-08 v6.7.2 - Скрыта опция Daemon Collector diff --git a/intaro.retailcrm/classes/general/order/RetailCrmOrder_v5.php b/intaro.retailcrm/classes/general/order/RetailCrmOrder_v5.php index 7b71eb84..518882b1 100644 --- a/intaro.retailcrm/classes/general/order/RetailCrmOrder_v5.php +++ b/intaro.retailcrm/classes/general/order/RetailCrmOrder_v5.php @@ -29,6 +29,7 @@ use RetailCrm\Response\ApiResponse; use Intaro\RetailCrm\Component\ConfigProvider; use Intaro\RetailCrm\Model\Api\Response\OrdersCreateResponse; +use Intaro\RetailCrm\Model\Api\Response\OrdersEditResponse; IncludeModuleLangFile(__FILE__); @@ -474,9 +475,9 @@ public static function orderSend( Logger::getInstance()->write($order, 'orderCreate'); $crmBasket = RCrmActions::apiMethod($api, 'cartGet', __METHOD__, $externalId, $site); - $orderResponse = $client->createOrder($order, $site); + $orderCreateResponse = $client->createOrder($order, $site); - if ($orderResponse instanceof OrdersCreateResponse && !$orderResponse->success) { + if ($orderCreateResponse instanceof OrdersCreateResponse && !$orderCreateResponse->success) { Logger::getInstance()->write([ 'methodApi' => 'orderCreate', @@ -487,7 +488,7 @@ public static function orderSend( } - if (!empty($crmBasket['cart']) && $orderResponse instanceof OrdersCreateResponse && !empty($orderResponse->id) ) { + if (!empty($crmBasket['cart']) && $orderCreateResponse instanceof OrdersCreateResponse && !empty($orderResponse->id) ) { RCrmActions::apiMethod( $api, 'cartClear', @@ -498,20 +499,31 @@ public static function orderSend( 'externalId' => $externalId ], 'order' => [ - 'id' => $orderResponse->id + 'id' => $orderCreateResponse->id ] ], $site ); } - return $orderResponse; + return $orderCreateResponse; } if ($methodApi === 'ordersEdit') { Logger::getInstance()->write($order, 'orderEdit'); - return $client->editOrder($order, $site); + $orderEditResponse = $client->editOrder($order, $site); + + if ($orderEditResponse instanceof OrdersEditResponse && !$orderEditResponse->success) { + Logger::getInstance()->write([ + 'methodApi' => 'orderEdit', + 'errorMsg' => $orderEditResponse->errorMsg ?? '', + 'errors' => $orderEditResponse->errors ?? '', + 'params' => ['number' => $order['number'], 'externalId' => $order['externalId']] + ], 'apiErrors'); + } + + return $orderEditResponse; } } diff --git a/intaro.retailcrm/description.ru b/intaro.retailcrm/description.ru index ff7d7ce8..17deea94 100644 --- a/intaro.retailcrm/description.ru +++ b/intaro.retailcrm/description.ru @@ -1 +1 @@ -- Скрыта опция Daemon Collector +- Добавлено логирование ошибок при редактировании заказов \ No newline at end of file diff --git a/intaro.retailcrm/install/version.php b/intaro.retailcrm/install/version.php index d1054850..6b85138b 100644 --- a/intaro.retailcrm/install/version.php +++ b/intaro.retailcrm/install/version.php @@ -1,6 +1,6 @@ '6.7.2', - 'VERSION_DATE' => '2025-07-08 15:30:00' + 'VERSION' => '6.7.3', + 'VERSION_DATE' => '2025-08-01 15:30:00' ]; diff --git a/intaro.retailcrm/lib/component/constants.php b/intaro.retailcrm/lib/component/constants.php index 304c9c7f..e68c5e08 100644 --- a/intaro.retailcrm/lib/component/constants.php +++ b/intaro.retailcrm/lib/component/constants.php @@ -18,7 +18,7 @@ */ class Constants { - public const MODULE_VERSION = '6.7.2'; + public const MODULE_VERSION = '6.7.3'; public const CRM_PURCHASE_PRICE_NULL = 'purchasePrice_null'; public const BITRIX_USER_ID_PREFIX = 'bitrixUserId-'; public const CRM_USERS_MAP = 'crm_users_map';