Вот теперь я перестал понимать. Какая должна быть логика этих скидок и наценок? без формализации в виде правил?
|
[QUOTE]Yury Pahomau написал:
$add_result содержит ид новой записи, но в таблице её нету,[/QUOTE] Скорее всего вам [URL=https://dev.1c-bitrix.ru/community/blogs/vws/rabota-s-tsenami-v-forme-redaktirovaniya-elementa-infobloka.php]сюда[/URL]. |
|
|
|
|
|
Судя по коду - файл у вас модифицирован:
[QUOTE]Евгений написал: $_REQUEST["site_id"] = "s1"; $_REQUEST["goto"] = "index.php";[/QUOTE] этих строк быть не должно |
|
|
|
|
|
[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] |
|
|
|
|
|
[QUOTE]Евгений Ширяев написал:
Выводит ОК, но цену не меняет. Подскажите, пожалуйста, из-за чего это может быть?[/QUOTE] И не должен менять. Нет такого поля - CATALOG_PRICE_1. Подобные ключи используются только для выборки через CIBlockElement::GetList |
|
|
|
|