1
0
Fork 0
mirror of synced 2025-04-11 05:00:55 +00:00
Изменение текста
Добавлены проверки существования методов
This commit is contained in:
Ivan Chaplygin 2023-12-19 12:56:25 +03:00
parent 8bb300cee1
commit eeb69f2b4c
5 changed files with 33 additions and 9 deletions

View file

@ -66,7 +66,12 @@ class RetailCrmHistory
$matchedCustomFields = RetailcrmConfigProvider::getMatchedUserFields();
$matchedCustomFields = is_array($matchedCustomFields) ? array_flip($matchedCustomFields) : [];
self::$CUSTOM_FIELDS_IS_ACTIVE = RetailcrmConfigProvider::getCustomFieldsStatus();
if (method_exists(RCrmActions::class, 'getTypeUserField')
&& method_exists(RCrmActions::class, 'convertCrmValueToCmsField')
) {
self::$CUSTOM_FIELDS_IS_ACTIVE = RetailcrmConfigProvider::getCustomFieldsStatus();
}
$customUserFieldTypes = [];
@ -282,7 +287,11 @@ class RetailCrmHistory
$matchedCustomOrderFields = RetailcrmConfigProvider::getMatchedOrderProps() ?? [];
$matchedCustomOrderFields = is_array($matchedCustomOrderFields) ? array_flip($matchedCustomOrderFields) : [];
self::$CUSTOM_FIELDS_IS_ACTIVE = RetailcrmConfigProvider::getCustomFieldsStatus();
if (method_exists(RCrmActions::class, 'getTypeUserField')
&& method_exists(RCrmActions::class, 'convertCrmValueToCmsField')
) {
self::$CUSTOM_FIELDS_IS_ACTIVE = RetailcrmConfigProvider::getCustomFieldsStatus();
}
$customUserFieldTypes = [];

View file

@ -123,7 +123,11 @@ class RetailCrmOrder
$countryList = BitrixOrderService::getCountryList();
$deliveryAddress = ['city' => '', 'text' => '', 'index' => '', 'region' => '', 'countryIso' => ''];
$isSendCustomFields = RetailcrmConfigProvider::getCustomFieldsStatus();
$isSendCustomFields = 'N';
if (method_exists(RCrmActions::class, 'convertCmsFieldToCrmValue')) {
$isSendCustomFields = RetailcrmConfigProvider::getCustomFieldsStatus();
}
//Order fields
foreach ($arOrder['PROPS']['properties'] as $prop) {

View file

@ -162,6 +162,12 @@ class RetailCrmUser
private static function getCustomFields(array $arFields)
{
if (!method_exists(RCrmActions::class, 'getTypeUserField')
|| !method_exists(RCrmActions::class, 'convertCmsFieldToCrmValue')
) {
return [];
}
$customUserFields = RetailcrmConfigProvider::getMatchedUserFields();
$typeList = RCrmActions::getTypeUserField();
$result = [];

View file

@ -180,8 +180,8 @@ $MESS ['ORDER_TRACK_NUMBER'] = 'Получать трек-номер';
$MESS ['CUSTOM_FIELDS_TITLE'] = 'Пользовательские поля';
$MESS ['CUSTOM_FIELDS_CAPTION'] = 'Сопоставление пользовательских полей';
$MESS ['CUSTOM_FIELDS_TOGGLE_MSG'] = 'Активировать синхронизацию пользовательских полей';
$MESS ['CUSTOM_FIELDS_ORDER_LABEL'] = 'Свойство заказа Битрикс/Пользовательское поле RetailCRM';
$MESS ['CUSTOM_FIELDS_USER_LABEL'] = 'Пользовательское поле Битрикс/Пользовательское поле RetailCRM';
$MESS ['CUSTOM_FIELDS_ORDER_LABEL'] = 'Пользовательские поля заказа';
$MESS ['CUSTOM_FIELDS_USER_LABEL'] = 'Пользовательские поля клиента';
$MESS ['INTEGER_TYPE'] = 'Целое число';
$MESS ['STRING_TYPE'] = 'Строка/Текст';
$MESS ['NUMERIC_TYPE'] = 'Число';
@ -191,5 +191,3 @@ $MESS ['NOTATION_CUSTOM_FIELDS'] = 'Перед подключением данн
$MESS ['NOTATION_MATCHED_CUSTOM_FIELDS'] = 'Для корректного обмена данными типы сопоставляемых полей должны быть одинаковыми!';
$MESS ['ADD_LABEL'] = 'Добавить';
$MESS ['DELETE_MATCHED'] = 'Удалить';

View file

@ -120,8 +120,15 @@ if (file_exists($_SERVER["DOCUMENT_ROOT"] . '/bitrix/modules/intaro.retailcrm/cl
$arResult['arSites'] = RCrmActions::getSitesList();
$arResult['arCurrencySites'] = RCrmActions::getCurrencySites();
$arResult['bitrixOrdersCustomProp'] = RCrmActions::customOrderPropList();
$arResult['bitrixCustomUserFields'] = RCrmActions::customUserFieldList();
$arResult['bitrixOrdersCustomProp'] = [];
$arResult['bitrixCustomUserFields'] = [];
if (method_exists(RCrmActions::class, 'customOrderPropList')
&& method_exists(RCrmActions::class, 'customUserFieldList')
) {
$arResult['bitrixOrdersCustomProp'] = RCrmActions::customOrderPropList();
$arResult['bitrixCustomUserFields'] = RCrmActions::customUserFieldList();
}
//ajax update deliveryServices
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest') && isset($_POST['ajax']) && ($_POST['ajax'] === 1)) {