Как лучше увидеть конкретный тип цены для конкретного клиента?
Сейчас ситуация такая: не получается настроить 1С-Битрикс: Управление сайтом 25.750.0.
По вводным: 1. Нужно чтобы на каждого пользователя был свой тип цены
Сейчас ситуация такая: 2. Товары, на которые в типе цены нет значения не отображались у пользователя
Сейчас:
Сейчас ситуация такая: отображаются товары с разными типами цен (по минимальной видимо), в корзине видно товары с разными типами цен для конкретного пользователя (не администратор), который должен видеть только свои цены.
По вводным: так же что удивительно, на конкретном примере для пользователя с типом цены "Перекресток (вид цены)":
Нужно понять: улитки с шоколадом нет в наличии, в настройках товара цена есть и количество. Какие настройки ещё нужны, чтобы магия заработала?
По вводным: прочие настройки и корзина:
Подскажите, куда копать.
По вводным: p.S. Товары импортированы из 1С, если причина беды может крыться в этом.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос







В 1С-Битрикс конкретный тип цены для конкретного клиента зависит от групп пользователя, настроек типов цен и прав доступа к ним. В каталоге цена выбирается не просто “по клиенту”, а по тому, какие группы назначены пользователю и какие типы цен доступны этим группам.
Проверьте в админке: Магазин/Каталог → Типы цен. У каждого типа цены есть группы пользователей, которым разрешён просмотр и покупка. Если клиент не входит в нужную группу, он не увидит нужную цену.
В коде можно проверить группы текущего пользователя:
global $USER; $groups = $USER->GetUserGroupArray(); print_r($groups);
Для получения цен товара используйте API каталога. В старом коде часто встречается
CPrice::GetList, но в новых проектах лучше смотреть актуальные классы модуля catalog. Пример старого подхода для диагностики:$res = CPrice::GetList( array(), array('PRODUCT_ID' => $productId) ); while ($price = $res->Fetch()) { print_r($price); }
Если используется SKU, цена может быть не у родительского товара, а у торгового предложения. Тогда нужно проверять ID offer, а не ID основного элемента.
Также проверьте кэш компонента. После изменения групп или типов цен старый кэш может показывать прежние значения. Для диагностики временно отключите кэш или сбросьте его.
Итог: определите группы пользователя, проверьте права типа цены, убедитесь, что смотрите цену правильного товара/SKU, и очистите кэш. Если нужна персональная цена для клиента, обычно это решается группами пользователей или отдельной логикой скидок, а не ручным выбором в шаблоне.