Карточка товара. Вкладка характеристики
Карточка товара. Вкладка Характеристики.
Управляющие элементы:
1. Список характеристик группы.
2. Список индивидуальных характеристик.
3. Список комплектация.
4. Список внутренних характеристик.
5. Свойство товара – состав.
6. Свойство товара – срок годности.
7. Свойство товара – гарантийный срок.
8. Свойство товара - знак сертификации.
9. Свойство товара - группа в сертификате.
10. Свойство товара - технические регламенты.
11. Свойство товара – техническое описание (ВЭД).
12. Кнопка копирующая всем товарам в группе техническое описание.
Общая работа с вкладкой должна быть схожа с работой карточки. Изменения в базу попадают после сохранения или нажатия ок. В случае нажатия отмена изменения не сохраняются. Исключение может составлять кнопка скопировать группе.
Подробное описание элементов!
- Список характеристик группы.
Отображение в таблице характеристик группы. Значение характеристики может быть индивидуальное, может быть дефолтное от группы. Характеристики наследуются до главного родителя. В данную таблицу нельзя вставлять связь с характеристикой и нельзя удалять связь. Можно изменять значение, добавив таким образом индивидуальное значение для характеристики у данного товара. Так же можно менять порядковый номер характеристики.
Как берутся данные:
with a as
(
select
g.id, g.id parent_id
from
dbo.[product_group] g
union all
select
a.id, g.parent_id
from
dbo.[product_group] g
join a on a.parent_id = g.id
where
g.parent_id is not null
)
Select pr.id, pr.name, coalesce(v.val,pb.defval,pr.defval) val, coalesce(v.sernum,pb.sernum) sernum
From products p
join a on a.id=p.group_id
join product_group pg on pg.id=a.parent_id--p.group_id
join propbind pb on pb.group_id=pg.id
left join propvalues v on v.product_id=p.id and v.property_id=pb.property_id
left join properties pr on pr.id=pb.property_id
where airus_id=34143
Вычисление групп можно сделать иначе, через код на делфи, на пример. Значения берутся с начала уникальное, потом дефолтное для группы, после дефолтное для всех характеристики. Порядковый номер так де берется индивидуальный если есть, потом дефолтный группы.
- Список индивидуальных характеристик.
Отображение в таблице индивидуальных характеристик. Характеристика считается индивидуальной если её нет у группы товара или в родительских группах. Индивидуальные характеристики должна быть возможность добавить, удалить, изменить порядковый номер, изменить значение характеристики. Добавление характеристики лучше сделать через диалог выбора или отдельный фрейм.
Как берутся данные:
with a as
(
select
g.id, g.id parent_id
from
dbo.[product_group] g
union all
select
a.id, g.parent_id
from
dbo.[product_group] g
join a on a.parent_id = g.id
where
g.parent_id is not null
)
Select distinct pr.id, pr.name, coalesce(v.val,pr.defval) val, v.sernum ,pr.NTecdoc 'Crit No.',pr.NDescription 'Crit No. Description'
From products p
join propvalues v on v.product_id=p.id
join properties pr on pr.id=v.property_id
left join (Select distinct pb.property_id id From products p join a on a.id=p.group_id
join product_group pg on pg.id=a.parent_id
join propbind pb on pb.group_id=pg.id where airus_id=34143 ) t on t.id = v.property_id
where airus_id=34143 and t.id is null
Вычисление групп можно сделать иначе, через код на делфи, на пример. Значения берутся с начала уникальное, после дефолтное для всех характеристики.
3. Список комплектация.
Комплектация это набор строк. Должны быть функции добавления строки, удаления, редактирования и изменения порядкового номера.
Как берутся данные:
SELECT id, product_id, name ,NN FROM product_items where product_id = 911
4. Список внутренних характеристик.
Внутренние характеристики это список пар строк связанных с товаром. Таблица содержит две колонки характеристика – значение. Должны быть функции добавления характеристики, удаления, редактирования характеристики и значения и изменения порядкового номера строки.
Как берутся данные:
Select id_product, n_prop, property, val From input_propetry where id_product = %1
5. Свойство товара – состав. Строка, должна быть возможность редактирования.
Select composition From products where airus_id=34143
6. Свойство товара – срок годности. Строка, должна быть возможность редактирования.
Select life From products where airus_id=34143
7. Свойство товара – гарантийный срок. Строка, должна быть возможность редактирования.
Select garant From products where airus_id=34143
8. Свойство товара - знак сертификации. Строка. Только для чтения.
Select sert_image From products where airus_id=17463
9. Свойство товара - группа в сертификате. Строка. Только для чтения.
Select sert_grp From products where airus_id=17463
10. Свойство товара - технические регламенты. Строка. Только для чтения.
Select tehreg_name From products where airus_id=17463
11. Свойство товара – техническое описание (ВЭД). Большой текст. Должна быть возможность редактирования.
Select ved From products where airus_id=34143
12. Кнопка копирующая всем товарам в группе техническое описание.
Нажатие кнопки копирует свойство товара техническое описание (ВЭД) всем товарам из той же группы что и данный товар. Т.е. все товары с тем же group_id.