Bitrix

Подписаться на эту метку по RSS

Bitrix - Функция для получения дочерних категорий по идентификатору родительской категории.

Функция для  получения дочерних категорий по идентификатору родительской категории.


        function getChildCat($id)
        {
            global $db,$CONFIG, $tpl, $result, $ni;
            $sql = "SELECT * FROM `categories` WHERE `parent_id` = ".$id;
            $db->query($sql);
            $preresult = array();
            $ni++;
            while ($db->next_record())
            {
                $preresult[] = array("id" => $db->f('id'), "title" => $db->f('title'), "level"=> $ni);
            }

            foreach ($preresult as $results)
            {
                $ni = $results['level'];
                $result[] = $results;
                $this->getChildCat($results['id']);
            }

            return $result;
        }

Bitrix - Структура таблиц функционала валют базы данных

Функциональность валют основывается на таблицах базы данных:`b_catalog_currency``b_catalog_currency_lang`,`b_catalog_currency_rate`.

Таблица `b_catalog_currency` содержит следующие поля:
CURRENCY -  iso код,
AMOUNT_CNT - номинал,
AMOUNT - стоимость валюты по отношению к рублю,
SORT - индекс сортировки,
DATE_UPDATE - дата обновления.

Таблица `b_catalog_currency_lang` содержит следующие поля:
CURRENCY - iso код указанный в `b_catalog_currency`,
 LID - код языка (en, ru) 
FORMAT_STRING - шаблон формата($#, # руб., где #- число, $ - символ валюты)
FULL_NAME - название,
DEC_POINT - десятичная точка при выводе,
DECIMALS - количество десятичных знаков, 
THOUSANDS_VARIANT - разделитель тысяч при выводе(N-без разделителя,D-точка,C-запятая,S-пробел,B-неразрывный пробел,пустое значение - другое значение)
THOUSANDS_SEP - если в THOUSANDS_VARIANT указано "пустое значение", указать в этой переменной разделитель.

Таблица `b_catalog_currency_rate` содержит следующие поля: 
ID - автоинкримент
CURRENCY - iso код,
DATE_RATE - дата,
RATE_CNT - номинал,
RATE - курс

Как видно структура очевидная. Первые две таблицы(`b_catalog_currency` и `b_catalog_currency_lang`) повторяют набор полей страницы заведения валюты административной части. Соответственно таблица `b_catalog_currency_rate` повторяет набор полей страницы курсов валют.

Bitrix - Структура таблиц базы данных функционала скидок и купонов

Функциональность скидок представлена следующими таблицами:b_catalog_discountb_catalog_discount_coupon,b_catalog_discount2catb_catalog_discount2group,b_catalog_discount2iblockb_catalog_discount2product,b_catalog_discount2section. Здесь основной таблицей является таблицаb_catalog_discount.


Таблица b_catalog_discount cодержит следующие поля:
`ID` - идентификатор скидки (автоинкримент),
`SITE_ID` - привязка к сайту,
`ACTIVE` - активность(Y,N),
`ACTIVE_FROM` - указание с какой даты активна скидка,
`ACTIVE_TO` - указание до какой даты активна скидка,
`RENEWAL`- пролонгация,
`NAME` - название,
`MAX_USES` - количество раз можно использовать,
`COUNT_USES` - использованное количество раз,
`COUPON` - купон для скидки,
`SORT` - индекс сортировки,
`MAX_DISCOUNT` максимальная скидка,
`VALUE_TYPE` - тип скидки("V" - Фиксированная сумма, "P" - проценты от суммы),
`VALUE` значение скидки,
`CURRENCY` - iso код валюты,
`MIN_ORDER_SUM` - минимальная сумма скидки,
`TIMESTAMP_X` - время,
`NOTES` - примечание. 

Следующие таблицы предназначаются для создания скидки на определенный товар или товар содержащийся в определенном месте:
b_catalog_discount2cat, - объекты находящиеся в определенной категории,
b_catalog_discount2group - скидка для определенной пользовательской группы,
b_catalog_discount2iblock – скидка на товар из определенного информационного блока,
b_catalog_discount2product – скидка на определенный товар,
b_catalog_discount2section - скидка на товары в определенной секции.

Структура всех таблиц идентична:
Идентификатор записи(ID),
Идентификатор скидки(DISCOUNT_ID),
Идентификатор принадлежности (SECTION_IDGROUP_ID и т.д)

Последняя таблица функционала относящегося к скидкам -b_catalog_discount_coupon.
В ней хранятся создаваемые вами купоны.
`ID` - идентификатор записи,
`DISCOUNT_ID` - идентификатор скидки,
`ACTIVE` - признак активности ('Y', 'N'),
 `COUPON` - уникальный ключ купона,
`DATE_APPLY` - дата применения купона,
`ONE_TIME` - единичного использования ('Y', 'N'),
`DESCRIPTION` - описание. 
Соответственно вы должны учесть, что для создания купона, вы должны заблаговреммено создать скидку для этого купона в таблицеb_catalog_discount. Данный функционал находится в разделах «Скидки», «Разделы скидок» раздела «Торговый каталог» административной части

Bitrix - Структура базы данных для функциональности "типы цен"

Данные функциональности типов цен хранятся в таблицах`b_catalog_group``b_catalog_group2group` и`b_catalog_group_lang`.


Таблица `b_catalog_group` содержит информацию описывающую основные типы цен в торговом каталоге:
ID - идентификатор типа цен,
NAME – название типа цен,
BASE – является ли цена «базовой» ценой,
SORT – индекс сортировки. 

Таблица `b_catalog_group2group` содержит права доступа для групп пользователей к типу цен: ID – идентификатор,
CATALOG_GROUP_ID – идентификатор группы цен,
GROUP_ID - группа пользователей,
BUY – доступна для покупки.

Таблица `b_catalog_group_lang` содержит языковое описание типов цен:
ID – идентификатор,
CATALOG_GROUP_ID - идентификатор группы цен,
LID – код языка (ru, en),
NAME – соответствующее языковое название группы цен

Bitrix - Структура база данных "привязки" информационного блока к торговому каталогу.

Привязка информационного блока осуществляется через таблицу`b_catalog_iblock` , в которой указывается id информационного блока в поле IBLOCK_ID и значения соответствующие настройкам в остальные поля.


Структура таблицы `b_catalog_iblock`:
IBLOCK_ID – идентификатор информационного блока, 
YANDEX_EXPORT – экспортировать в Яндекс.Товары,
SUBSCRIPTION - Продажа контента,
VAT_ID - НДС,
PRODUCT_IBLOCK_ID
SKU_PROPERTY_ID - инфоблок имеет торговые предложения

Bitrix - Структура базы данных для описания элемента информационного каталога для создание товарной единицы.

К структуре базы данных для описания элемента информационного каталога для создания товарной единицы относятся две таблицы:  `b_catalog_price`и `b_catalog_product`.



Привязка цены для элемента информационного блока осуществляется в таблице `b_catalog_price`:
ID - идентификатор
PRODUCT_ID – идентификатор продукта
EXTRA_ID
CATALOG_GROUP_ID– тип цены
PRICE - цена
CURRENCY – iso код валюты
TIMESTAMP_X – время заведения
QUANTITY_FROM – цена для количества с …
QUANTITY_TO –цена до количества ….
TMP_ID

Пока не ясно зачем, но существует еще одна таблица описывающая продукт торгового каталога - `b_catalog_product`. Конечно, можно логически отнести эту таблицу к описанию продукта торгового каталога, а таблицу `b_catalog_price` к описанию цены торгового каталога, но в таком случае не понятно по какой причине в таблицу `b_catalog_price` внесены данные по налогу и включении ее («НДС включена в цену» опция) в стоимость товара.

Таблица `b_catalog_product` содержит следующие поля:
ID - идентификатор
QUANTITY – количество товара
QUANTITY_TRACE – отслеживание количества товара
WEIGHT – вес
TIMESTAMP_X – время создания
PRICE_TYPE – тип цены
RECUR_SCHEME_LENGTH – длительность рекурсивной оплаты
RECUR_SCHEME_TYPE – тип рекурсивной оплаты
TRIAL_PRICE_ID – цена пробного периода
WITHOUT_ORDER – без заказа
SELECT_BEST_PRICE – выбирать лучшую цену
VAT_ID - идентификатор ставки НДС
VAT_INCLUDED – включена ли НДС в цену
TMP_ID