1
0
Fork 0
mirror of synced 2025-04-11 05:00:55 +00:00
Правка текста
Обновление доступных типов оплат для доставок
Исправление синхронизации по истории
This commit is contained in:
Ivan Chaplygin 2024-01-23 11:44:51 +03:00
parent 10fb7b38c2
commit 2a0e4c5fd0
4 changed files with 29 additions and 8 deletions

View file

@ -288,7 +288,7 @@ class RetailCrmHistory
];
if (RetailcrmConfigProvider::getSyncIntegrationPayment() === 'Y') {
$substitutedPayment = array_flip(RetailcrmConfigProvider::getSubstitutionPaymentList());
$substitutedPayment = RetailcrmConfigProvider::getSubstitutionPaymentList();
foreach ($substitutedPayment as $origCode => $subsCode) {
if (isset($optionsPayment['payTypes'][$origCode])) {

View file

@ -138,10 +138,11 @@ $MESS ['DELETE_MATCHED'] = 'Delete';
$MESS ['LOCATION_LABEL'] = 'Location';
$MESS ['TEXT_ADDRESS_LABEL'] = 'Address (line)';
$MESS ['SYNC_INTEGRATION_PAYMENT'] = 'Activate synchronization of integration payment types';
$MESS ['SYNC_INTEGRATION_PAYMENT'] = 'Activate transfer of integration payment statuses';
$MESS ['DESCRIPTION_AUTO_PAYMENT_TYPE'] = 'Automatically created payment type for integration substitution (Bitrix)';
$MESS ['NO_INTEGRATION_PAYMENT'] = '(Non-integrated)';
$MESS ['ERR_CHECK_JOURNAL'] = 'Error while saving. Details in the event log';
$MESS ['ERROR_LINK_INTEGRATION_PAYMENT'] = 'Error in comparing integration payments';
$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 ['NEED_PERMISSIONS_REFERENCE_LABEL'] = 'For this option to work correctly, the api key needs access to receive and edit reference book';

View file

@ -197,10 +197,11 @@ $MESS ['DELETE_MATCHED'] = 'Удалить';
$MESS ['LOCATION_LABEL'] = 'Местоположение (LOCATION)';
$MESS ['TEXT_ADDRESS_LABEL'] = 'Адрес (строкой)';
$MESS ['SYNC_INTEGRATION_PAYMENT'] = 'Активировать синхронизацию интеграционных типов оплат';
$MESS ['SYNC_INTEGRATION_PAYMENT'] = 'Активировать передачу статусов интеграционных оплат';
$MESS ['DESCRIPTION_AUTO_PAYMENT_TYPE'] = 'Автоматически созданный тип оплаты для подмены интеграционной (Bitrix)';
$MESS ['NO_INTEGRATION_PAYMENT'] = '(Не интеграционная)';
$MESS ['ERR_CHECK_JOURNAL'] = 'Ошибка при сохранении. Подробности в журнале событий';
$MESS ['ERROR_LINK_INTEGRATION_PAYMENT'] = 'Ошибка при сопоставлении интеграционных оплат';
$MESS ['ERROR_UPDATE_PAYMENT_TYPES_DELIVERY'] = 'Ошибка при обновлении способов оплаты для доставок';
$MESS ['INTEGRATION_PAYMENT_LABEL'] = 'При сопоставлении интеграционных оплат CRM, на стороне системы создаётся обычная оплата, к которой будут привязываться заказы.';
$MESS ['NEED_PERMISSIONS_REFERENCE_LABEL'] = 'Для корректной работы опции, апи-ключу необходимы доступы на получение и редактирование справочников';

View file

@ -860,12 +860,31 @@ if (isset($_POST['Update']) && ($_POST['Update'] === 'Y')) {
if ($response->isSuccessful()) {
$substitutionPaymentList[$integrationPayment] = $codePayment;
/* foreach ($arResult['paymentTypesList'][$integrationPayment]['deliveryTypes'] as $codeDelivery) {
$response = $api->deliveryTypesEdit([
'code' => $codeDelivery,
foreach ($originalPayment['deliveryTypes'] as $codeDelivery) {
if (!isset($arResult['deliveryTypesList'][$codeDelivery])) {
continue;
}
])
}*/
$currentDelivery = $arResult['deliveryTypesList'][$codeDelivery];
$deliveryPaymentTypes = $currentDelivery['paymentTypes'];
$deliveryPaymentTypes[] = $codePayment;
$response = $api->deliveryTypesEdit([
'code' => $codeDelivery,
'paymentTypes' => $deliveryPaymentTypes,
'name' => $currentDelivery['name']
]);
if (!$response->isSuccessful()) {
RCrmActions::eventLog(
'Retailcrm::options.php',
'syncIntegrationPayment::UpdateDelivery',
GetMessage('ERROR_LINK_INTEGRATION_PAYMENT') . ' : ' . $response->getResponseBody()
);
$error = 'ERR_CHECK_JOURNAL';
}
}
} else {
RCrmActions::eventLog(
'Retailcrm::options.php',