Compare commits
10 commits
Author | SHA1 | Date | |
---|---|---|---|
|
e61259ded9 | ||
|
0359315c79 | ||
|
08ff21ce04 | ||
|
de7ecd4100 | ||
|
54692c50d4 | ||
|
61044988d5 | ||
|
7a36fa5de7 | ||
|
8cf4420592 | ||
|
84c7d10146 | ||
|
8c38d21477 |
16 changed files with 224 additions and 1267 deletions
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
|
@ -49,7 +49,7 @@ jobs:
|
||||||
run: composer validate
|
run: composer validate
|
||||||
- name: Cache Composer packages
|
- name: Cache Composer packages
|
||||||
id: composer-cache
|
id: composer-cache
|
||||||
uses: actions/cache@v2
|
uses: actions/cache@v3
|
||||||
with:
|
with:
|
||||||
path: vendor
|
path: vendor
|
||||||
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
|
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
|
||||||
|
|
31
CHANGELOG.md
31
CHANGELOG.md
|
@ -1,3 +1,34 @@
|
||||||
|
|
||||||
|
## 2025-03-26 v6.6.11
|
||||||
|
- Исправлена передача габаритов при выгрузке заказов по агенту
|
||||||
|
|
||||||
|
## 2025-03-25 v6.6.10
|
||||||
|
- Исправлено некорректное изменение статуса оплаты отмененных заказов
|
||||||
|
|
||||||
|
## 2025-03-04 v6.6.9
|
||||||
|
- Исправлено обновление модуля
|
||||||
|
|
||||||
|
## 2025-03-03 v6.6.8
|
||||||
|
- Исправлена ошибка экспорта дополнительных свойств товаров
|
||||||
|
|
||||||
|
## 2025-02-04 v6.6.7
|
||||||
|
- Исправлена ошибка установки модуля на PHP 8.0
|
||||||
|
|
||||||
|
## 2025-01-29 v6.6.6
|
||||||
|
- Поддержка нулевой закупочной стоимости при генерации каталога
|
||||||
|
|
||||||
|
## 2025-01-28 v6.6.5
|
||||||
|
- Исправлена ошибка редактирования интеграционных доставок при активации опции передачи статусов интеграционных оплат
|
||||||
|
|
||||||
|
## 2025-01-27 v6.6.4
|
||||||
|
- Исправлено некорректное удаление признака применения промокода при изменении состава заказа в CRM
|
||||||
|
|
||||||
|
## 2025-01-14 v6.6.3
|
||||||
|
- Исправлены ошибки при обновлении модуля
|
||||||
|
|
||||||
|
## 2025-01-14 v6.6.2
|
||||||
|
- Исправлена выгрузка архива заказов при установке модуля
|
||||||
|
|
||||||
## 2024-12-17 v6.6.1
|
## 2024-12-17 v6.6.1
|
||||||
- Исправлены API методы по взаимодействию с пользовательскими полями и справочниками
|
- Исправлены API методы по взаимодействию с пользовательскими полями и справочниками
|
||||||
|
|
||||||
|
|
|
@ -1226,7 +1226,6 @@ class RetailCrmHistory
|
||||||
}
|
}
|
||||||
|
|
||||||
if (array_key_exists('discountTotal_sum', $collectItems[$product['offer']['externalId']])) {
|
if (array_key_exists('discountTotal_sum', $collectItems[$product['offer']['externalId']])) {
|
||||||
$item->setField('CUSTOM_PRICE', 'Y');
|
|
||||||
$item->setField('DISCOUNT_NAME', '');
|
$item->setField('DISCOUNT_NAME', '');
|
||||||
$item->setField('DISCOUNT_VALUE', '');
|
$item->setField('DISCOUNT_VALUE', '');
|
||||||
|
|
||||||
|
@ -1240,6 +1239,7 @@ class RetailCrmHistory
|
||||||
$price = self::truncate($price, 2);
|
$price = self::truncate($price, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$item->markFieldCustom('PRICE');
|
||||||
$item->setField('PRICE', $price);
|
$item->setField('PRICE', $price);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2062,7 +2062,7 @@ class RetailCrmHistory
|
||||||
$payment->delete();
|
$payment->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($paymentsCrm['totalSumm'] == $paySumm) {
|
if ($paymentsCrm['totalSumm'] == $paySumm && $order->getField('CANCELED') !== 'Y') {
|
||||||
$order->setFieldNoDemand('PAYED', 'Y');
|
$order->setFieldNoDemand('PAYED', 'Y');
|
||||||
} else {
|
} else {
|
||||||
$order->setFieldNoDemand('PAYED', 'N');
|
$order->setFieldNoDemand('PAYED', 'N');
|
||||||
|
|
|
@ -358,7 +358,7 @@ class RetailCrmOrder
|
||||||
|
|
||||||
$order['items'][] = $item;
|
$order['items'][] = $item;
|
||||||
|
|
||||||
if ($send && $dimensionsSetting === 'Y') {
|
if ($dimensionsSetting === 'Y') {
|
||||||
$dimensions = RCrmActions::unserializeArrayRecursive($product['DIMENSIONS']);
|
$dimensions = RCrmActions::unserializeArrayRecursive($product['DIMENSIONS']);
|
||||||
|
|
||||||
if ($dimensions !== false) {
|
if ($dimensions !== false) {
|
||||||
|
@ -370,7 +370,7 @@ class RetailCrmOrder
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($send && $dimensionsSetting === 'Y') {
|
if ($dimensionsSetting === 'Y') {
|
||||||
$order['width'] = $width;
|
$order['width'] = $width;
|
||||||
$order['height'] = $height;
|
$order['height'] = $height;
|
||||||
$order['length'] = $length;
|
$order['length'] = $length;
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
- Исправлены API методы по взаимодействию с пользовательскими полями и справочниками
|
- Исправлена передача габаритов при выгрузке заказов по агенту
|
|
@ -39,7 +39,7 @@ if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/bitrix/php_interface/retailcrm/exp
|
||||||
}
|
}
|
||||||
|
|
||||||
global $PROFILE_ID;
|
global $PROFILE_ID;
|
||||||
$settingService = SettingsService::getInstance([], '', $PROFILE_ID);
|
$settingService = SettingsService::getInstance([], '', $PROFILE_ID ?? $profile_id);
|
||||||
$iblockPropertySku = [];
|
$iblockPropertySku = [];
|
||||||
$iblockPropertySkuHl = [];
|
$iblockPropertySkuHl = [];
|
||||||
$iblockPropertyUnitSku = [];
|
$iblockPropertyUnitSku = [];
|
||||||
|
|
|
@ -31,7 +31,7 @@ if (class_exists('intaro_retailcrm')) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
include (__DIR__ . '/../lib/component/advanced/installertrait.php');
|
require_once(__DIR__ . '/../lib/component/advanced/installertrait.php');
|
||||||
|
|
||||||
class intaro_retailcrm extends CModule
|
class intaro_retailcrm extends CModule
|
||||||
{
|
{
|
||||||
|
@ -58,6 +58,7 @@ class intaro_retailcrm extends CModule
|
||||||
$this->INSTALL_PATH = $path;
|
$this->INSTALL_PATH = $path;
|
||||||
|
|
||||||
include($path . '/version.php');
|
include($path . '/version.php');
|
||||||
|
|
||||||
$this->MODULE_VERSION = $arModuleVersion['VERSION'];
|
$this->MODULE_VERSION = $arModuleVersion['VERSION'];
|
||||||
$this->MODULE_VERSION_DATE = $arModuleVersion['VERSION_DATE'];
|
$this->MODULE_VERSION_DATE = $arModuleVersion['VERSION_DATE'];
|
||||||
$this->MODULE_NAME = GetMessage('RETAIL_MODULE_NAME');
|
$this->MODULE_NAME = GetMessage('RETAIL_MODULE_NAME');
|
||||||
|
@ -87,6 +88,18 @@ class intaro_retailcrm extends CModule
|
||||||
*/
|
*/
|
||||||
function DoInstall()
|
function DoInstall()
|
||||||
{
|
{
|
||||||
|
try {
|
||||||
|
require_once('install_deps.php');
|
||||||
|
} catch (Error $exception) {
|
||||||
|
RCrmActions::eventLog(
|
||||||
|
'RetailCRM module install error',
|
||||||
|
'intaro.retailcrm',
|
||||||
|
$exception->getCode() . ': ' . $exception->getMessage()
|
||||||
|
);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
global $APPLICATION, $step, $arResult;
|
global $APPLICATION, $step, $arResult;
|
||||||
|
|
||||||
if (!in_array('curl', get_loaded_extensions(), true)) {
|
if (!in_array('curl', get_loaded_extensions(), true)) {
|
||||||
|
@ -112,57 +125,6 @@ class intaro_retailcrm extends CModule
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
include($this->INSTALL_PATH . '/../lib/component/apiclient/traits/baseclienttrait.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/component/apiclient/traits/customerstrait.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/component/apiclient/traits/customerscorporatetrait.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/component/apiclient/traits/loyaltytrait.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/component/apiclient/traits/ordertrait.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/component/apiclient/traits/carttrait.php');
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/Http/Client.php');
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/Response/ApiResponse.php');
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/RCrmActions.php');
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/user/RetailCrmUser.php');
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/events/RetailCrmEvent.php');
|
|
||||||
require_once $this->INSTALL_PATH . '/../classes/general/RetailcrmConfigProvider.php';
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/xml/offerparam.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/icml/settingsservice.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/component/agent.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/xml/selectparams.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/xml/unit.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/xml/xmlcategory.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/xml/xmldata.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/xml/xmloffer.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/xml/xmlsetup.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/xml/xmlsetupprops.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/xml/xmlsetuppropscategories.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/icml/icmldirector.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/icml/icmlwriter.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/icml/queryparamsmolder.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/icml/xmlcategorydirector.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/icml/xmlcategoryfactory.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/icml/xmlofferdirector.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/icml/xmlofferbuilder.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/icml/utils/icmlutils.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/repository/catalogrepository.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/repository/filerepository.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/repository/hlrepository.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/repository/measurerepository.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/repository/siterepository.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/service/hl.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/orm/catalogiblockinfo.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/orm/iblockcatalog.php');
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/Exception/InvalidJsonException.php');
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/Exception/CurlException.php');
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/RestNormalizer.php');
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/Logger.php');
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/services/RetailCrmService.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/component/constants.php');
|
|
||||||
$version = COption::GetOptionString($this->MODULE_ID, Constants::CRM_API_VERSION, 0);
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/ApiClient_v5.php');
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/order/RetailCrmOrder_v5.php');
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/history/RetailCrmHistory_v5.php');
|
|
||||||
include($this->INSTALL_PATH . '/../classes/general/cart/RetailCrmCart_v5.php');
|
|
||||||
|
|
||||||
$step = (int) $_REQUEST['step'];
|
$step = (int) $_REQUEST['step'];
|
||||||
|
|
||||||
if (file_exists($this->INSTALL_PATH . '/../classes/general/config/options.xml')) {
|
if (file_exists($this->INSTALL_PATH . '/../classes/general/config/options.xml')) {
|
||||||
|
@ -191,22 +153,6 @@ class intaro_retailcrm extends CModule
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/abstractmodelproxy.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/orderprops.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/tomodule.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/repository/abstractrepository.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/repository/orderpropsrepository.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/repository/persontyperepository.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/repository/tomodulerepository.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/orm/tomodule.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/model/bitrix/agreement.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/repository/agreementrepository.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/service/orderloyaltydataservice.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/service/currencyservice.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/component/factory/clientfactory.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/component/apiclient/clientadapter.php');
|
|
||||||
include($this->INSTALL_PATH . '/../lib/component/advanced/loyaltyinstaller.php');
|
|
||||||
|
|
||||||
$this->installExport();
|
$this->installExport();
|
||||||
$this->subscriptionSetup();
|
$this->subscriptionSetup();
|
||||||
|
|
||||||
|
|
70
intaro.retailcrm/install/install_deps.php
Normal file
70
intaro.retailcrm/install/install_deps.php
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/component/apiclient/traits/baseclienttrait.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/component/apiclient/traits/customerstrait.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/component/apiclient/traits/customerscorporatetrait.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/component/apiclient/traits/loyaltytrait.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/component/apiclient/traits/ordertrait.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/component/apiclient/traits/carttrait.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/Http/Client.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/Response/ApiResponse.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/RCrmActions.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/user/RetailCrmUser.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/events/RetailCrmEvent.php');
|
||||||
|
require_once $this->INSTALL_PATH . '/../classes/general/RetailcrmConfigProvider.php';
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/xml/offerparam.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/icml/settingsservice.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/component/agent.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/xml/selectparams.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/xml/unit.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/xml/xmlcategory.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/xml/xmldata.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/xml/xmloffer.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/xml/xmlsetup.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/xml/xmlsetupprops.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/xml/xmlsetuppropscategories.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/icml/icmldirector.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/icml/icmlwriter.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/icml/queryparamsmolder.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/icml/xmlcategorydirector.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/icml/xmlcategoryfactory.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/icml/xmlofferdirector.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/icml/xmlofferbuilder.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/repository/catalogrepository.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/repository/filerepository.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/repository/hlrepository.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/repository/measurerepository.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/repository/siterepository.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/service/hl.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/orm/catalogiblockinfo.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/orm/iblockcatalog.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/Exception/InvalidJsonException.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/Exception/CurlException.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/RestNormalizer.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/Logger.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/services/RetailCrmService.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/component/constants.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/ApiClient_v5.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/order/RetailCrmOrder_v5.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/history/RetailCrmHistory_v5.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/cart/RetailCrmCart_v5.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/service/managerservice.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/service/loyaltyservice.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/service/loyaltyaccountservice.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/repository/managerrepository.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../classes/general/services/BitrixOrderService.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/abstractmodelproxy.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/orderprops.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/tomodule.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/repository/abstractrepository.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/repository/orderpropsrepository.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/repository/persontyperepository.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/repository/tomodulerepository.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/orm/tomodule.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/model/bitrix/agreement.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/repository/agreementrepository.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/service/orderloyaltydataservice.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/service/currencyservice.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/component/factory/clientfactory.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/component/apiclient/clientadapter.php');
|
||||||
|
require_once($this->INSTALL_PATH . '/../lib/component/advanced/loyaltyinstaller.php');
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$arModuleVersion = [
|
$arModuleVersion = [
|
||||||
'VERSION' => '6.6.1',
|
'VERSION' => '6.6.11',
|
||||||
'VERSION_DATE' => '2024-12-17 13:00:00'
|
'VERSION_DATE' => '2025-03-26 16:00:00'
|
||||||
];
|
];
|
||||||
|
|
|
@ -148,7 +148,7 @@ $MESS ['NO_INTEGRATION_PAYMENT'] = '(Non-integrated)';
|
||||||
$MESS ['ERR_CHECK_JOURNAL'] = 'Error while saving. Details in the event log';
|
$MESS ['ERR_CHECK_JOURNAL'] = 'Error while saving. Details in the event log';
|
||||||
$MESS ['ERROR_LINK_INTEGRATION_PAYMENT'] = 'Error in comparing integration payments';
|
$MESS ['ERROR_LINK_INTEGRATION_PAYMENT'] = 'Error in comparing integration payments';
|
||||||
$MESS ['ERROR_UPDATE_PAYMENT_TYPES_DELIVERY'] = 'Error when updating payment methods for deliveries';
|
$MESS ['ERROR_UPDATE_PAYMENT_TYPES_DELIVERY'] = 'Error when updating payment methods for deliveries';
|
||||||
$MESS ['INTEGRATION_PAYMENT_LABEL'] = 'When correlating CMS and CRM integration payments, a regular payment is created on the system side to which orders will be linked.';
|
$MESS ['INTEGRATION_PAYMENT_LABEL'] = 'When correlating CMS and CRM integration payments, a regular payment is created on the system side to which orders will be linked. <br> If you have integration deliveries in your CRM, then you need to enable the new payment method in the integration settings';
|
||||||
$MESS ['NEED_PERMISSIONS_REFERENCE_LABEL'] = 'For this option to work correctly, the api key needs access to receive and edit reference book';
|
$MESS ['NEED_PERMISSIONS_REFERENCE_LABEL'] = 'For this option to work correctly, the api key needs access to receive and edit reference book';
|
||||||
|
|
||||||
$MESS ['FIX_UPLOAD_CUSTOMER_HEADER'] = 'Fix customer registration date in CRM';
|
$MESS ['FIX_UPLOAD_CUSTOMER_HEADER'] = 'Fix customer registration date in CRM';
|
||||||
|
|
|
@ -213,7 +213,7 @@ $MESS ['NO_INTEGRATION_PAYMENT'] = '(Не интеграционная)';
|
||||||
$MESS ['ERR_CHECK_JOURNAL'] = 'Ошибка при сохранении. Подробности в журнале событий';
|
$MESS ['ERR_CHECK_JOURNAL'] = 'Ошибка при сохранении. Подробности в журнале событий';
|
||||||
$MESS ['ERROR_LINK_INTEGRATION_PAYMENT'] = 'Ошибка при сопоставлении интеграционных оплат';
|
$MESS ['ERROR_LINK_INTEGRATION_PAYMENT'] = 'Ошибка при сопоставлении интеграционных оплат';
|
||||||
$MESS ['ERROR_UPDATE_PAYMENT_TYPES_DELIVERY'] = 'Ошибка при обновлении способов оплаты для доставок';
|
$MESS ['ERROR_UPDATE_PAYMENT_TYPES_DELIVERY'] = 'Ошибка при обновлении способов оплаты для доставок';
|
||||||
$MESS ['INTEGRATION_PAYMENT_LABEL'] = 'При сопоставлении интеграционных оплат CRM, на стороне системы создаётся обычная оплата, к которой будут привязываться заказы.';
|
$MESS ['INTEGRATION_PAYMENT_LABEL'] = 'При сопоставлении интеграционных оплат CRM, на стороне системы создаётся обычная оплата, к которой будут привязываться заказы. <br> Если в вашей CRM используются интеграционные доставки, новый способ оплаты необходимо вручную активировать в настройках интеграций.';
|
||||||
$MESS ['NEED_PERMISSIONS_REFERENCE_LABEL'] = 'Для корректной работы опции апи-ключу необходимы доступы на получение и редактирование справочников';
|
$MESS ['NEED_PERMISSIONS_REFERENCE_LABEL'] = 'Для корректной работы опции апи-ключу необходимы доступы на получение и редактирование справочников';
|
||||||
|
|
||||||
$MESS ['FIX_UPLOAD_CUSTOMER_HEADER'] = 'Исправление даты регистрации клиентов в CRM';
|
$MESS ['FIX_UPLOAD_CUSTOMER_HEADER'] = 'Исправление даты регистрации клиентов в CRM';
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace Intaro\RetailCrm\Component;
|
||||||
*/
|
*/
|
||||||
class Constants
|
class Constants
|
||||||
{
|
{
|
||||||
public const MODULE_VERSION = '6.6.1';
|
public const MODULE_VERSION = '6.6.11';
|
||||||
public const CRM_PURCHASE_PRICE_NULL = 'purchasePrice_null';
|
public const CRM_PURCHASE_PRICE_NULL = 'purchasePrice_null';
|
||||||
public const BITRIX_USER_ID_PREFIX = 'bitrixUserId-';
|
public const BITRIX_USER_ID_PREFIX = 'bitrixUserId-';
|
||||||
public const CRM_USERS_MAP = 'crm_users_map';
|
public const CRM_USERS_MAP = 'crm_users_map';
|
||||||
|
|
|
@ -163,7 +163,7 @@ class IcmlWriter
|
||||||
$this->writeOptionalSimpleElement('vatRate', $offer->vatRate);
|
$this->writeOptionalSimpleElement('vatRate', $offer->vatRate);
|
||||||
$this->writeOptionalSimpleElement('weight', $offer->weight);
|
$this->writeOptionalSimpleElement('weight', $offer->weight);
|
||||||
$this->writeOptionalSimpleElement('dimensions', $offer->dimensions);
|
$this->writeOptionalSimpleElement('dimensions', $offer->dimensions);
|
||||||
$this->writeOptionalSimpleElement('purchasePrice', $offer->purchasePrice);
|
$this->writeOptionalPurchasePrice($offer->purchasePrice);
|
||||||
$this->writer->endElement();
|
$this->writer->endElement();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -180,6 +180,16 @@ class IcmlWriter
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Запись закупочной стоимости
|
||||||
|
*
|
||||||
|
* @param $value
|
||||||
|
*/
|
||||||
|
private function writeOptionalPurchasePrice($value): void
|
||||||
|
{
|
||||||
|
$this->writeSimpleElement('purchasePrice', !empty($value) ? $value : 0);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param $value
|
* @param $value
|
||||||
|
|
|
@ -178,13 +178,12 @@ class SettingsService
|
||||||
$customProps = [];
|
$customProps = [];
|
||||||
|
|
||||||
foreach ($this->customPropList as $propsByCatalog) {
|
foreach ($this->customPropList as $propsByCatalog) {
|
||||||
$customProps = array_merge($customProps, $propsByCatalog);
|
foreach ($propsByCatalog as $code => $value) {
|
||||||
|
$customProps[$code] = $value;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return [
|
return array_merge($this->defaultPropList, $customProps);
|
||||||
...$this->defaultPropList,
|
|
||||||
...$customProps
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getPriceTypes()
|
private function getPriceTypes()
|
||||||
|
|
|
@ -877,7 +877,9 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
|
||||||
$substitutionPaymentList[$integrationPayment] = $codePayment;
|
$substitutionPaymentList[$integrationPayment] = $codePayment;
|
||||||
|
|
||||||
foreach ($originalPayment['deliveryTypes'] as $codeDelivery) {
|
foreach ($originalPayment['deliveryTypes'] as $codeDelivery) {
|
||||||
if (!isset($arResult['deliveryTypesList'][$codeDelivery])) {
|
if (!isset($arResult['deliveryTypesList'][$codeDelivery]) ||
|
||||||
|
isset($arResult['deliveryTypesList'][$codeDelivery]['integrationCode'])
|
||||||
|
) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
1259
intaro.retailcrm/updater.php
Normal file → Executable file
1259
intaro.retailcrm/updater.php
Normal file → Executable file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue