При добавлении нового элемента товара в инфоблок появляется сообщение ‘Ошибка Не найден базовый тип цен’ |
|
Зайти в типы цен торгового каталога и установить базовую цену |
|
Платформа обновилась до Версия системы 12.0.3 проблема с типами цен. В предложенном Вами варианте — в торговом каталоге отсутствие «типы цен». Подскажите пжт. где найти и как решить проблему? |
|
зайдите в раздел «магазин» и там найдете пункт «Типы цен». Там и создавайте базовую цену:) |
|
Евгений Жуков Администратор Сообщений: 9219 Epic fail — сказать «это так просто» и не суметь сделать |
#5 0 04.12.2012 16:56:17
Исправление вышло в обновлении catalog 12.0.6
Речь идет о редакции Малый бизнес. В ней нет работы с несколькими типами цен. Не надо сверлить зубы через задний проход дрелью от Сваровски |
||||
Редакция малый бизнес все модули обновлены, ставился чистый 12й битрикс, ошибка осталась http://pix.am/kt88/ http://pix.am/A0Wh/ , в техподдержку, да? |
|
Евгений Жуков Администратор Сообщений: 9219 Epic fail — сказать «это так просто» и не суметь сделать |
Это другая ошибка. Сообщение «Отсутствуют цены» возникает, если не указана ни одна цена (не ТИП цен) для товара. Если Вы хотите иметь возможность сохранять товары, не указывая цен — соответствующая опция есть в настройках модуля Торговый каталог. Не надо сверлить зубы через задний проход дрелью от Сваровски |
Цена указана http://pix.am/R2Z6/ , если разрешить добавление без цены, то при сохранении товара ошибка не выдается но цена не сохраняется. |
|
Пользователь 153444 Заглянувший Сообщений: 1 |
#9 0 06.12.2012 17:32:47
Присоединяюсь, та же ошибка, куда смотреть? |
||
Пользователь 115019 Заглянувший Сообщений: 5 |
#10 0 10.12.2012 15:28:30 Я так понимаю что надо ждать фикса в новых версиях модуля? у людей поднявшихся с 11ого битрикса проблем нет. |
При добавлении нового элемента товара в инфоблок появляется сообщение ‘Ошибка Не найден базовый тип цен’ |
|
Зайти в типы цен торгового каталога и установить базовую цену |
|
Платформа обновилась до Версия системы 12.0.3 проблема с типами цен. В предложенном Вами варианте — в торговом каталоге отсутствие «типы цен». Подскажите пжт. где найти и как решить проблему? |
|
зайдите в раздел «магазин» и там найдете пункт «Типы цен». Там и создавайте базовую цену:) |
|
Евгений Жуков
Администратор Сообщений: 9219 Epic fail — сказать «это так просто» и не суметь сделать |
#5 04.12.2012 16:56:17
Исправление вышло в обновлении catalog 12.0.6
Речь идет о редакции Малый бизнес. В ней нет работы с несколькими типами цен. Не надо сверлить зубы через задний проход дрелью от Сваровски |
||||
Редакция малый бизнес все модули обновлены, ставился чистый 12й битрикс, ошибка осталась http://pix.am/kt88/ http://pix.am/A0Wh/ , в техподдержку, да? |
|
Администратор Сообщений: 9219 Epic fail — сказать «это так просто» и не суметь сделать |
Это другая ошибка. Сообщение «Отсутствуют цены» возникает, если не указана ни одна цена (не ТИП цен) для товара. Если Вы хотите иметь возможность сохранять товары, не указывая цен — соответствующая опция есть в настройках модуля Торговый каталог. Не надо сверлить зубы через задний проход дрелью от Сваровски |
Цена указана http://pix.am/R2Z6/ , если разрешить добавление без цены, то при сохранении товара ошибка не выдается но цена не сохраняется. |
|
Пользователь 153444 Заглянувший Сообщений: 1 |
#9 06.12.2012 17:32:47
Присоединяюсь, та же ошибка, куда смотреть? |
||
Я так понимаю что надо ждать фикса в новых версиях модуля? у людей поднявшихся с 11ого битрикса проблем нет. |
|
Хотел написать и написал что пофиксили, а оказывается не пофиксили. |
|
Не пофиксили и судя по всему пофиксить не просто. Как всегда не проверили самую ненужную функцию в магазине — ЦЕНУ и ушли на новогодние праздники. При обновлении с 11 — все ок. Судя по всему т.к таблички с типами у таких клиентов остались, а в 12 установленной с нуля уже все по другому |
|
Можно в адресной строке ввести следующий адрес http:// ваш сайт /bitrix/admin/cat_group_admin.php?lang=ru&back_url_pub=%2F и откроется страница настройки типов цен. |
|
Обновил Редакцию Малый Бизнес до Бизнес — установил все последние обновления. На странице с типами цен все равно нет кнопки Добавить тип цены. |
|
Евгений Жуков
Администратор Сообщений: 9219 Epic fail — сказать «это так просто» и не суметь сделать |
#15 22.10.2013 09:55:47 Обратитесь в техподдержку, пожалуйста. Не надо сверлить зубы через задний проход дрелью от Сваровски |
пятница, 12 августа 2011 г.
Битрикс Не найден базовый тип цен при добавлении товара
Добрый день. Данная ошибка возникает, если вы удалили все демо-данные с сайта и пытаемся с нуля создать каталог с товарами. При добавлении товара возникает ошибка «Не найден базовый тип цен». Оказалось, что при удалении демо данных система так же удаляет и типы цен. Следовательно, нам нужно создать тип. Создать тип можно при переходе Администрирование->Магазин->Торговый каталог->Типы цен->Новый тип цен.
После добаления типа всё работает!
Комментариев нет:
Отправить комментарий
Для работы интернет-магазина необходимо установить цены, с которыми он будет работать. Если позволяет редакция продукта, то в каталоге можно использовать несколько типов цен, но при этом один из типов цен является базовым. Базовая цена — это цена, относительной которой рассчитываются все остальные цены системы.
Типы цен
По умолчанию в системе уже доступна Розничная цена, она же назначена и базовой. Давайте создадим еще два типа цен: для постоянных клиентов и оптовых покупателей. Но для начала надо создать две группы пользователей, потому что типы цен привязываются к группам.
В панели управления переходим в «Настройки • Пользователи • Группы пользователей» и создаем две новые группы:
- Постоянные покупатели
- Оптовые покупатели
Управление типами цен осуществляется на странице «Магазин • Настройки • Цены • Типы цен»:
Создаем два новых типа цен:
- Постоянный покупатель, код
REGULAR_BUYER
- Оптовый покупатель, код
WHOLESALE_BUYER
Обязательно указываем группы пользователей, которые имеют право на просмотр этой цены и на покупку по этой цене:
Теперь при редактировании товара можно кроме розничной цены задать еще и цену для постоянных клиентов и для оптовых покупателей:
Наценки
Наценки — заранее установленная величина в относительном выражении, на которую уменьшается или увеличивается цена товара. Наценки применяются к базовой цене при расчете других типов цен товара (базовую цену сменить невозможно). Каждая цена будет считаться по формуле:
[Цена]=[Базовая цена]+[Базовая цена]*[Наценка в процентах/100]
Наценка может быть представлена как положительной, так и отрицательной величиной.
Переходим на страницу «Магазин • Настройки • Цены • Наценки» и создаем две наценки:
- Постоянный покупатель, наценка
-10%
- Оптовый покупатель, наценка
-20%
При редактировании наценки можно отметить checkbox «Пересчитать цены»:
После этого произойдёт автоматическое изменение цены для всех товаров, у которых применена эта наценка:
Примеры кода
// получаем тип цен с идентификатором $ID, включая языкозависимые параметры $result = CCatalogGroup::GetByID($ID); if ($result['CAN_ACCESS'] == 'Y') { echo 'Вы можете видеть цены типа '.$result['NAME_LANG'].'<br/>'; } if ($result['CAN_BUY'] == 'Y') { echo 'Вы можете покупать товары по ценам типа '.$result['NAME_LANG'].'<br/>'; }
// получаем типы цен с внутренним именем RETAIL $result = CCatalogGroup::GetList( array('SORT' => 'ASC'), array('NAME' => 'RETAIL') ); while ($arPriceType = $result->Fetch()) { echo $arPriceType['NAME_LANG'].' - '.$arPriceType['CAN_ACCESS'].'<br/>'; }
// получаем цену типа $PRICE_TYPE_ID для товара с идентификатором $PRODUCT_ID $result = CPrice::GetList( array(), array( 'PRODUCT_ID' => $PRODUCT_ID, 'CATALOG_GROUP_ID' => $PRICE_TYPE_ID ) ); if ($price = $result->Fetch()) { echo CurrencyFormat($price['PRICE'], $price['CURRENCY']); } else { echo 'Цена не найдена!'; }
Пример получения цены товара, в зависимости от того, авторизован пользователь или нет. И если авторизован — какой группе он принадлежит (постоянный покупатель или оптовый покупатель):
/* * Определяемся, какую цену товара будем показывать */ $productPrice = CurrencyFormat(0.0, 'RUB'); // это идентификатор типа цен BASE (розничная цена) $PRICE_TYPE_ID = PRICE_TYPE_BASE; // если пользователь авторизован, он может принадлежать группе «Постоянные покупатели» // или «Оптовые покупатели», а для таких пользователей надо показать цену со скидкой if ($USER->IsAuthorized()) { // массив групп, к которым принадлежит авторизованный пользователь $arGroups = $USER->GetUserGroupArray(); // если пользователь принадлежит группе «Постоянные покупатели» if (in_array(CATALOG_GROUP_REGULAR_BUYER, $arGroups)) { $PRICE_TYPE_ID = PRICE_TYPE_REGULAR_BUYER; } // если пользователь принадлежит группе «Оптовые покупатели» if (in_array(CATALOG_GROUP_WHOLESALE_BUYER, $arGroups)) { $PRICE_TYPE_ID = PRICE_TYPE_WHOLESALE_BUYER; } } // получаем цену товара: розничную, для постоянного покупателя или // для оптового покупателя — в зависимости от $PRICE_TYPE_ID $result = CPrice::GetList( array(), array( 'PRODUCT_ID' => $PRODUCT_ID, // идентификатор товара 'CATALOG_GROUP_ID' => $PRICE_TYPE_ID // идентификатор типа цены ) ); if ($temp = $result->Fetch()) { $productPrice = CurrencyFormat($temp['PRICE'], $temp['CURRENCY']); }
В коде выше использованы пять констант, которые определены в файле init.php
:
<?php /* * Файл local/php_interface/init.php */ define('DEFAULT_TEMPLATE_PATH', '/local/templates/.default'); // Идентификатор группы пользователей «Постоянные покупатели» define('CATALOG_GROUP_REGULAR_BUYER', 9); // Идентификатор группы пользователей «Оптовые покупатели» define('CATALOG_GROUP_WHOLESALE_BUYER', 10); // Идентификатор типа цен «Базовый» define('PRICE_TYPE_BASE', 1); // Идентификатор типа цен «Постоянные покупатели» define('PRICE_TYPE_REGULAR_BUYER', 2); // Идентификатор группы пользователей «Оптовые покупатели» define('PRICE_TYPE_WHOLESALE_BUYER', 3); function debug($data) { echo '<pre>' . print_r($data, true) . '</pre>'; }
База данных
-- -- Структура таблицы `b_catalog_group` -- CREATE TABLE `b_catalog_group` ( `ID` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, `NAME` varchar(100) COLLATE utf8_unicode_ci NOT NULL, `BASE` char(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'N', `SORT` int(11) NOT NULL DEFAULT '100', `XML_ID` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `TIMESTAMP_X` datetime DEFAULT NULL, `MODIFIED_BY` int(18) DEFAULT NULL, `DATE_CREATE` datetime DEFAULT NULL, `CREATED_BY` int(18) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -- Дамп данных таблицы `b_catalog_group` -- INSERT INTO `b_catalog_group` (`ID`, `NAME`, `BASE`, `SORT`, `XML_ID`, `TIMESTAMP_X`, `MODIFIED_BY`, `DATE_CREATE`, `CREATED_BY`) VALUES (1, 'BASE', 'Y', 100, 'BASE', '2018-08-18 09:16:48', 1, '2018-08-18 09:12:58', 1), (2, 'REGULAR_BUYER', 'N', 100, '', '2018-08-24 16:17:27', 1, '2018-08-24 15:36:32', 1), (3, 'WHOLESALE_BUYER', 'N', 100, '', '2018-08-24 16:17:43', 1, '2018-08-24 15:45:09', 1);
ID
— уникальный индентификаторNAME
— внутреннее имя ценыBASE
— указывает на то, является ли этот тип цен базовымSORT
— число для сортировкиXML_ID
— идентификатор из 1С:Предприятие
-- -- Структура таблицы `b_catalog_price` -- CREATE TABLE `b_catalog_price` ( `ID` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, `PRODUCT_ID` int(11) NOT NULL, `EXTRA_ID` int(11) DEFAULT NULL, `CATALOG_GROUP_ID` int(11) NOT NULL, `PRICE` decimal(18,2) NOT NULL, `CURRENCY` char(3) COLLATE utf8_unicode_ci NOT NULL, `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `QUANTITY_FROM` int(11) DEFAULT NULL, `QUANTITY_TO` int(11) DEFAULT NULL, `TMP_ID` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, `PRICE_SCALE` decimal(26,12) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -- Дамп данных таблицы `b_catalog_price` -- INSERT INTO `b_catalog_price` (`ID`, `PRODUCT_ID`, `EXTRA_ID`, `CATALOG_GROUP_ID`, `PRICE`, `CURRENCY`, `TIMESTAMP_X`, `QUANTITY_FROM`, `QUANTITY_TO`, `TMP_ID`, `PRICE_SCALE`) VALUES (314, 317, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:24:19', NULL, NULL, NULL, '1000.000000000000'), (315, 318, NULL, 1, '2000.00', 'RUB', '2018-08-18 09:25:24', NULL, NULL, NULL, '2000.000000000000'), (316, 319, NULL, 1, '3000.00', 'RUB', '2018-08-18 09:25:59', NULL, NULL, NULL, '3000.000000000000'), (317, 320, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:26:36', NULL, NULL, NULL, '4000.000000000000'), (318, 321, NULL, 1, '5000.00', 'RUB', '2018-08-18 09:27:03', NULL, NULL, NULL, '5000.000000000000'), (319, 322, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:27:37', NULL, NULL, NULL, '1000.000000000000'), (320, 323, NULL, 1, '2000.00', 'RUB', '2018-08-18 09:28:12', NULL, NULL, NULL, '2000.000000000000'), (321, 324, NULL, 1, '3000.00', 'RUB', '2018-08-18 09:28:48', NULL, NULL, NULL, '3000.000000000000'), (322, 325, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:29:17', NULL, NULL, NULL, '4000.000000000000'), (323, 326, NULL, 1, '5000.00', 'RUB', '2018-08-18 09:29:44', NULL, NULL, NULL, '5000.000000000000'), (324, 327, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:30:17', NULL, NULL, NULL, '1000.000000000000'), (325, 328, NULL, 1, '2000.00', 'RUB', '2018-08-18 09:30:44', NULL, NULL, NULL, '2000.000000000000'), (326, 329, NULL, 1, '3000.00', 'RUB', '2018-08-18 09:31:14', NULL, NULL, NULL, '3000.000000000000'), (327, 330, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:31:42', NULL, NULL, NULL, '4000.000000000000'), (328, 331, NULL, 1, '5000.00', 'RUB', '2018-08-18 09:32:05', NULL, NULL, NULL, '5000.000000000000'), (329, 332, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:45:36', NULL, NULL, NULL, '1000.000000000000'), (330, 333, NULL, 1, '2000.00', 'RUB', '2018-08-18 09:46:03', NULL, NULL, NULL, '2000.000000000000'), (331, 334, NULL, 1, '3000.00', 'RUB', '2018-08-18 09:46:29', NULL, NULL, NULL, '3000.000000000000'), (332, 335, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:46:55', NULL, NULL, NULL, '4000.000000000000'), (333, 336, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:47:21', NULL, NULL, NULL, '4000.000000000000'), (334, 337, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:47:59', NULL, NULL, NULL, '1000.000000000000'), (335, 338, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:48:25', NULL, NULL, NULL, '1000.000000000000'), (336, 339, NULL, 1, '3000.00', 'RUB', '2018-08-18 09:48:49', NULL, NULL, NULL, '3000.000000000000'), (337, 340, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:49:13', NULL, NULL, NULL, '4000.000000000000'), (338, 341, NULL, 1, '5000.00', 'RUB', '2018-08-18 09:49:40', NULL, NULL, NULL, '5000.000000000000'), (339, 342, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:50:13', NULL, NULL, NULL, '1000.000000000000'), (340, 343, NULL, 1, '2000.00', 'RUB', '2018-08-18 09:50:43', NULL, NULL, NULL, '2000.000000000000'), (341, 344, NULL, 1, '3000.00', 'RUB', '2018-08-18 09:51:12', NULL, NULL, NULL, '3000.000000000000'), (342, 345, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:51:43', NULL, NULL, NULL, '4000.000000000000'), (343, 346, NULL, 1, '5000.00', 'RUB', '2018-08-18 09:52:13', NULL, NULL, NULL, '5000.000000000000'), (344, 331, 1, 2, '4500.00', 'RUB', '2018-08-24 13:53:00', NULL, NULL, NULL, '4500.000000000000'), (345, 331, 2, 3, '4000.00', 'RUB', '2018-08-24 13:53:00', NULL, NULL, NULL, '4000.000000000000'), (346, 330, 1, 2, '3600.00', 'RUB', '2018-08-24 13:53:14', NULL, NULL, NULL, '3600.000000000000'), (347, 330, 2, 3, '3200.00', 'RUB', '2018-08-24 13:53:14', NULL, NULL, NULL, '3200.000000000000'), (348, 329, 1, 2, '2700.00', 'RUB', '2018-08-24 13:53:29', NULL, NULL, NULL, '2700.000000000000'), (349, 329, 2, 3, '2400.00', 'RUB', '2018-08-24 13:53:29', NULL, NULL, NULL, '2400.000000000000'), (350, 328, 1, 2, '1800.00', 'RUB', '2018-08-24 13:53:50', NULL, NULL, NULL, '1800.000000000000'), (351, 328, 2, 3, '1600.00', 'RUB', '2018-08-24 13:53:50', NULL, NULL, NULL, '1600.000000000000'), (352, 327, 1, 2, '900.00', 'RUB', '2018-08-24 13:54:03', NULL, NULL, NULL, '900.000000000000'), (353, 327, 2, 3, '800.00', 'RUB', '2018-08-24 13:54:03', NULL, NULL, NULL, '800.000000000000'), (354, 321, 1, 2, '4500.00', 'RUB', '2018-08-24 13:54:20', NULL, NULL, NULL, '4500.000000000000'), (355, 321, 2, 3, '4000.00', 'RUB', '2018-08-24 13:54:20', NULL, NULL, NULL, '4000.000000000000'), (356, 320, 1, 2, '3600.00', 'RUB', '2018-08-24 13:54:34', NULL, NULL, NULL, '3600.000000000000'), (357, 320, 2, 3, '3200.00', 'RUB', '2018-08-24 13:54:34', NULL, NULL, NULL, '3200.000000000000'), (358, 319, 1, 2, '2700.00', 'RUB', '2018-08-24 13:54:47', NULL, NULL, NULL, '2700.000000000000'), (359, 319, 2, 3, '2400.00', 'RUB', '2018-08-24 13:54:47', NULL, NULL, NULL, '2400.000000000000'), (360, 318, 1, 2, '1800.00', 'RUB', '2018-08-24 13:55:00', NULL, NULL, NULL, '1800.000000000000'), (361, 318, 2, 3, '1600.00', 'RUB', '2018-08-24 13:55:00', NULL, NULL, NULL, '1600.000000000000'), (362, 317, 1, 2, '900.00', 'RUB', '2018-08-24 13:55:12', NULL, NULL, NULL, '900.000000000000'), (363, 317, 2, 3, '800.00', 'RUB', '2018-08-24 13:55:12', NULL, NULL, NULL, '800.000000000000'), (364, 326, 1, 2, '4500.00', 'RUB', '2018-08-24 13:55:38', NULL, NULL, NULL, '4500.000000000000'), (365, 326, 2, 3, '4000.00', 'RUB', '2018-08-24 13:55:38', NULL, NULL, NULL, '4000.000000000000'), (366, 325, 1, 2, '3600.00', 'RUB', '2018-08-24 13:55:48', NULL, NULL, NULL, '3600.000000000000'), (367, 325, 2, 3, '3200.00', 'RUB', '2018-08-24 13:55:48', NULL, NULL, NULL, '3200.000000000000'), (368, 324, 1, 2, '2700.00', 'RUB', '2018-08-24 13:56:01', NULL, NULL, NULL, '2700.000000000000'), (369, 324, 2, 3, '2400.00', 'RUB', '2018-08-24 13:56:01', NULL, NULL, NULL, '2400.000000000000'), (370, 323, 1, 2, '1800.00', 'RUB', '2018-08-24 13:56:17', NULL, NULL, NULL, '1800.000000000000'), (371, 323, 2, 3, '1600.00', 'RUB', '2018-08-24 13:56:17', NULL, NULL, NULL, '1600.000000000000'), (372, 322, 1, 2, '900.00', 'RUB', '2018-08-24 13:56:30', NULL, NULL, NULL, '900.000000000000'), (373, 322, 2, 3, '800.00', 'RUB', '2018-08-24 13:56:30', NULL, NULL, NULL, '800.000000000000'), (374, 336, 1, 2, '3600.00', 'RUB', '2018-08-24 13:56:49', NULL, NULL, NULL, '3600.000000000000'), (375, 336, 2, 3, '3200.00', 'RUB', '2018-08-24 13:56:49', NULL, NULL, NULL, '3200.000000000000'), (376, 335, 1, 2, '3600.00', 'RUB', '2018-08-24 13:57:00', NULL, NULL, NULL, '3600.000000000000'), (377, 335, 2, 3, '3200.00', 'RUB', '2018-08-24 13:57:00', NULL, NULL, NULL, '3200.000000000000'), (378, 334, 1, 2, '2700.00', 'RUB', '2018-08-24 13:57:13', NULL, NULL, NULL, '2700.000000000000'), (379, 334, 2, 3, '2400.00', 'RUB', '2018-08-24 13:57:13', NULL, NULL, NULL, '2400.000000000000'), (380, 333, 1, 2, '1800.00', 'RUB', '2018-08-24 13:57:25', NULL, NULL, NULL, '1800.000000000000'), (381, 333, 2, 3, '1600.00', 'RUB', '2018-08-24 13:57:25', NULL, NULL, NULL, '1600.000000000000'), (382, 332, 1, 2, '900.00', 'RUB', '2018-08-24 13:57:37', NULL, NULL, NULL, '900.000000000000'), (383, 332, 2, 3, '800.00', 'RUB', '2018-08-24 13:57:37', NULL, NULL, NULL, '800.000000000000'), (384, 341, 1, 2, '4500.00', 'RUB', '2018-08-24 13:57:56', NULL, NULL, NULL, '4500.000000000000'), (385, 341, 2, 3, '4000.00', 'RUB', '2018-08-24 13:57:56', NULL, NULL, NULL, '4000.000000000000'), (386, 340, 1, 2, '3600.00', 'RUB', '2018-08-24 13:58:09', NULL, NULL, NULL, '3600.000000000000'), (387, 340, 2, 3, '3200.00', 'RUB', '2018-08-24 13:58:09', NULL, NULL, NULL, '3200.000000000000'), (388, 339, 1, 2, '2700.00', 'RUB', '2018-08-24 13:58:23', NULL, NULL, NULL, '2700.000000000000'), (389, 339, 2, 3, '2400.00', 'RUB', '2018-08-24 13:58:23', NULL, NULL, NULL, '2400.000000000000'), (390, 338, 1, 2, '900.00', 'RUB', '2018-08-24 13:58:35', NULL, NULL, NULL, '900.000000000000'), (391, 338, 2, 3, '800.00', 'RUB', '2018-08-24 13:58:35', NULL, NULL, NULL, '800.000000000000'), (392, 337, 1, 2, '900.00', 'RUB', '2018-08-24 13:58:47', NULL, NULL, NULL, '900.000000000000'), (393, 337, 2, 3, '800.00', 'RUB', '2018-08-24 13:58:47', NULL, NULL, NULL, '800.000000000000'), (394, 346, 1, 2, '4500.00', 'RUB', '2018-08-24 13:59:02', NULL, NULL, NULL, '4500.000000000000'), (395, 346, 2, 3, '4000.00', 'RUB', '2018-08-24 13:59:02', NULL, NULL, NULL, '4000.000000000000'), (396, 345, 1, 2, '3600.00', 'RUB', '2018-08-24 13:59:14', NULL, NULL, NULL, '3600.000000000000'), (397, 345, 2, 3, '3200.00', 'RUB', '2018-08-24 13:59:14', NULL, NULL, NULL, '3200.000000000000'), (398, 344, 1, 2, '2700.00', 'RUB', '2018-08-24 13:59:27', NULL, NULL, NULL, '2700.000000000000'), (399, 344, 2, 3, '2400.00', 'RUB', '2018-08-24 13:59:27', NULL, NULL, NULL, '2400.000000000000'), (400, 343, 1, 2, '1800.00', 'RUB', '2018-08-24 13:59:40', NULL, NULL, NULL, '1800.000000000000'), (401, 343, 2, 3, '1600.00', 'RUB', '2018-08-24 13:59:40', NULL, NULL, NULL, '1600.000000000000'), (402, 342, 1, 2, '900.00', 'RUB', '2018-08-24 13:59:59', NULL, NULL, NULL, '900.000000000000'), (403, 342, 2, 3, '800.00', 'RUB', '2018-08-24 13:59:59', NULL, NULL, NULL, '800.000000000000'); -- -- Индексы таблицы `b_catalog_price` -- ALTER TABLE `b_catalog_price` ADD KEY `IXS_CAT_PRICE_PID` (`PRODUCT_ID`,`CATALOG_GROUP_ID`), ADD KEY `IXS_CAT_PRICE_GID` (`CATALOG_GROUP_ID`), ADD KEY `IXS_CAT_PRICE_SCALE` (`PRICE_SCALE`);
ID
— уникальный индентификаторPRODUCT_ID
— идентификатор товараEXTRA_ID
— идентификатор наценкиCATALOG_GROUP_ID
— идентификатор типа ценPRICE
— ценаCURRENCY
— валюта
-- -- Структура таблицы `b_catalog_extra` -- CREATE TABLE `b_catalog_extra` ( `ID` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, `NAME` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `PERCENTAGE` decimal(18,2) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -- Дамп данных таблицы `b_catalog_extra` -- INSERT INTO `b_catalog_extra` (`ID`, `NAME`, `PERCENTAGE`) VALUES (1, 'Постоянный покупатель', '-10.00'), (2, 'Оптовый покупатель', '-20.00');
Поиск:
CMS • Web-разработка • Битрикс • Интернет магазин • Каталог товаров • Наценки • Пользователь • Права доступа • Типы цен • Настройка
Для работы интернет-магазина необходимо установить цены, с которыми он будет работать. Если позволяет редакция продукта, то в каталоге можно использовать несколько типов цен, но при этом один из типов цен является базовым. Базовая цена — это цена, относительной которой рассчитываются все остальные цены системы.
Типы цен
По умолчанию в системе уже доступна Розничная цена, она же назначена и базовой. Давайте создадим еще два типа цен: для постоянных клиентов и оптовых покупателей. Но для начала надо создать две группы пользователей, потому что типы цен привязываются к группам.
В панели управления переходим в «Настройки • Пользователи • Группы пользователей» и создаем две новые группы:
- Постоянные покупатели
- Оптовые покупатели
Управление типами цен осуществляется на странице «Магазин • Настройки • Цены • Типы цен»:
Создаем два новых типа цен:
- Постоянный покупатель, код
REGULAR_BUYER
- Оптовый покупатель, код
WHOLESALE_BUYER
Обязательно указываем группы пользователей, которые имеют право на просмотр этой цены и на покупку по этой цене:
Теперь при редактировании товара можно кроме розничной цены задать еще и цену для постоянных клиентов и для оптовых покупателей:
Наценки
Наценки — заранее установленная величина в относительном выражении, на которую уменьшается или увеличивается цена товара. Наценки применяются к базовой цене при расчете других типов цен товара (базовую цену сменить невозможно). Каждая цена будет считаться по формуле:
[Цена]=[Базовая цена]+[Базовая цена]*[Наценка в процентах/100]
Наценка может быть представлена как положительной, так и отрицательной величиной.
Переходим на страницу «Магазин • Настройки • Цены • Наценки» и создаем две наценки:
- Постоянный покупатель, наценка
-10%
- Оптовый покупатель, наценка
-20%
При редактировании наценки можно отметить checkbox «Пересчитать цены»:
После этого произойдёт автоматическое изменение цены для всех товаров, у которых применена эта наценка:
Примеры кода
// получаем тип цен с идентификатором $ID, включая языкозависимые параметры $result = CCatalogGroup::GetByID($ID); if ($result['CAN_ACCESS'] == 'Y') { echo 'Вы можете видеть цены типа '.$result['NAME_LANG'].'<br/>'; } if ($result['CAN_BUY'] == 'Y') { echo 'Вы можете покупать товары по ценам типа '.$result['NAME_LANG'].'<br/>'; }
// получаем типы цен с внутренним именем RETAIL $result = CCatalogGroup::GetList( array('SORT' => 'ASC'), array('NAME' => 'RETAIL') ); while ($arPriceType = $result->Fetch()) { echo $arPriceType['NAME_LANG'].' - '.$arPriceType['CAN_ACCESS'].'<br/>'; }
// получаем цену типа $PRICE_TYPE_ID для товара с идентификатором $PRODUCT_ID $result = CPrice::GetList( array(), array( 'PRODUCT_ID' => $PRODUCT_ID, 'CATALOG_GROUP_ID' => $PRICE_TYPE_ID ) ); if ($price = $result->Fetch()) { echo CurrencyFormat($price['PRICE'], $price['CURRENCY']); } else { echo 'Цена не найдена!'; }
Пример получения цены товара, в зависимости от того, авторизован пользователь или нет. И если авторизован — какой группе он принадлежит (постоянный покупатель или оптовый покупатель):
/* * Определяемся, какую цену товара будем показывать */ $productPrice = CurrencyFormat(0.0, 'RUB'); // это идентификатор типа цен BASE (розничная цена) $PRICE_TYPE_ID = PRICE_TYPE_BASE; // если пользователь авторизован, он может принадлежать группе «Постоянные покупатели» // или «Оптовые покупатели», а для таких пользователей надо показать цену со скидкой if ($USER->IsAuthorized()) { // массив групп, к которым принадлежит авторизованный пользователь $arGroups = $USER->GetUserGroupArray(); // если пользователь принадлежит группе «Постоянные покупатели» if (in_array(CATALOG_GROUP_REGULAR_BUYER, $arGroups)) { $PRICE_TYPE_ID = PRICE_TYPE_REGULAR_BUYER; } // если пользователь принадлежит группе «Оптовые покупатели» if (in_array(CATALOG_GROUP_WHOLESALE_BUYER, $arGroups)) { $PRICE_TYPE_ID = PRICE_TYPE_WHOLESALE_BUYER; } } // получаем цену товара: розничную, для постоянного покупателя или // для оптового покупателя — в зависимости от $PRICE_TYPE_ID $result = CPrice::GetList( array(), array( 'PRODUCT_ID' => $PRODUCT_ID, // идентификатор товара 'CATALOG_GROUP_ID' => $PRICE_TYPE_ID // идентификатор типа цены ) ); if ($temp = $result->Fetch()) { $productPrice = CurrencyFormat($temp['PRICE'], $temp['CURRENCY']); }
В коде выше использованы пять констант, которые определены в файле init.php
:
<?php /* * Файл local/php_interface/init.php */ define('DEFAULT_TEMPLATE_PATH', '/local/templates/.default'); // Идентификатор группы пользователей «Постоянные покупатели» define('CATALOG_GROUP_REGULAR_BUYER', 9); // Идентификатор группы пользователей «Оптовые покупатели» define('CATALOG_GROUP_WHOLESALE_BUYER', 10); // Идентификатор типа цен «Базовый» define('PRICE_TYPE_BASE', 1); // Идентификатор типа цен «Постоянные покупатели» define('PRICE_TYPE_REGULAR_BUYER', 2); // Идентификатор группы пользователей «Оптовые покупатели» define('PRICE_TYPE_WHOLESALE_BUYER', 3); function debug($data) { echo '<pre>' . print_r($data, true) . '</pre>'; }
База данных
-- -- Структура таблицы `b_catalog_group` -- CREATE TABLE `b_catalog_group` ( `ID` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, `NAME` varchar(100) COLLATE utf8_unicode_ci NOT NULL, `BASE` char(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'N', `SORT` int(11) NOT NULL DEFAULT '100', `XML_ID` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `TIMESTAMP_X` datetime DEFAULT NULL, `MODIFIED_BY` int(18) DEFAULT NULL, `DATE_CREATE` datetime DEFAULT NULL, `CREATED_BY` int(18) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -- Дамп данных таблицы `b_catalog_group` -- INSERT INTO `b_catalog_group` (`ID`, `NAME`, `BASE`, `SORT`, `XML_ID`, `TIMESTAMP_X`, `MODIFIED_BY`, `DATE_CREATE`, `CREATED_BY`) VALUES (1, 'BASE', 'Y', 100, 'BASE', '2018-08-18 09:16:48', 1, '2018-08-18 09:12:58', 1), (2, 'REGULAR_BUYER', 'N', 100, '', '2018-08-24 16:17:27', 1, '2018-08-24 15:36:32', 1), (3, 'WHOLESALE_BUYER', 'N', 100, '', '2018-08-24 16:17:43', 1, '2018-08-24 15:45:09', 1);
ID
— уникальный индентификаторNAME
— внутреннее имя ценыBASE
— указывает на то, является ли этот тип цен базовымSORT
— число для сортировкиXML_ID
— идентификатор из 1С:Предприятие
-- -- Структура таблицы `b_catalog_price` -- CREATE TABLE `b_catalog_price` ( `ID` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, `PRODUCT_ID` int(11) NOT NULL, `EXTRA_ID` int(11) DEFAULT NULL, `CATALOG_GROUP_ID` int(11) NOT NULL, `PRICE` decimal(18,2) NOT NULL, `CURRENCY` char(3) COLLATE utf8_unicode_ci NOT NULL, `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `QUANTITY_FROM` int(11) DEFAULT NULL, `QUANTITY_TO` int(11) DEFAULT NULL, `TMP_ID` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, `PRICE_SCALE` decimal(26,12) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -- Дамп данных таблицы `b_catalog_price` -- INSERT INTO `b_catalog_price` (`ID`, `PRODUCT_ID`, `EXTRA_ID`, `CATALOG_GROUP_ID`, `PRICE`, `CURRENCY`, `TIMESTAMP_X`, `QUANTITY_FROM`, `QUANTITY_TO`, `TMP_ID`, `PRICE_SCALE`) VALUES (314, 317, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:24:19', NULL, NULL, NULL, '1000.000000000000'), (315, 318, NULL, 1, '2000.00', 'RUB', '2018-08-18 09:25:24', NULL, NULL, NULL, '2000.000000000000'), (316, 319, NULL, 1, '3000.00', 'RUB', '2018-08-18 09:25:59', NULL, NULL, NULL, '3000.000000000000'), (317, 320, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:26:36', NULL, NULL, NULL, '4000.000000000000'), (318, 321, NULL, 1, '5000.00', 'RUB', '2018-08-18 09:27:03', NULL, NULL, NULL, '5000.000000000000'), (319, 322, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:27:37', NULL, NULL, NULL, '1000.000000000000'), (320, 323, NULL, 1, '2000.00', 'RUB', '2018-08-18 09:28:12', NULL, NULL, NULL, '2000.000000000000'), (321, 324, NULL, 1, '3000.00', 'RUB', '2018-08-18 09:28:48', NULL, NULL, NULL, '3000.000000000000'), (322, 325, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:29:17', NULL, NULL, NULL, '4000.000000000000'), (323, 326, NULL, 1, '5000.00', 'RUB', '2018-08-18 09:29:44', NULL, NULL, NULL, '5000.000000000000'), (324, 327, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:30:17', NULL, NULL, NULL, '1000.000000000000'), (325, 328, NULL, 1, '2000.00', 'RUB', '2018-08-18 09:30:44', NULL, NULL, NULL, '2000.000000000000'), (326, 329, NULL, 1, '3000.00', 'RUB', '2018-08-18 09:31:14', NULL, NULL, NULL, '3000.000000000000'), (327, 330, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:31:42', NULL, NULL, NULL, '4000.000000000000'), (328, 331, NULL, 1, '5000.00', 'RUB', '2018-08-18 09:32:05', NULL, NULL, NULL, '5000.000000000000'), (329, 332, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:45:36', NULL, NULL, NULL, '1000.000000000000'), (330, 333, NULL, 1, '2000.00', 'RUB', '2018-08-18 09:46:03', NULL, NULL, NULL, '2000.000000000000'), (331, 334, NULL, 1, '3000.00', 'RUB', '2018-08-18 09:46:29', NULL, NULL, NULL, '3000.000000000000'), (332, 335, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:46:55', NULL, NULL, NULL, '4000.000000000000'), (333, 336, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:47:21', NULL, NULL, NULL, '4000.000000000000'), (334, 337, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:47:59', NULL, NULL, NULL, '1000.000000000000'), (335, 338, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:48:25', NULL, NULL, NULL, '1000.000000000000'), (336, 339, NULL, 1, '3000.00', 'RUB', '2018-08-18 09:48:49', NULL, NULL, NULL, '3000.000000000000'), (337, 340, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:49:13', NULL, NULL, NULL, '4000.000000000000'), (338, 341, NULL, 1, '5000.00', 'RUB', '2018-08-18 09:49:40', NULL, NULL, NULL, '5000.000000000000'), (339, 342, NULL, 1, '1000.00', 'RUB', '2018-08-18 09:50:13', NULL, NULL, NULL, '1000.000000000000'), (340, 343, NULL, 1, '2000.00', 'RUB', '2018-08-18 09:50:43', NULL, NULL, NULL, '2000.000000000000'), (341, 344, NULL, 1, '3000.00', 'RUB', '2018-08-18 09:51:12', NULL, NULL, NULL, '3000.000000000000'), (342, 345, NULL, 1, '4000.00', 'RUB', '2018-08-18 09:51:43', NULL, NULL, NULL, '4000.000000000000'), (343, 346, NULL, 1, '5000.00', 'RUB', '2018-08-18 09:52:13', NULL, NULL, NULL, '5000.000000000000'), (344, 331, 1, 2, '4500.00', 'RUB', '2018-08-24 13:53:00', NULL, NULL, NULL, '4500.000000000000'), (345, 331, 2, 3, '4000.00', 'RUB', '2018-08-24 13:53:00', NULL, NULL, NULL, '4000.000000000000'), (346, 330, 1, 2, '3600.00', 'RUB', '2018-08-24 13:53:14', NULL, NULL, NULL, '3600.000000000000'), (347, 330, 2, 3, '3200.00', 'RUB', '2018-08-24 13:53:14', NULL, NULL, NULL, '3200.000000000000'), (348, 329, 1, 2, '2700.00', 'RUB', '2018-08-24 13:53:29', NULL, NULL, NULL, '2700.000000000000'), (349, 329, 2, 3, '2400.00', 'RUB', '2018-08-24 13:53:29', NULL, NULL, NULL, '2400.000000000000'), (350, 328, 1, 2, '1800.00', 'RUB', '2018-08-24 13:53:50', NULL, NULL, NULL, '1800.000000000000'), (351, 328, 2, 3, '1600.00', 'RUB', '2018-08-24 13:53:50', NULL, NULL, NULL, '1600.000000000000'), (352, 327, 1, 2, '900.00', 'RUB', '2018-08-24 13:54:03', NULL, NULL, NULL, '900.000000000000'), (353, 327, 2, 3, '800.00', 'RUB', '2018-08-24 13:54:03', NULL, NULL, NULL, '800.000000000000'), (354, 321, 1, 2, '4500.00', 'RUB', '2018-08-24 13:54:20', NULL, NULL, NULL, '4500.000000000000'), (355, 321, 2, 3, '4000.00', 'RUB', '2018-08-24 13:54:20', NULL, NULL, NULL, '4000.000000000000'), (356, 320, 1, 2, '3600.00', 'RUB', '2018-08-24 13:54:34', NULL, NULL, NULL, '3600.000000000000'), (357, 320, 2, 3, '3200.00', 'RUB', '2018-08-24 13:54:34', NULL, NULL, NULL, '3200.000000000000'), (358, 319, 1, 2, '2700.00', 'RUB', '2018-08-24 13:54:47', NULL, NULL, NULL, '2700.000000000000'), (359, 319, 2, 3, '2400.00', 'RUB', '2018-08-24 13:54:47', NULL, NULL, NULL, '2400.000000000000'), (360, 318, 1, 2, '1800.00', 'RUB', '2018-08-24 13:55:00', NULL, NULL, NULL, '1800.000000000000'), (361, 318, 2, 3, '1600.00', 'RUB', '2018-08-24 13:55:00', NULL, NULL, NULL, '1600.000000000000'), (362, 317, 1, 2, '900.00', 'RUB', '2018-08-24 13:55:12', NULL, NULL, NULL, '900.000000000000'), (363, 317, 2, 3, '800.00', 'RUB', '2018-08-24 13:55:12', NULL, NULL, NULL, '800.000000000000'), (364, 326, 1, 2, '4500.00', 'RUB', '2018-08-24 13:55:38', NULL, NULL, NULL, '4500.000000000000'), (365, 326, 2, 3, '4000.00', 'RUB', '2018-08-24 13:55:38', NULL, NULL, NULL, '4000.000000000000'), (366, 325, 1, 2, '3600.00', 'RUB', '2018-08-24 13:55:48', NULL, NULL, NULL, '3600.000000000000'), (367, 325, 2, 3, '3200.00', 'RUB', '2018-08-24 13:55:48', NULL, NULL, NULL, '3200.000000000000'), (368, 324, 1, 2, '2700.00', 'RUB', '2018-08-24 13:56:01', NULL, NULL, NULL, '2700.000000000000'), (369, 324, 2, 3, '2400.00', 'RUB', '2018-08-24 13:56:01', NULL, NULL, NULL, '2400.000000000000'), (370, 323, 1, 2, '1800.00', 'RUB', '2018-08-24 13:56:17', NULL, NULL, NULL, '1800.000000000000'), (371, 323, 2, 3, '1600.00', 'RUB', '2018-08-24 13:56:17', NULL, NULL, NULL, '1600.000000000000'), (372, 322, 1, 2, '900.00', 'RUB', '2018-08-24 13:56:30', NULL, NULL, NULL, '900.000000000000'), (373, 322, 2, 3, '800.00', 'RUB', '2018-08-24 13:56:30', NULL, NULL, NULL, '800.000000000000'), (374, 336, 1, 2, '3600.00', 'RUB', '2018-08-24 13:56:49', NULL, NULL, NULL, '3600.000000000000'), (375, 336, 2, 3, '3200.00', 'RUB', '2018-08-24 13:56:49', NULL, NULL, NULL, '3200.000000000000'), (376, 335, 1, 2, '3600.00', 'RUB', '2018-08-24 13:57:00', NULL, NULL, NULL, '3600.000000000000'), (377, 335, 2, 3, '3200.00', 'RUB', '2018-08-24 13:57:00', NULL, NULL, NULL, '3200.000000000000'), (378, 334, 1, 2, '2700.00', 'RUB', '2018-08-24 13:57:13', NULL, NULL, NULL, '2700.000000000000'), (379, 334, 2, 3, '2400.00', 'RUB', '2018-08-24 13:57:13', NULL, NULL, NULL, '2400.000000000000'), (380, 333, 1, 2, '1800.00', 'RUB', '2018-08-24 13:57:25', NULL, NULL, NULL, '1800.000000000000'), (381, 333, 2, 3, '1600.00', 'RUB', '2018-08-24 13:57:25', NULL, NULL, NULL, '1600.000000000000'), (382, 332, 1, 2, '900.00', 'RUB', '2018-08-24 13:57:37', NULL, NULL, NULL, '900.000000000000'), (383, 332, 2, 3, '800.00', 'RUB', '2018-08-24 13:57:37', NULL, NULL, NULL, '800.000000000000'), (384, 341, 1, 2, '4500.00', 'RUB', '2018-08-24 13:57:56', NULL, NULL, NULL, '4500.000000000000'), (385, 341, 2, 3, '4000.00', 'RUB', '2018-08-24 13:57:56', NULL, NULL, NULL, '4000.000000000000'), (386, 340, 1, 2, '3600.00', 'RUB', '2018-08-24 13:58:09', NULL, NULL, NULL, '3600.000000000000'), (387, 340, 2, 3, '3200.00', 'RUB', '2018-08-24 13:58:09', NULL, NULL, NULL, '3200.000000000000'), (388, 339, 1, 2, '2700.00', 'RUB', '2018-08-24 13:58:23', NULL, NULL, NULL, '2700.000000000000'), (389, 339, 2, 3, '2400.00', 'RUB', '2018-08-24 13:58:23', NULL, NULL, NULL, '2400.000000000000'), (390, 338, 1, 2, '900.00', 'RUB', '2018-08-24 13:58:35', NULL, NULL, NULL, '900.000000000000'), (391, 338, 2, 3, '800.00', 'RUB', '2018-08-24 13:58:35', NULL, NULL, NULL, '800.000000000000'), (392, 337, 1, 2, '900.00', 'RUB', '2018-08-24 13:58:47', NULL, NULL, NULL, '900.000000000000'), (393, 337, 2, 3, '800.00', 'RUB', '2018-08-24 13:58:47', NULL, NULL, NULL, '800.000000000000'), (394, 346, 1, 2, '4500.00', 'RUB', '2018-08-24 13:59:02', NULL, NULL, NULL, '4500.000000000000'), (395, 346, 2, 3, '4000.00', 'RUB', '2018-08-24 13:59:02', NULL, NULL, NULL, '4000.000000000000'), (396, 345, 1, 2, '3600.00', 'RUB', '2018-08-24 13:59:14', NULL, NULL, NULL, '3600.000000000000'), (397, 345, 2, 3, '3200.00', 'RUB', '2018-08-24 13:59:14', NULL, NULL, NULL, '3200.000000000000'), (398, 344, 1, 2, '2700.00', 'RUB', '2018-08-24 13:59:27', NULL, NULL, NULL, '2700.000000000000'), (399, 344, 2, 3, '2400.00', 'RUB', '2018-08-24 13:59:27', NULL, NULL, NULL, '2400.000000000000'), (400, 343, 1, 2, '1800.00', 'RUB', '2018-08-24 13:59:40', NULL, NULL, NULL, '1800.000000000000'), (401, 343, 2, 3, '1600.00', 'RUB', '2018-08-24 13:59:40', NULL, NULL, NULL, '1600.000000000000'), (402, 342, 1, 2, '900.00', 'RUB', '2018-08-24 13:59:59', NULL, NULL, NULL, '900.000000000000'), (403, 342, 2, 3, '800.00', 'RUB', '2018-08-24 13:59:59', NULL, NULL, NULL, '800.000000000000'); -- -- Индексы таблицы `b_catalog_price` -- ALTER TABLE `b_catalog_price` ADD KEY `IXS_CAT_PRICE_PID` (`PRODUCT_ID`,`CATALOG_GROUP_ID`), ADD KEY `IXS_CAT_PRICE_GID` (`CATALOG_GROUP_ID`), ADD KEY `IXS_CAT_PRICE_SCALE` (`PRICE_SCALE`);
ID
— уникальный индентификаторPRODUCT_ID
— идентификатор товараEXTRA_ID
— идентификатор наценкиCATALOG_GROUP_ID
— идентификатор типа ценPRICE
— ценаCURRENCY
— валюта
-- -- Структура таблицы `b_catalog_extra` -- CREATE TABLE `b_catalog_extra` ( `ID` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, `NAME` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `PERCENTAGE` decimal(18,2) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -- Дамп данных таблицы `b_catalog_extra` -- INSERT INTO `b_catalog_extra` (`ID`, `NAME`, `PERCENTAGE`) VALUES (1, 'Постоянный покупатель', '-10.00'), (2, 'Оптовый покупатель', '-20.00');
Поиск:
CMS • Web-разработка • Битрикс • Интернет магазин • Каталог товаров • Наценки • Пользователь • Права доступа • Типы цен • Настройка