Таблица oc_tax_rate_to_customer_group
Таблица oc_tax_rate_to_customer_group является промежуточной таблицей многие-ко-многим, которая связывает налоговые ставки из таблицы oc_tax_rate с группами клиентов из таблицы oc_customer_group. Эта связь определяет, к каким группам покупателей применяется конкретная налоговая ставка.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
tax_rate_id |
int |
Идентификатор налоговой ставки. Внешний ключ, ссылается на таблицу oc_tax_rate.
|
customer_group_id |
int |
Идентификатор группы клиентов. Внешний ключ, ссылается на таблицу oc_customer_group.
|
Как это работает
При создании или редактировании налоговой ставки в админ-панели OpenCart (Раздел: Система > Локализация > Налоги > Налоговые ставки) администратор может выбрать группы клиентов, для которых будет действовать данная налоговая ставка.
Когда покупатель добавляет товар в корзину или оформляет заказ, система определяет его группу (например, "По умолчанию", "Оптовые покупатели") и применяет только те налоговые ставки, которые связаны с этой группой через таблицу oc_tax_rate_to_customer_group.
Это позволяет гибко настраивать налоговую политику для разных категорий клиентов. Например, можно установить нулевую налоговую ставку для оптовых покупателей или специальные налоговые условия для определенных групп.
Связь осуществляется через комбинацию двух полей: tax_rate_id и customer_group_id. Эта пара полей образует составной первичный ключ, гарантируя уникальность каждой связи.
Пример SQL-запроса
Получить все налоговые ставки, применяемые к группе клиентов с ID 1:
SELECT tr.*, cg.name as customer_group_name
FROM oc_tax_rate_to_customer_group tr2cg
LEFT JOIN oc_tax_rate tr ON (tr2cg.tax_rate_id = tr.tax_rate_id)
LEFT JOIN oc_customer_group cg ON (tr2cg.customer_group_id = cg.customer_group_id)
WHERE tr2cg.customer_group_id = 1;
Проверить, применяется ли налоговая ставка с ID 10 к группе клиентов с ID 2:
SELECT COUNT(*) as exists
FROM oc_tax_rate_to_customer_group
WHERE tax_rate_id = 10 AND customer_group_id = 2;
Смотрите также
-
таблицу
oc_tax_rate,
которая хранит информацию о налоговых ставках -
таблицу
oc_customer_group,
которая содержит группы клиентов -
таблицу
oc_tax_class,
которая хранит налоговые классы товаров -
таблицу
oc_tax_rule,
которая связывает налоговые классы с налоговыми ставками