1
0
mirror of synced 2025-01-19 09:21:41 +03:00
This commit is contained in:
Akolzin Dmitry 2018-01-23 17:24:32 +03:00 committed by GitHub
parent cf41e3dc20
commit a27d2f361e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 25 additions and 29 deletions

View File

@ -440,23 +440,6 @@ class RetailCrmHistory
continue; continue;
} }
if ($optionsOrderNumbers == 'Y' && isset($order['number'])) {
$searchFilter = array(
'filter' => array('ACCOUNT_NUMBER' => $order['number']),
'select' => array('ID'),
);
$searchOrder = \Bitrix\Sale\OrderTable::GetList($searchFilter)->fetch();
if (!empty($searchOrder)) {
if ($searchOrder['ID'] != $order['externalId']) {
RCrmActions::eventLog('RetailCrmHistory::orderHistory', 'setField("ACCOUNT_NUMBER")', 'Error order load id=' . $order['externalId']) . '. Number ' . $order['number'] . ' already exists';
continue;
}
}
$newOrder->setField('ACCOUNT_NUMBER', $order['number']);
}
$personType = $newOrder->getField('PERSON_TYPE_ID'); $personType = $newOrder->getField('PERSON_TYPE_ID');
if (isset($order['orderType']) && $order['orderType']) { if (isset($order['orderType']) && $order['orderType']) {
$nType = array(); $nType = array();
@ -733,7 +716,25 @@ class RetailCrmHistory
$newOrder->setField('PRICE', $orderSumm); $newOrder->setField('PRICE', $orderSumm);
$newOrder->save(); $newOrder->save();
if ($newHistoryPayments) { if ($optionsOrderNumbers == 'Y' && isset($order['number'])) {
$searchFilter = array(
'filter' => array('ACCOUNT_NUMBER' => $order['number']),
'select' => array('ID'),
);
$searchOrder = \Bitrix\Sale\OrderTable::GetList($searchFilter)->fetch();
if (!empty($searchOrder)) {
if ($searchOrder['ID'] != $order['externalId']) {
RCrmActions::eventLog('RetailCrmHistory::orderHistory', 'setField("ACCOUNT_NUMBER")', 'Error order load id=' . $order['externalId']) . '. Number ' . $order['number'] . ' already exists';
continue;
}
}
$newOrder->setField('ACCOUNT_NUMBER', $order['number']);
$newOrder->save();
}
if (!empty($newHistoryPayments)) {
foreach ($newOrder->getPaymentCollection() as $orderPayment) { foreach ($newOrder->getPaymentCollection() as $orderPayment) {
if (array_key_exists($orderPayment->getField('XML_ID'), $newHistoryPayments)) { if (array_key_exists($orderPayment->getField('XML_ID'), $newHistoryPayments)) {
$paymentExternalId = $orderPayment->getId(); $paymentExternalId = $orderPayment->getId();
@ -741,9 +742,6 @@ class RetailCrmHistory
if ($paymentExternalId) { if ($paymentExternalId) {
$newHistoryPayments[$orderPayment->getField('XML_ID')]['externalId'] = $paymentExternalId; $newHistoryPayments[$orderPayment->getField('XML_ID')]['externalId'] = $paymentExternalId;
RCrmActions::apiMethod($api, 'paymentEditById', __METHOD__, $newHistoryPayments[$orderPayment->getField('XML_ID')]); RCrmActions::apiMethod($api, 'paymentEditById', __METHOD__, $newHistoryPayments[$orderPayment->getField('XML_ID')]);
}
if (!is_null($paymentExternalId)) {
\Bitrix\Sale\Internals\PaymentTable::update($paymentExternalId, array('XML_ID' => '')); \Bitrix\Sale\Internals\PaymentTable::update($paymentExternalId, array('XML_ID' => ''));
} }
} }
@ -1107,8 +1105,6 @@ class RetailCrmHistory
$newPaymentId = $newPayment->getId(); $newPaymentId = $newPayment->getId();
unset($paymentsList[$newPaymentId]); unset($paymentsList[$newPaymentId]);
RCrmActions::apiMethod($api, 'paymentEditById', __METHOD__, array('id' => $paymentCrm['id'], 'externalId' => $newPaymentId));
} }
if ($optionsPayment[$paymentCrm['status']] == 'Y') { if ($optionsPayment[$paymentCrm['status']] == 'Y') {

View File

@ -1,2 +1,2 @@
- Исправлен баг с рассчетом суммы заказа - Исправлен баг с передачей номера заказа
- Добавлен перехват исключения при редактировании отгруженной доставки - Исправлены мелкие ошибки и недочеты

View File

@ -1,5 +1,5 @@
<? <?
$arModuleVersion = array( $arModuleVersion = array(
"VERSION" => "2.3.2", "VERSION" => "2.3.3",
"VERSION_DATE" => "2017-01-12 10:30:00" "VERSION_DATE" => "2018-01-23 17:15:00"
); );

View File

@ -9,7 +9,7 @@ $MESS ['ERR_6'] = 'Возможно неверно введен адрес retai
$MESS ['ERR_403'] = 'Неверный apiKey.'; $MESS ['ERR_403'] = 'Неверный apiKey.';
$MESS ['ERR_0'] = 'Превышено время ожидания ответа от сервера.'; $MESS ['ERR_0'] = 'Превышено время ожидания ответа от сервера.';
$MESS ['ERR_FIELDS_API_HOST'] = 'Неверно заполнены поля.'; $MESS ['ERR_FIELDS_API_HOST'] = 'Неверно заполнены поля.';
$MESS ['ERR_METHOD_NOT_FOUND'] = 'Проверьте доступность медодов API по текущему ключу.'; $MESS ['ERR_METHOD_NOT_FOUND'] = 'Проверьте доступность методов API по текущему ключу.';
//$MESS ['URL_NOT_FOUND'] = 'В настройках одного или нескольких сайтов не заполнено поле "URL сервера".'; //$MESS ['URL_NOT_FOUND'] = 'В настройках одного или нескольких сайтов не заполнено поле "URL сервера".';
$MESS ['INFO_1'] = 'Введите адрес экземпляра retailCRM (например, https://demo.retailcrm.ru) и API-ключ.'; $MESS ['INFO_1'] = 'Введите адрес экземпляра retailCRM (например, https://demo.retailcrm.ru) и API-ключ.';
$MESS ['INFO_2'] = 'API-ключ можно сгенерировать при регистрации магазина в retailCRM (Администрирование > Интеграция).'; $MESS ['INFO_2'] = 'API-ключ можно сгенерировать при регистрации магазина в retailCRM (Администрирование > Интеграция).';