adminaz

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_user` содержит основные пользовательские данные: внутренний идентификатор, электронный адрес, логин, хэш пароля, хэш контрольного слова, дата регистрации и дополнительные предустановленные поля личных и рабочих данных.


Структура таблицы `b_user` :

опишу основные поля данной таблицы, сведения о которых могут помочь при манипуляциях с данными пользователя:

  `LOGIN` - логин пользователя,
  `PASSWORD` - хэш пароля пользователя,
  `CHECKWORD` - хэш контрольного слова,
  `ACTIVE` - активность пользователя ('Y', 'N'),
  `NAME` - имя пользователя,
  `LAST_NAME` фамилия пользователя,
  `EMAIL` электронный адрес пользователя,
  `LAST_LOGIN` - дата последнего авторизованного входа,
  `DATE_REGISTER` - дата регистрации,
  `LID` привязка к сайту,
  `PERSONAL_* - поля персональных данных
  `WORK_* - поля данных связанных с работой,
  `ADMIN_NOTES` - комментарий админа,
  `PERSONAL_BIRTHDAY` - дата рождения,
  `EXTERNAL_AUTH_ID` - идентификатор внешнего сервиса авторизации,
  `SECOND_NAME` - отчество,
  `CONFIRM_CODE` - код подтверждения при восстановлении пароля,
  `LOGIN_ATTEMPTS` - количество попыток авторизации,
  `LAST_ACTIVITY_DATE` - дата последней активности.

Таблица `b_user_field` хранит набор пользовательских полей для различных модулей, типа блог, пользователи и т.п. Фильтрация по модулю осуществляется с помощью содержимого поля ENTITY_ID (в нашем случае для пользователя там будет указано USER).

Структура таблицы `b_user_field`
ENTITY_ID – идентификатор модуля,
FIELD_NAME – имя поля,
USER_TYPE_ID – тип поля(string, iblock_element, file и т.п.),
XML_ID
SORT – индекс сортировки,
MULTIPLE – является ли поле полем с множественным значением,
MANDATORY – обязательно ли поле,
SHOW_FILTER – показывать в фильтрации административного листинга,
SHOW_IN_LIST – показывать в списке административного листинга,
EDIT_IN_LIST - возможно ли редактирование в списке административного листинга,
IS_SEARCHABLE – возможен поиск по поля,
SETTINGS – дополнительные настройки в сериализованном виде, типа: (a:6:{s:4:"SIZE";i:20;s:4:"ROWS";i:1;s:6:"REGEXP";N;s:10:"MIN_LENGTH";i:0;s:10:"MAX_LENGTH";i:0;s:13:"DEFAULT_VALUE";N;})


Таблица `b_user_field_enum`  предназначена для  хранения значений типа поля enumeration:


Структура таблицы `b_user_field_enum`  : 

ID – идентификатор записи
USER_FIELD_ID – идентификатор пользовательского поля
VALUE – значение
DEF – значение используется как значение по умолчаниию
SORT – индекс сортировки



Мультиязычность для названий пользовательских полей реализуется с помощью таблицы `b_user_field_lang`.
 
Структура таблицы `b_user_field_lang`:
USER_FIELD_ID - идентификатор пользовательского поля
LANGUAGE_ID – идентификатор языка
EDIT_FORM_LABEL – фраза представления поля в форме просмотра и редактирования
LIST_COLUMN_LABEL –фраза представления поля в листинге
LIST_FILTER_LABEL – фраза представления поля в листинге фильтрации
ERROR_MESSAGE – фраза сообщения ошибки при работе с полем
HELP_MESSAGE – фраза помощи при работе с полем


Дополнительные пользовательские свойства хранятся в таблице`b_uts_user`, где каждое поле в структуре таблицы является пользовательским полем. Привязка осуществляется по полю VALUE – идентификатор пользователя, это единственное предустановленное поле в этой таблице, остальные поля соответствуют полям записи из таблицы `b_user_field`.
 
Пример структуры моей таблицы:
VALUE_ID
UF_CITY – пользовательское поле «город»
UF_СOUNTRY – пользовательское поле «страна»


Группы пользователей хранятся в `b_group` .
 
Структура таблицы  `b_group` :
ID –идентификатор записи
TIMESTAMP_X
ACTIVE – активность группы
C_SORT – индекс сортировки
ANONYMOUS
NAME – имя группы
DESCRIPTION - описания
SECURITY_POLICY
STRING_ID


Связь между пользователями и пользовательскими группами осуществляется через таблицу `b_user_group`
 
Структура таблицы `b_user_group`:
USER_ID – идентификатор пользователя
GROUP_ID – идентификатор группы
DATE_ACTIVE_FROM – время активности пользователя в группе с …
DATE_ACTIVE_TO – время активности пользователя в группе по …

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