Show last authors
1 Карточка товара. Вкладка Характеристики.
2
3 [[image:image-20240112095255-1.png||height="945" width="1377"]]
4
5 Управляющие элементы:
6 ~1. Список характеристик группы.
7
8 2. Список индивидуальных характеристик.
9
10 3. Список комплектация.
11
12 4. Список внутренних характеристик.
13
14 5. Свойство товара – состав.
15
16 6. Свойство товара – срок годности.
17
18 7. Свойство товара – гарантийный срок.
19
20 8. Свойство товара - знак сертификации.
21
22 9. Свойство товара - группа в сертификате.
23
24 10. Свойство товара - технические регламенты.
25
26 ~11. Свойство товара – техническое описание (ВЭД).
27
28 12. Кнопка копирующая всем товарам в группе техническое описание.
29
30
31 Общая работа с вкладкой должна быть схожа с работой карточки. Изменения в базу попадают после сохранения или нажатия ок. В случае нажатия отмена изменения не сохраняются. Исключение может составлять кнопка скопировать группе.
32
33
34 Подробное описание элементов!
35
36 1. Список характеристик группы.
37
38 Отображение в таблице характеристик группы. Значение характеристики может быть индивидуальное, может быть дефолтное от группы. Характеристики наследуются до главного родителя. В данную таблицу нельзя вставлять связь с характеристикой и нельзя удалять связь. Можно изменять значение, добавив таким образом индивидуальное значение для характеристики у данного товара. Так же можно менять порядковый номер характеристики.
39
40 Как берутся данные:
41
42 with a as
43
44 (
45
46 select
47
48 g.id, g.id parent_id
49
50 from
51
52 dbo.[product_group] g
53
54
55 union all
56
57
58 select
59
60 a.id, g.parent_id
61
62 from
63
64 dbo.[product_group] g
65
66 join a on a.parent_id = g.id
67
68 where
69
70 g.parent_id is not null
71
72 )
73
74
75 Select pr.id, pr.name, coalesce(v.val,pb.defval,pr.defval) val, coalesce(v.sernum,pb.sernum) sernum
76
77 From products p
78
79 join a on a.id=p.group_id
80
81 join product_group pg on pg.id=a.parent_id~-~-p.group_id
82
83 join propbind pb on pb.group_id=pg.id
84
85 left join propvalues v on v.product_id=p.id and v.property_id=pb.property_id
86
87 left join properties pr on pr.id=pb.property_id
88
89 where airus_id=34143
90
91
92
93 Вычисление групп можно сделать иначе, через код на делфи, на пример. Значения берутся с начала уникальное, потом дефолтное для группы, после дефолтное для всех характеристики. Порядковый номер так де берется индивидуальный если есть, потом дефолтный группы.
94
95
96
97
98
99 1. Список индивидуальных характеристик.
100
101 Отображение в таблице индивидуальных характеристик. Характеристика считается индивидуальной если её нет у группы товара или в родительских группах. Индивидуальные характеристики должна быть возможность **добавить, удалить, изменить порядковый номер, изменить значение характеристики**. Добавление характеристики лучше сделать через диалог выбора или отдельный фрейм.
102
103 Как берутся данные:
104
105
106 with a as
107
108 (
109
110 select
111
112 g.id, g.id parent_id
113
114 from
115
116 dbo.[product_group] g
117
118
119 union all
120
121
122 select
123
124 a.id, g.parent_id
125
126 from
127
128 dbo.[product_group] g
129
130 join a on a.parent_id = g.id
131
132 where
133
134 g.parent_id is not null
135
136 )
137
138
139 Select distinct pr.id, pr.name, coalesce(v.val,pr.defval) val, v.sernum ,pr.NTecdoc 'Crit No.',pr.NDescription 'Crit No. Description'
140
141 From products p
142
143 join propvalues v on v.product_id=p.id
144
145 join properties pr on pr.id=v.property_id
146
147 left join (Select distinct pb.property_id id From products p join a on a.id=p.group_id
148
149 join product_group pg on pg.id=a.parent_id
150
151 join propbind pb on pb.group_id=pg.id where airus_id=34143 ) t on t.id = v.property_id
152
153 where airus_id=34143 and t.id is null
154
155
156
157 Вычисление групп можно сделать иначе, через код на делфи, на пример. Значения берутся с начала уникальное, после дефолтное для всех характеристики.
158
159
160
161
162 3. Список комплектация.
163
164 Комплектация это набор строк. Должны быть функции добавления строки, удаления, редактирования и изменения порядкового номера.
165
166
167 Как берутся данные:
168
169 SELECT id, product_id, name ,NN FROM product_items where product_id = 911
170
171
172
173
174 4. Список внутренних характеристик.
175
176 Внутренние характеристики это список пар строк связанных с товаром. Таблица содержит две колонки характеристика – значение. Должны быть функции добавления характеристики, удаления, редактирования характеристики и значения и изменения порядкового номера строки.
177
178 Как берутся данные:
179
180 Select id_product, n_prop, property, val From input_propetry where id_product = %1
181
182
183
184 5. Свойство товара – состав. Строка, должна быть возможность редактирования.
185
186 Select composition From products where airus_id=34143
187
188 6. Свойство товара – срок годности. Строка, должна быть возможность редактирования.
189
190 Select life From products where airus_id=34143
191
192 7. Свойство товара – гарантийный срок. Строка, должна быть возможность редактирования.
193
194 Select garant From products where airus_id=34143
195
196 8. Свойство товара - знак сертификации. Строка. Только для чтения.
197
198 Select sert_image From products where airus_id=17463
199
200 9. Свойство товара - группа в сертификате. Строка. Только для чтения.
201
202 Select sert_grp From products where airus_id=17463
203
204 10. Свойство товара - технические регламенты. Строка. Только для чтения.
205
206 Select tehreg_name From products where airus_id=17463
207
208 ~11. Свойство товара – техническое описание (ВЭД). Большой текст. Должна быть возможность редактирования.
209
210 Select ved From products where airus_id=34143
211
212 12. Кнопка копирующая всем товарам в группе техническое описание.
213
214 Нажатие кнопки копирует свойство товара техническое описание (ВЭД) всем товарам из той же группы что и данный товар. Т.е. все товары с тем же group_id.

Tips

Did you know that you can improve XWiki? Take 5 minutes to fill this survey and help this open source project!

My Recent Modifications

Need help?

If you need help with XWiki you can contact: