ref #92570
Исправлена проверка валюты при установке Добавлено ограничение на необходимость соотношения хотя бы 1 магазина при мультивалютности
This commit is contained in:
parent
a66ec1d663
commit
429cea2b34
5 changed files with 14 additions and 2 deletions
|
@ -376,15 +376,21 @@ class intaro_retailcrm extends CModule
|
|||
if (count($arResult['arSites']) > 1) {
|
||||
$api_host = COption::GetOptionString($this->MODULE_ID, $this->CRM_API_HOST_OPTION, 0);
|
||||
$api_key = COption::GetOptionString($this->MODULE_ID, $this->CRM_API_KEY_OPTION, 0);
|
||||
$isEmptySites = true;
|
||||
|
||||
foreach ($arResult['arSites'] as $site) {
|
||||
$siteCode[$site['LID']] = null;
|
||||
|
||||
if ($_POST['sites-id-' . $site['LID']] && !empty($_POST['sites-id-' . $site['LID']])) {
|
||||
$siteCode[$site['LID']] = htmlspecialchars(trim($_POST['sites-id-' . $site['LID']]));
|
||||
$isEmptySites = false;
|
||||
}
|
||||
}
|
||||
|
||||
if ($isEmptySites) {
|
||||
$arResult['errCode'] = 'ERR_EMPTY_SITES_LIST';
|
||||
}
|
||||
|
||||
$arResult['arCurrencySites'] = RCrmActions::getCurrencySites();
|
||||
$result = $this->getReferenceShops($api_host, $api_key);
|
||||
|
||||
|
@ -397,9 +403,11 @@ class intaro_retailcrm extends CModule
|
|||
foreach ($arResult['arSites'] as $bitrixSite) {
|
||||
$LID = $bitrixSite['LID'] ?? null;
|
||||
$cmsCurrency = $arResult['arCurrencySites'][$LID] ?? null;
|
||||
$crmCurrency = $arResult['sitesList'][$siteCode[$LID]]['currency'] ?? null;
|
||||
|
||||
$arResult['errCode'] = CurrencyService::validateCurrency($cmsCurrency, $crmCurrency);
|
||||
if (isset($arResult['sitesList'][$siteCode[$LID]])) {
|
||||
$crmCurrency = $arResult['sitesList'][$siteCode[$LID]]['currency'] ?? null;
|
||||
$arResult['errCode'] = CurrencyService::validateCurrency($cmsCurrency, $crmCurrency);
|
||||
}
|
||||
}
|
||||
|
||||
if (count($arResult['arSites']) != count($siteCode)) {
|
||||
|
|
|
@ -11,6 +11,7 @@ $MESS ['ERR_403'] = 'Wrong apiKey.';
|
|||
$MESS ['ERR_0'] = 'Server connection timeout error.';
|
||||
$MESS ['ERR_FIELDS_API_HOST'] = 'Fields are filled incorrectly.';
|
||||
$MESS ['ERR_METHOD_NOT_FOUND'] = 'Check availability of API methods for current key.';
|
||||
$MESS ['ERR_EMPTY_SITES_LIST'] = 'Match at least 1 store';
|
||||
//$MESS ['URL_NOT_FOUND'] = 'One or more sites have empty "server URL" field.';
|
||||
$MESS ['INFO_1'] = 'Enter the address of RetailCRM instance (for example, https://demo.retailcrm.ru) and API key.';
|
||||
$MESS ['INFO_2'] = 'API key can be generated when the store is registered in RetailCRM (Administration > Integration).';
|
||||
|
|
|
@ -8,6 +8,7 @@ $MESS ['ERR_6'] = 'CRM address may be incorrect.';
|
|||
$MESS ['ERR_403'] = 'Wrong apiKey.';
|
||||
$MESS ['ERR_0'] = 'Server connection timeout error.';
|
||||
$MESS ['ERR_FIELDS_API_HOST'] = 'Fields are filled incorrectly.';
|
||||
$MESS ['ERR_EMPTY_SITES_LIST'] = 'Match at least 1 store';
|
||||
$MESS ['INFO_1'] = 'Set the correspondence between 1C-Bitrix and RetailCRM stores.';
|
||||
$MESS ['INFO_2'] = 'All your stores in RetailCRM must have a common API key!';
|
||||
$MESS ['ERR_CURRENCY_SITES'] = 'The currency of the site differs from the currency of the store in CRM.
|
||||
|
|
|
@ -11,6 +11,7 @@ $MESS ['ERR_403'] = 'Неверный apiKey.';
|
|||
$MESS ['ERR_0'] = 'Превышено время ожидания ответа от сервера.';
|
||||
$MESS ['ERR_FIELDS_API_HOST'] = 'Неверно заполнены поля.';
|
||||
$MESS ['ERR_METHOD_NOT_FOUND'] = 'Проверьте доступность методов API по текущему ключу.';
|
||||
$MESS ['ERR_EMPTY_SITES_LIST'] = 'Соотнесите хотя бы 1 магазин';
|
||||
$MESS ['ERR_COUNT_SITES'] = 'Введенный вами API Ключ относится более чем к одному магазину.
|
||||
Измените настройки доступа для API ключа, он должен работать только с одним магазином в CRM';
|
||||
$MESS ['ERR_CURRENCY_SITES'] = 'Валюта сайта отличается от валюты магазина в CRM.
|
||||
|
|
|
@ -8,6 +8,7 @@ $MESS ['ERR_6'] = 'Возможно неверно введен адрес Retai
|
|||
$MESS ['ERR_403'] = 'Неверный apiKey.';
|
||||
$MESS ['ERR_0'] = 'Превышено время ожидания ответа от сервера.';
|
||||
$MESS ['ERR_FIELDS_API_HOST'] = 'Неверно заполнены поля.';
|
||||
$MESS ['ERR_EMPTY_SITES_LIST'] = 'Соотнесите хотя бы 1 магазин';
|
||||
$MESS ['INFO_1'] = 'Задайте соответствия между Вашими магазинами в 1С-Битрикс и RetailCRM.';
|
||||
$MESS ['INFO_2'] = 'У всех Ваших магазинов в RetailCRM должен быть общий API-ключ!';
|
||||
$MESS ['ERR_CURRENCY_SITES'] = 'Валюта сайта отличается от валюты магазина в CRM.
|
||||
|
|
Loading…
Add table
Reference in a new issue