Форум программистов, компьютерный форум, киберфорум
1С Битрикс
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/27: Рейтинг темы: голосов - 27, средняя оценка - 4.89
6 / 6 / 0
Регистрация: 07.08.2012
Сообщений: 88
1

запутался с ценой ,выводит бред

07.09.2012, 17:59. Показов 5079. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
PHP
1
2
  $arPrice = CPrice::GetByID($arFields['ID']);
echo CurrencyFormat($arPrice["PRICE"], $arPrice["CURRENCY"]);
выводит цену в валюте. долларах и евро
$2,967
PHP
1
2
3
 $val = $arPrice["PRICE"]; // сумма
        echo "сумма";
print ($val); echo "</br>";
сумма2967.00


PHP
1
2
echo "валюта";
        print ($arPrice["CURRENCY"]); echo "</br>";
валютаUSD

PHP
1
2
3
4
 $newval = CCurrencyRates::ConvertCurrency($val, $arPrice["CURRENCY"], "RUR");
        $rurval_str = number_format($newval, 0, ".", " ");
        echo "посчитано";
        print ($rurval_str); echo "</br>";
посчитано100 995

____________________
в самой же карточке товара в рублях Цена: 46 598 руб.
в редактироании товара стоит вообще 1103.00 евро
не понятно почему даже исходную цену не ту показывает, что делать ума нет (

Добавлено через 6 минут
PHP
1
 print("id is=");print($arFields['ID']);echo "</br>";
выводит 184
если в админке посмотреть этот товар с эти ИД, цена - €1,103

из этого следует., что ИД верный и
PHP
1
$arPrice = CPrice::GetByID($arFields['ID']);
олжен выдавать верную цену.

или я что-то не так сделал?

Добавлено через 16 минут
указал конкретный ИД товара
PHP
1
$arPrice = CPrice::GetByID(243);
получил €6,266

при входе в товар 243 через админку внутри цена евро 2520.00

это вообще реально?

Добавлено через 21 минуту
решение такое:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 <? ///////////////////////////////////////// цена
 
        $rsPrices = CPrice::GetList(array(), array('PRODUCT_ID' => $arFields['ID'], 'CATALOG_GROUP_ID' => 1));
        if ($arPrice = $rsPrices->Fetch())
        {
            echo CurrencyFormat($arPrice["PRICE"], $arPrice["CURRENCY"]);
        }
              
// предполагаем, что валюты USD и EUR существуют в базе
        $val = $arPrice["PRICE"]; // сумма
        echo "сумма";
        print ($val); echo "</br>";
 
        echo "валюта";
        print ($arPrice["CURRENCY"]); echo "</br>";
 
        $newval = CCurrencyRates::ConvertCurrency($val, $arPrice["CURRENCY"], "RUR");
        $rurval_str = number_format($newval, 0, ".", " ");
        echo "посчитано";
        print ($rurval_str); echo "</br>";
 
        print("id is=");print($arFields['ID']);echo "</br>";
        ?>
а теперь подробно в чем весь калл данной ситуации:
http://dev.1c-bitrix.ru/api_he... 2661b0.php
PHP
1
2
3
4
array
CPrice::GetByID(
 int ID
);
Функция возвращает ценовое предложение по его коду ID
а не цену!!!
это пстц товарищи, причем полный.

тоесть я пытался выводить так:
PHP
1
$arPrice = CPrice::GetByID($arFields['ID']);
сделал по другому
PHP
1
2
3
4
5
 $rsPrices = CPrice::GetList(array(), array('PRODUCT_ID' => $arFields['ID'], 'CATALOG_GROUP_ID' => 1));
        if ($arPrice = $rsPrices->Fetch())
        {
            echo CurrencyFormat($arPrice["PRICE"], $arPrice["CURRENCY"]);
        }
ответ там
http://dev.1c-bitrix.ru/commun... opic35628/

BITRIX
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2012, 17:59
Ответы с готовыми решениями:

Почему выводит бред
Имеется следующий код #include &lt;iostream&gt; #include &lt;locale&gt; using namespace std; ...

_getch() в цикле выводит бред вместо русских букв
Извращался тут с getch(), возникла небольшая, но странная (для меня) проблема. В программе такого...

Хочу продать системник.Нужно определиться с ценой с ценой
Нужно срочно продать системный блок.Вот комплектация: AMD FX-8320 (FD8320F) 3.5 GHz ...

Запутался или не выводит строки из файла
Вот код, как я сказал, выводит из файла только первую строку и зацикливается на первой строке...

2
694 / 534 / 40
Регистрация: 22.06.2009
Сообщений: 1,293
10.09.2012, 08:43 2
Цитата Сообщение от sonapax Посмотреть сообщение
Функция возвращает ценовое предложение по его коду ID
а не цену!!!
это пстц товарищи, причем полный.
Если возвращать цену по ID товара, а не по ID предложения, то что делать в случае если у одного товара несколько цен? Например цена у одного и того же товара различается по регионам, или по странам.

Что должна вернуть функция CPrice::GetByID() если передать в нее ID товара по вашему? Первую попавшуюся цену из нескольких? И определять рандомно каждый раз?

Добавлено через 5 минут
Кстати говоря. Функцией CPrice::GetByID() я вообще не пользуюсь.
Во время выборки из инфоблока функцией CIBlockElement::GetList в массиве $arSelectFields можно указать "CATALOG_GROUP_<PRICE_CODE>", где PRICE_CODE - ID типа цены.

То есть сразу в выборке элементов инфоблока можно получить нужный тип цены, например цену в нужном регионе.
0
694 / 534 / 40
Регистрация: 22.06.2009
Сообщений: 1,293
14.09.2012, 07:05 3
Цитата Сообщение от sonapax Посмотреть сообщение
PHP
1
2
3
4
5
 $rsPrices = CPrice::GetList(array(), array('PRODUCT_ID' => $arFields['ID'], 'CATALOG_GROUP_ID' => 1));
        if ($arPrice = $rsPrices->Fetch())
        {
            echo CurrencyFormat($arPrice["PRICE"], $arPrice["CURRENCY"]);
        }
Чето вдруг зашел еще раз в тему.
Увидел вызов API и сразу "echo CurrencyFormat".
В связи с этим вопрос — это код с рабочего проекта или просто демо для форума?

На всякий случай.
Есть компоненты и шаблоны компонентов. API по правильному нужно использовать внутри компонента. В шаблоне только подставляются данные в нужные места html кода. Вызывать API внутри шаблона компонента очень нежелательно.

Тем более нежелательно вызывать API просто на странице, без использования компонента.

Если нужно только чуть подправить данные которые сформировал компонент, но при этом сам компонент не затрагивать, то между компонентом и его шаблоном есть прослойка result_modifier.php, в которой так же можно использовать API.
0
14.09.2012, 07:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.09.2012, 07:05
Помогаю со студенческими работами здесь

Файл: Хочу прочитать текстовый файл в textbox, но он выводит какой то бред...
Хочу прочитать текстовый файл в textbox, но он выводит какой то бред... Помогите пожалуйста. Вот...

Выбор видеокарты ценой до 2,5 т.р.
Хочу собрать компьютер для работы в программах типа SolidWorks. Хочу взять процессор Core i5 2500...

Управление ценой за переход
Хотел бы узнать, уточнить несколько моментов. Вот есть цена за спецразм, возьмём 50с, часто на...

Помогите с ценой на ноут???
Знатоки помогите оценить ноутбук Toshiba G45-AV690 MaxPost.INFO - Ноутбук Toshiba Qosmio...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru