[QUOTE]Илья Малашко написал:
Повторю, что ошибок нет, CPrice::Update() срабатывает корректно, CPrice::Add() просто возвращает false.[/QUOTE]
Ошибаетесь. [S]Изучите список полей для этих методов. Тип цены вы не передаете. Точнее передаете, но в неверном ключе.[/S] В фильтр для выбора вы не передаете тип цен, соответственно, при наличии у товара цен разных типов будет изменена произвольная цена, а не цена с типом 1.
Что касается CPrice::Add - если он вернул false, выведите ошибку с помощью такого кода:[CODE]global $APPLICATION;
$ex = $APPLICATION->GetException();
if ($ex)
{
echo $ex->GetString();
}
else
{
echo 'Ошибка добавления'; // в этом случае с большой вероятностью нужно искать обработчик события OnBeforePriceAdd, блокирующий добавление
}
[/CODE]
Повторю, что ошибок нет, CPrice::Update() срабатывает корректно, CPrice::Add() просто возвращает false.[/QUOTE]
Ошибаетесь. [S]Изучите список полей для этих методов. Тип цены вы не передаете. Точнее передаете, но в неверном ключе.[/S] В фильтр для выбора вы не передаете тип цен, соответственно, при наличии у товара цен разных типов будет изменена произвольная цена, а не цена с типом 1.
Что касается CPrice::Add - если он вернул false, выведите ошибку с помощью такого кода:[CODE]global $APPLICATION;
$ex = $APPLICATION->GetException();
if ($ex)
{
echo $ex->GetString();
}
else
{
echo 'Ошибка добавления'; // в этом случае с большой вероятностью нужно искать обработчик события OnBeforePriceAdd, блокирующий добавление
}
[/CODE]