Код писал программист до меня, но судя по всему да.. Врезаются в OnSaleOrderSaved, вот судя по всему код который пересчитывает стоимость:
[CODE] if (!$USER->IsAuthorized()) {
\Bitrix\Main\Loader::includeModule("catalog");
\Bitrix\Main\Loader::includeModule("sale");
$arGroups = CUser::GetUserGroup($order->getUserId());
$isOptGroup = IsOptUser();
if (true === $isOptGroup) {
$basket = $order->getBasket();
$basketItems = $basket->getBasketItems();
$status = false;
foreach ($basketItems as $item) {
$flag = false;
$price = CCatalogProduct::GetOptimalPrice((int)$item->getProductId(), 1, $arGroups);
$item->setFields([
'CUSTOM_PRICE' => 'Y',
'BASE_PRICE' => ($price['RESULT_PRICE']['BASE_PRICE']),
'PRICE' => ($price['RESULT_PRICE']['DISCOUNT_PRICE'])
]);
$item->save();
$status = true;
}
if (true === $status) {
$order->doFinalAction(true);
$order->save();
}
$flag = true;
}
}[/CODE]Но суть даже не в этом, он getUserGroups у такого клиента на его устройстве возвращает только одну группу (2):
[CODE]Array
(
[0] => 2
)[/CODE]
под его авторизацией на моем устройстве возвращает как положено
[CODE]Array
(
[0] => 2
[1] => 3
[2] => 4
[3] => 10
[4] => 22
)[/CODE]Один и тот же пользователь, но под разными устройствами разное поведение.
[CODE] if (!$USER->IsAuthorized()) {
\Bitrix\Main\Loader::includeModule("catalog");
\Bitrix\Main\Loader::includeModule("sale");
$arGroups = CUser::GetUserGroup($order->getUserId());
$isOptGroup = IsOptUser();
if (true === $isOptGroup) {
$basket = $order->getBasket();
$basketItems = $basket->getBasketItems();
$status = false;
foreach ($basketItems as $item) {
$flag = false;
$price = CCatalogProduct::GetOptimalPrice((int)$item->getProductId(), 1, $arGroups);
$item->setFields([
'CUSTOM_PRICE' => 'Y',
'BASE_PRICE' => ($price['RESULT_PRICE']['BASE_PRICE']),
'PRICE' => ($price['RESULT_PRICE']['DISCOUNT_PRICE'])
]);
$item->save();
$status = true;
}
if (true === $status) {
$order->doFinalAction(true);
$order->save();
}
$flag = true;
}
}[/CODE]Но суть даже не в этом, он getUserGroups у такого клиента на его устройстве возвращает только одну группу (2):
[CODE]Array
(
[0] => 2
)[/CODE]
под его авторизацией на моем устройстве возвращает как положено
[CODE]Array
(
[0] => 2
[1] => 3
[2] => 4
[3] => 10
[4] => 22
)[/CODE]Один и тот же пользователь, но под разными устройствами разное поведение.