From 60e818e7933820f6ee1c8a02c9d2c783864c3c22 Mon Sep 17 00:00:00 2001 From: Vlad <48670792+Mozgito@users.noreply.github.com> Date: Tue, 14 Jun 2022 11:57:44 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B0?= =?UTF-8?q?=D1=87=D0=B8=20=D0=BC=D0=B5=D1=81=D1=82=D0=BE=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=20=D0=B0=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D1=81=D0=B5=20=D0=B4=D0=BE=D1=81=D1=82=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=BF=D0=BE=20=D0=B8=D1=81=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=B8=D0=B8=20(#253)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Корректировка передачи местоположения в адресе доставки по истории --- CHANGELOG.md | 3 ++ .../general/history/RetailCrmHistory_v5.php | 49 ++++++------------- intaro.retailcrm/description.ru | 2 +- intaro.retailcrm/install/version.php | 4 +- 4 files changed, 22 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31b544a1..b49631a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 2021-05-18 v.6.0.4 +* Исправление передачи местоположения в адресе доставки по истории + ## 2021-05-13 v.6.0.3 * Исправление автозагрузки классов diff --git a/intaro.retailcrm/classes/general/history/RetailCrmHistory_v5.php b/intaro.retailcrm/classes/general/history/RetailCrmHistory_v5.php index b6f654b6..12af716a 100644 --- a/intaro.retailcrm/classes/general/history/RetailCrmHistory_v5.php +++ b/intaro.retailcrm/classes/general/history/RetailCrmHistory_v5.php @@ -716,45 +716,30 @@ class RetailCrmHistory } } elseif (array_key_exists($key, $order['delivery']['address'])) { if ($propsKey[$orderProp]['TYPE'] == 'LOCATION') { - if( $order['delivery']['address']['index'] ) { - $location = CSaleLocation::GetByZIP($order['delivery']['address']['index']); - } - $order['delivery']['address'][$key] = trim($order['delivery']['address'][$key]); - if(!empty($order['delivery']['address'][$key])){ - $parameters = array(); + if (!empty($order['delivery']['address'][$key])) { + $parameters['filter']['NAME.LANGUAGE_ID'] = 'ru'; + $parameters['limit'] = 1; + $parameters['select'] = array('*'); + + // if address have a dot $loc = explode('.', $order['delivery']['address'][$key]); if (count($loc) == 1) { - $parameters['filter']['PHRASE'] = RCrmActions::fromJSON(trim($loc[0])); - } elseif (count($loc) == 2) { - $parameters['filter']['PHRASE'] = RCrmActions::fromJSON(trim($loc[1])); + $parameters['filter']['=NAME.NAME'] = RCrmActions::fromJSON(trim($loc[0])); } else { - RCrmActions::eventLog( - 'RetailCrmHistory::orderHistory', - 'RetailCrmHistory::setProp', - sprintf( - 'Error location. %s not found add in order number = %s', - $order['delivery']['address'][$key], - $order['number'] - ) - ); - - continue; + $parameters['filter']['=NAME.NAME'] = RCrmActions::fromJSON(trim($loc[1])); } - $parameters['filter']['NAME.LANGUAGE_ID'] = 'ru'; + $location = Finder::find( + $parameters + )->fetch(); + } + if (!empty($location)) { + $somePropValue = $propertyCollection + ->getItemByOrderPropertyId($propsKey[$orderProp]['ID']) + ; try { - if (!isset($location)) { - $location = Finder::find( - $parameters, - ['USE_INDEX' => false, 'USE_ORM' => false] - )->fetch(); - } - - $somePropValue = $propertyCollection - ->getItemByOrderPropertyId($propsKey[$orderProp]['ID']); - self::setProp($somePropValue, $location['CODE']); } catch (ArgumentException $argumentException) { RCrmActions::eventLog( @@ -773,8 +758,6 @@ class RetailCrmHistory $order['number'] ) ); - - continue; } } else { $somePropValue = $propertyCollection diff --git a/intaro.retailcrm/description.ru b/intaro.retailcrm/description.ru index 427a15af..8b89781b 100644 --- a/intaro.retailcrm/description.ru +++ b/intaro.retailcrm/description.ru @@ -1 +1 @@ -- Исправление автозагрузки классов +- Исправление передачи местоположения в адресе доставки по истории diff --git a/intaro.retailcrm/install/version.php b/intaro.retailcrm/install/version.php index 1666223b..e28a6f11 100644 --- a/intaro.retailcrm/install/version.php +++ b/intaro.retailcrm/install/version.php @@ -1,6 +1,6 @@ '6.0.3', - 'VERSION_DATE' => '2022-05-13 14:00:00' + 'VERSION' => '6.0.4', + 'VERSION_DATE' => '2022-05-18 17:00:00' ];