Карточка товара. Вкладка характеристики

Version 1.2 by Vladislav Eleseev on 2024/01/12 06:53

Карточка товара. Вкладка Характеристики.

image-20240112095255-1.png

Управляющие элементы:
1. Список характеристик группы.

2. Список индивидуальных характеристик.

3. Список комплектация.

4. Список внутренних характеристик.

5. Свойство товара – состав.

6. Свойство товара – срок годности.

7. Свойство товара – гарантийный срок.

8. Свойство товара - знак сертификации.

9. Свойство товара  - группа в сертификате.

10. Свойство товара - технические регламенты.

11. Свойство товара – техническое описание (ВЭД).

12. Кнопка копирующая всем товарам в группе техническое описание.

Общая работа с вкладкой должна быть схожа с работой карточки. Изменения в базу попадают после сохранения или нажатия ок. В случае нажатия отмена изменения не сохраняются. Исключение может составлять кнопка скопировать группе.

Подробное описание элементов!

  1. Список характеристик группы.

Отображение в таблице характеристик группы. Значение характеристики может быть индивидуальное, может быть дефолтное от группы. Характеристики наследуются до главного родителя. В данную таблицу нельзя вставлять связь с характеристикой и нельзя удалять связь. Можно изменять значение, добавив таким образом индивидуальное значение для характеристики у данного товара. Так же можно менять порядковый номер характеристики.

Как берутся данные:

  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

Вычисление групп можно сделать иначе, через код на делфи, на пример. Значения берутся с начала уникальное, потом дефолтное для группы, после дефолтное для всех характеристики. Порядковый номер так де берется индивидуальный если есть, потом дефолтный группы.

  1. Список индивидуальных характеристик.

Отображение в таблице индивидуальных характеристик. Характеристика считается индивидуальной если её нет у группы товара или в родительских группах. Индивидуальные характеристики должна быть возможность добавить, удалить, изменить порядковый номер, изменить значение характеристики. Добавление характеристики лучше сделать через диалог выбора или отдельный фрейм.

Как берутся данные:

              
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.

Tags:
Created by Vladislav Eleseev on 2024/01/12 06:52