1
0
Fork 0
mirror of synced 2025-04-20 01:21:01 +00:00
This commit is contained in:
Akolzin Dmitry 2017-11-01 15:33:01 +03:00
parent 0e1ec2b03c
commit 87d3b41d30
9 changed files with 62 additions and 39 deletions

View file

@ -1,3 +1,7 @@
## 2017-11-01 v.2.2.8
* Исправлены баги пакетной выгрузки
* Исправлена ошибка при работе на php7.1
## 2017-10-26 v.2.2.7
* Исправлен баг при работе с одним сайтом

View file

@ -326,7 +326,7 @@ class RCrmActions
return self::proxy($api, $methodApi, $method, array($params, $site));
}
}
private function proxy($api, $methodApi, $method, $params) {
$log = new Logger();
$version = COption::GetOptionString(self::$MODULE_ID, self::$CRM_API_VERSION, 0);
@ -360,11 +360,11 @@ class RCrmActions
'params' => $params
), 'apiErrors');
}
if (function_exists('retailCrmApiResult')) {
retailCrmApiResult($methodApi, false, $result->getStatusCode());
}
if ($result->getStatusCode() == 460) {
return true;
}
@ -408,11 +408,11 @@ class RCrmActions
return false;
}
if (function_exists('retailCrmApiResult')) {
retailCrmApiResult($methodApi, true, $result->getStatusCode());
}
return $result;
}
}

View file

@ -1186,16 +1186,16 @@ class RetailCrmHistory
return $outputArray;
}
public static function setProp($obj, $value = '', $prop)
public static function setProp($obj, $value = '', $prop = '')
{
if (!isset($obj)) {
return false;
}
if ($prop) {
if ($prop && $value) {
$obj->setField($prop, $value);
} elseif ($value) {
} elseif ($value && !$prop) {
$obj->setValue($value);
} else {
} elseif (!$value && !$prop) {
$obj->delete();
}

View file

@ -1155,7 +1155,7 @@ class RetailCrmHistory
//data from crm
$paySumm = 0;
foreach ($paymentsCrm['payments'] as $paymentCrm) {
if (!empty($paymentCrm['externalId'])) {
if (isset($paymentCrm['externalId']) && !empty($paymentCrm['externalId'])) {
//find the payment
$nowPayment = $paymentsList[$paymentCrm['externalId']];
//update data
@ -1189,9 +1189,9 @@ class RetailCrmHistory
unset($paymentsList[$newPaymentId]);
RCrmActions::apiMethod($api, 'ordersPaymentEdit', __METHOD__, array('id' => $paymentCrm['id'], 'externalId' => $newPaymentId));
RCrmActions::apiMethod($api, 'paymentEditById', __METHOD__, array('id' => $paymentCrm['id'], 'externalId' => $newPaymentId));
}
if ($optionsPayment[$paymentCrm['status']] == 'Y') {
$paySumm += $paymentCrm['amount'];
}
@ -1242,16 +1242,16 @@ class RetailCrmHistory
return $outputArray;
}
public static function setProp($obj, $value = '', $prop)
public static function setProp($obj, $value = '', $prop = '')
{
if (!isset($obj)) {
return false;
}
if ($prop) {
if ($prop && $value) {
$obj->setField($prop, $value);
} elseif ($value) {
} elseif ($value && !$prop) {
$obj->setValue($value);
} else {
} elseif (!$value && !$prop) {
$obj->delete();
}

View file

@ -272,7 +272,15 @@ class RetailCrmOrder
if (count($resOrders) > 0) {
foreach ($resCustomers as $key => $customerLoad) {
$site = count($optionsSitesList) > 1 ? $optionsSitesList[$key] : null;
if ($optionsSitesList) {
if (array_key_exists($key, $optionsSitesList) && $optionsSitesList[$key] != null) {
$site = $optionsSitesList[$key];
} else {
continue;
}
} elseif (!$optionsSitesList) {
$site == null;
}
if (RCrmActions::apiMethod($api, 'customersUpload', __METHOD__, $customerLoad, $site) === false) {
return false;
}
@ -281,7 +289,15 @@ class RetailCrmOrder
}
}
foreach ($resOrders as $key => $orderLoad) {
$site = count($optionsSitesList) > 1 ? $optionsSitesList[$key] : null;
if ($optionsSitesList) {
if (array_key_exists($key, $optionsSitesList) && $optionsSitesList[$key] != null) {
$site = $optionsSitesList[$key];
} else {
continue;
}
} elseif (!$optionsSitesList) {
$site == null;
}
if (RCrmActions::apiMethod($api, 'ordersUpload', __METHOD__, $orderLoad, $site) === false) {
return false;
}

View file

@ -279,16 +279,6 @@ class RetailCrmOrder
$order = self::orderObjToArr($id);
$user = Bitrix\Main\UserTable::getById($order['USER_ID'])->fetch();
if(array_key_exists($arOrder['LID'], $optionsSitesList)) {
$site = $optionsSitesList[$arOrder['LID']];
} else {
$site = null;
}
if ($site == null) {
continue;
}
$arCustomers = RetailCrmUser::customerSend($user, $api, $optionsContragentType[$order['PERSON_TYPE_ID']], false, $site);
$arOrders = self::orderSend($order, $api, $arParams, false, $site);
@ -304,10 +294,14 @@ class RetailCrmOrder
if (count($resOrders) > 0) {
foreach ($resCustomers as $key => $customerLoad) {
if(array_key_exists($key, $optionsSitesList)) {
$site = $optionsSitesList[$key];
} else {
$site = null;
if ($optionsSitesList) {
if (array_key_exists($key, $optionsSitesList) && $optionsSitesList[$key] != null) {
$site = $optionsSitesList[$key];
} else {
continue;
}
} elseif (!$optionsSitesList) {
$site == null;
}
if (RCrmActions::apiMethod($api, 'customersUpload', __METHOD__, $customerLoad, $site) === false) {
return false;
@ -317,10 +311,14 @@ class RetailCrmOrder
}
}
foreach ($resOrders as $key => $orderLoad) {
if(array_key_exists($key, $optionsSitesList)) {
$site = $optionsSitesList[$key];
} else {
$site = null;
if ($optionsSitesList) {
if (array_key_exists($key, $optionsSitesList) && $optionsSitesList[$key] != null) {
$site = $optionsSitesList[$key];
} else {
continue;
}
} elseif (!$optionsSitesList) {
$site == null;
}
if (RCrmActions::apiMethod($api, 'ordersUpload', __METHOD__, $orderLoad, $site) === false) {
return false;

View file

@ -1 +1,2 @@
- Исправлен баг при работе с одним сайтом
- Исправлены баги пакетной выгрузки
- Исправлена ошибка при работе на php7.1

View file

@ -1,5 +1,5 @@
<?
$arModuleVersion = array(
"VERSION" => "2.2.7",
"VERSION_DATE" => "2017-09-25 14:50:00"
"VERSION" => "2.2.8",
"VERSION_DATE" => "2017-11-01 15:30:00"
);

View file

@ -276,12 +276,16 @@ if (isset($_POST['Update']) && ($_POST['Update'] == 'Y')) {
UnRegisterModuleDependences("sale", "OnSaleOrderEntitySaved", $mid, "RetailCrmEvent", "orderSave");
UnRegisterModuleDependences("sale", "OnOrderUpdate", $mid, "RetailCrmEvent", "onUpdateOrder");
UnRegisterModuleDependences("sale", "OnSaleOrderEntityDelete", $mid, "RetailCrmEvent", "orderDelete");
UnRegisterModuleDependences("sale", "OnSalePaymentEntitySaved", $mid, "RetailCrmEvent", "paymentSave");
UnRegisterModuleDependences("sale", "OnSalePaymentEntityDeleted", $mid, "RetailCrmEvent", "paymentDelete");
} elseif (($orderDischarge != $previousDischarge) && ($orderDischarge == 1)) {
// event dependencies
RegisterModuleDependences("sale", "OnSaleOrderEntitySaved", $mid, "RetailCrmEvent", "orderSave");
RegisterModuleDependences("sale", "OnOrderUpdate", $mid, "RetailCrmEvent", "onUpdateOrder");
RegisterModuleDependences("sale", "OnSaleOrderEntityDelete", $mid, "RetailCrmEvent", "orderDelete");
RegisterModuleDependences("sale", "OnSalePaymentEntitySaved", $mid, "RetailCrmEvent", "paymentSave");
RegisterModuleDependences("sale", "OnSalePaymentEntityDeleted", $mid, "RetailCrmEvent", "paymentDelete");
}
$orderPropsArr = array();