Show last authors
1 = **Сборка таблиц для загрузки информации по списку артикулов одного бренда через DMM** =
2
3 DMM - личный кабинет TecDoc, через который происходит загрузка наших товаров. DMM - старая версия личного кабинета, с 2023 г. появился TecDoc ONE - новая версия личного кабинета. Основное различие - загрузка стала более удобной и легкой для пользователя, требования к уровню знаний Excel снизились плюс снижается время между загрузкой и отображением в каталоге (8 дней у DMM и 1 день у ONE). В настоящий момент DMM работает для Trialli, Luzar, Startvolt и Airline. ONE работает только для Carville Racing. В планах у TecDoc отправить все бренды на ONE во втором квартале 2025 г, но на 17.06.25 точной даты и алгоритмы сотрудники TecDoc не предоставили (вопрос задавал в июне). Надо уточнить, но возможен вариант не переезжать на ONE и остаться на DMM.
4
5 **Ссылки на DMM**
6
7 DMM по Luzar / Airline [[http:~~/~~/192.168.1.79:8181/>>url:http://192.168.1.79:8181/]]
8
9 DMM по Trialli / Startvolt [[http:~~/~~/192.168.1.76:8080/>>url:http://192.168.1.76:8080/]]
10
11 Официальная документация: [[attach:TecDoc-Data-Format_Version_2.7_EN_2.0.29.pdf||target="_blank"]]
12
13 **Файлы по сбору и подготовке информации**
14
15 Файл СБОР 2.0: [[attach:СБОР 2.0.xlsx||target="_blank"]]
16
17 Сбор таблиц в TecDoc: [[attach:Сборка таблиц TecDoc.xlsx||target="_blank"]]
18
19
20 == **ОБЩАЯ СХЕМА** ==
21
22 **[[image:Алгоритм загрузки в TecDoc.png||height="537" width="1051"]]**
23
24
25
26 **Что должно получиться в финале (итоговые файлы):**
27
28 [[attach:Таблицы для загрузки.rar||target="_blank"]] - пример из последней загрузки Airline
29
30 Название файла 200.4826 означает, что это таблица № 200 из документации для бренда номер 4826 (поле Supplier No. для Airline)
31
32 Содержание таблиц:
33
34 001 - условно "сопроводительное письмо" о загрузке. Информации об артикулах в нем нет. Я его не собираю, копирую из прошлых загрузок.
35
36 200 - Артикул и Бренд
37
38 203 - Cross / OEM
39
40 209 - Штрих-коды
41
42 210 - Характеристики и их значения
43
44 211 - Номер группы TecDoc
45
46 212 - Страна, статус
47
48 400 - Применяемость
49
50 Информация о содержании всех полей таблиц есть в документации.
51
52 == **Выбор артикулов для загрузки** ==
53
54 Берем для загрузки артикулы, удовлетворяющие условиям:
55
56 Cтатус = “Заказано / В пути”
57
58 ИЛИ Статус = “На складе”
59
60 И Категория ABC <> “OUT”
61
62 И Категория ABC <> “ZAK”
63
64 И Категория ABC <> “ARC”
65
66 И Категория ABC <> “RLZ”
67
68 И Категория ABC <> “D”
69
70 Это будет Список 1.
71
72
73 Берем отчет Articles из DMM (см.ниже как его найти). Это список уже загруженных артикулов. Это будет Список 2.
74
75 [[image:1748502438816-408.png||height="374" width="378"]]
76
77
78 Удаляем Список 2 из Списка 1 и получим список артикулов для загрузки.
79
80
81 === **Выбор номера группы TecDoc для загружаемых артикулов** ===
82
83 Есть два сценария выбора:
84
85 1) Группа ранее загружалась, поэтому ее номер известен
86
87 В этом случае нужно взять **Номер группы TecDoc **из справочников:
88
89 [[attach:AIRLINE Группы TECDOC.xlsx||target="_blank"]]
90
91 [[attach:LUZAR Группы TECDOC.xlsx||target="_blank"]]
92
93 [[attach:TRIALLI Группы TecDoc.xlsx||target="_blank"]]
94
95 Бывают случаи, где внутри нашей группы (например, Газовые упоры в Trialli) содержится несколько групп TecDoc. В таком случае требуется условие, по которому определяется принадлежность к группе TecDoc (вхождение текста). На примере Газовых упоров это выглядит так:
96
97 [[image:image-20250507153434-1.png||height="52" width="559"]]
98
99 2) Группа ранее не загружалась
100
101 Если группа новая (= не загружалась в TecDoc ранее), то нужно выбрать ее номер из справочника группы TecDoc - [[attach:Generic Articles 2024 2.0.xlsx||target="_blank"]]. В нем нас интересует поле GenArtNo. Также можно вбить OEM артикула новой группы авторитетного бренда в каталог TecDoc - [[https:~~/~~/web.tecalliance.net/tecdocru/ru/login>>url:https://web.tecalliance.net/tecdocru/ru/login]] - и подобрать группу из выпавших артикулов.
102
103 Выбор группы делаю сначала сам, потом привлекаю маркетологов.
104
105 Если группы нет в справочнике Generic Articles, то можно написать письмо в TecDoc со списком групп для добавления. Такое мы делали один раз для Airline - добавление групп произошло через 3 месяца с момента подачи заявки.
106
107
108 (% class="wikigeneratedid" %)
109 == ==
110
111 == **Привязка к бренду (табл. 200)** ==
112
113 Требования из инструкции по содержанию строки:
114
115 [[image:20 супп.png||height="462" width="521"]]
116
117 Поля, актуальные нам:
118
119 ArtNo - Артикул в NPR
120
121 BrandNo - Номер бренда Carville из справочника TecDoc
122
123 TableNo - Номер таблицы = 200
124
125 (% dir="ltr" style="height:30px; width:30px" %)
126 |(% style="width:115px" %)**Бренд**|(% style="width:48px" %)**Номер бренда Carville**
127 |(% style="width:115px" %)AIRLINE|(% style="width:48px" %)4826
128 |(% style="width:115px" %)LUZAR|(% style="width:48px" %)4707
129 |(% style="width:115px" %)TRIALLI|(% style="width:48px" %)4772
130 |(% style="width:115px" %)STARTVOLT|(% style="width:48px" %)4471
131
132 (% class="wikigeneratedid" %)
133 TableNo - номер загружаемой таблицы
134
135 **Итоговая таблица:**
136
137 [[image:21 супп.png]]
138
139 == **Cross и OEM (таблица 203)** ==
140
141 Из БД делаем два запроса - OEM и Cross (прилагаю) с объединением их в одну таблицу. В DMM OEM и Cross лежат в одной куче, в отличии от NPR.
142
143 **Обработка OEM / Cross**
144
145 1) Убрать OEM / Cross, в значениях которых есть кириллица
146
147 2) Почистить OEM / Cross от лишних пробелов, служебных символов (переносов строк и т.д.)
148
149 3) Для загрузки берутся только те OEM / Cross, бренды которых находятся в справочнике брендов TecDoc (в DMM он называется Brands) = надо удалить значения tecdocId, равные null. Признаком нахождения в справочнике брендов TecDoc является наличие заполненного поля Tecdocid в справочнике “Производители OEM/Cross” в NPR.
150
151 4) Заменить ошибочные названия брендов (VALEO_INDI, BOSCH_STAH и т.д.). [[attach:Замена ошибок в брендах.xlsx||target="_blank"]] - в нем **Tecdoc id** меняем на **Tecdoc id для замены бренда.**
152
153 В конце СБОР 2.0 таблица должна выглядеть так:
154
155 1. Артикул
156 1. Номер бренда Carville
157 1. Номер бренда производителя TecDoc
158 1. Cross/OEM
159
160 Номер бренда Carville определяется так:
161
162 (% dir="ltr" style="height:30px; width:30px" %)
163 |(% style="width:115px" %)**Бренд**|(% style="width:48px" %)**Номер бренда Carville**
164 |(% style="width:115px" %)AIRLINE|(% style="width:48px" %)4826
165 |(% style="width:115px" %)LUZAR|(% style="width:48px" %)4707
166 |(% style="width:115px" %)TRIALLI|(% style="width:48px" %)4772
167 |(% style="width:115px" %)STARTVOLT|(% style="width:48px" %)4471
168
169 ==== **Запрос SQL для выгрузки Cross** ====
170
171 ~-~- Статусы: "Заказано/В пути", "На складе"
172
173 **SELECT**
174
175 b.name **AS** 'Бренд'
176
177 ,p.name **AS** 'Наименование ADS'
178
179 ,p.code **AS** 'Артикул'
180
181 ,c.code **AS** 'Код аналога'
182
183 ,om.name **AS** 'Производитель аналога'
184
185 ,om.tecdocId **AS** 'tecdocId'
186
187 **FROM** products p
188
189 **LEFT JOIN** product_group pg
190
191 **~ ON** p.group_id = pg.id
192
193 **LEFT JOIN **brands b
194
195 **ON** pg.brand_id = b.id
196
197 **LEFT JOIN** product_codes pc
198
199 **~ ON** p.id = pc.product_id
200
201 **LEFT JOIN** codes c
202
203 **ON** pc.code_id = c.id
204
205 **LEFT JOIN** oem_mark om
206
207 **ON** pc.oem_mark_id = om.id
208
209 **WHERE** 1 = 1
210
211 **AND** p.status_id **IN** (4,5)
212
213 **AND** b.name **IS NOT** null
214
215 **AND** c.code **IS NOT** null
216
217 **AND** om.name **IS NOT** null
218
219 **AND** b.id **IN** (1, 2, 3, 4, 5)
220
221 ~-~-**AND** p.code = 'ALED061'
222
223 **ORDER BY**
224
225 Бренд
226
227 ,'Наименование ADS'
228
229 ,'Производитель аналога'
230
231 ,'Код аналога'
232
233
234 ==== **Запрос SQL для выгрузки OEM** ====
235
236 ~-~- Статусы: "Заказано/В пути", "На складе"
237
238 **SELECT**
239
240 b.name **AS** 'Бренд'
241
242 ,p.name **AS** 'Наименование ADS'
243
244 ,p.code **AS** 'Артикул'
245
246 ,oc.code **AS** 'OEM'
247
248 ,om.name **AS** 'Марка'
249
250 ,om.tecdocId **AS** 'tecdocId'
251
252 **FROM** products p
253
254 **LEFT JOIN** product_group pg
255
256 **ON** p.group_id = pg.id
257
258 **LEFT JOIN** brands b
259
260 **ON** pg.brand_id = b.id
261
262 **LEFT JOIN** product_oem po
263
264 **ON** p.id = po.product_id
265
266 **LEFT JOIN** oem_codes oc
267
268 **ON **po.oem_id = oc.id
269
270 **LEFT JOIN** oem_mark om
271
272 **ON **oc.oemmarkId = om.id
273
274 **WHERE** 1 = 1
275
276 **AND** p.status_id **IN** (4,5)
277
278 **AND** oc.code **IS NOT** NULL
279
280 **~ AND **om.name **IS NOT** NULL
281
282 **AND** p.code **IS NOT** NULL
283
284 **AND** b.id **IN** (1, 2, 3, 4, 5)
285
286 **ORDER BY**
287
288 Бренд
289
290 ,Артикул
291
292 ,Марка
293
294 ,OEM
295
296 **Промежуточный вариант:**
297
298 [[image:14 супп.png||height="367" width="473"]]
299
300
301 **Итоговый вариант:**
302
303 [[image:15 супп.png]]
304
305
306 Вот изначальные требования к таблице (см. с. 149 в документации)
307
308 [[image:16 супп.png]]
309
310 == **Штрих-коды (табл. 209)** ==
311
312 == [[image:22 супп.png||height="419" width="587"]] ==
313
314 (% class="wikigeneratedid" %)
315 **ArtNo** - Артикул
316
317 (% class="wikigeneratedid" %)
318 **BrandNo** - Номер бренда Carville из справочника брендов TecDoc (см.выше)
319
320 (% class="wikigeneratedid" %)
321 **TableNo** - номер таблицы = 209
322
323 (% class="wikigeneratedid" %)
324 **GTIN** - Штрих-код / Штрих-код (груп.) из раздела Метрические данные
325
326 (% class="wikigeneratedid" %)
327 [[image:25 супп.png||height="300" width="720"]]
328
329 **Проверки:**
330
331 1) Из поля Штрих-код берем только значения с 13 символами (иногда попадаются значения с 14 символами)
332 2) Если группа = Диски тормозные или Барабаны тормозные, то берем поле Штрих-код (груп.), т.к. это парные товары, и них нет индивидуальной упаковки
333
334 3) Иногда у одного товара может быть несколько штрих-кодов и нужно либо удалять дубликаты, либо, если дубликаты не нашлись, вручную удалять лишние штрих-коды в выгрузке
335 4) Возможно, стоит сделать проверку на наличие штрих-кода. Если его нет, то отправить маркетологам на дозаполнение.
336
337 (% class="wikigeneratedid" %)
338 **Итоговая таблица:**
339
340 [[image:23 супп.png]]
341
342 == **Характеристики (табл. 210)** ==
343
344 Надо выгрузить индивидуальные и групповые характеристики.
345
346 ==== **Запрос SQL на индивидуальные характеристики** ====
347
348 **SELECT**
349
350 br.name **AS** Бренд
351
352 ,p.code **AS** Артикул
353
354 ,pg.name **AS** Группа
355
356 ,prop.name **AS** Характеристика
357
358 ,pv.val **AS** Значение
359
360 **FROM** propvalues pv
361
362 **LEFT JOIN** properties prop
363
364 **~ ON** pv.property_id = prop.id
365
366 **LEFT JOIN** products p** **
367
368 **~ ON** pv.product_id = p.id
369
370 **LEFT JOIN** product_group pg
371
372 **~ ON** p.group_id = pg.id
373
374 **LEFT JOIN** brands br
375
376 **~ ON **pg.brand_id = br.id
377
378 **WHERE** 1 = 1
379
380 **~ AND** p.status_id **IN** (4, 5)
381
382 **~ AND** pv.val **IS NOT** null
383
384 **~ AND** pv.val **NOT IN** ('')
385
386 **~ AND** br.id **IN** (1, 2, 3, 4, 5)
387
388 **~ AND **br.id = 3
389
390 **ORDER BY**
391
392 Бренд,
393
394 Группа,
395
396 Артикул
397
398 ==== **Запрос SQL на групповые характеристики** ====
399
400 **SELECT**
401
402 br.name **AS** Бренд
403
404 ,p.code **AS** Артикул
405
406 ,pg.name **AS** Группа
407
408 ,prop.name **AS** Характеристика
409
410 ,pb.defval **AS** Значение
411
412 **FROM** propbind pb
413
414 **LEFT JOIN** product_group pg
415
416 **ON** pb.group_id = pg.id
417
418 **LEFT JOIN** properties prop
419
420 **ON** pb.property_id = prop.id
421
422 **LEFT JOIN** products p
423
424 **ON **pb.group_id = p.group_id
425
426 **LEFT JOIN** brands br
427
428 **ON** pg.brand_id = br.id
429
430 **WHERE** 1 = 1
431
432 **AND** pb.defval **IS NOT** NULL
433
434 **AND** **pb.defval **NOT IN** ('')**
435
436 **AND p.code **IS NOT** NULL**
437
438 **AND** p.code **NOT IN** ('', '<новый код>')
439
440 **AND** p.status_id **IN **(4, 5)
441
442 **AND **br.id **IN **(1, 2, 3, 4, 5)
443
444 ~-~-**AND** br.id = 3
445
446 **ORDER BY**
447
448 Бренд,
449
450 Группа,
451
452 Артикул,
453
454 Характеристика
455
456
457 **Важно! Приоритет выбора значения характеристики при наличии значения в двух выгрузках (групповых и индивидуальных характеристиках).**
458
459 Логика, присущая большинству ситуаций: если у группы есть групповая характеристика, то у нее есть одно-единственное значение на всю группу, свойственное всем входящим в нее артикулам. Однако бывает так, что маркетолог меняет дефолтное значение у групповой характеристики на другое. В таком случае видим картину: у одного артикула одна и та же характеристика с двумя разными значениями фигурирует в обеих выгрузках (групповых и индивидуальных характеристик). Для этого мы проверяем наличие характеристики в обоих выгрузках, и если оно есть, то у характеристики берется значение из индивидуальной выгрузки, а групповое значение игнорируется.
460
461 Потом найти отсутствующие значения обязательных характеристик и отдать маркетологам.
462
463 Справочники характеристик:
464
465 [[attach:AIRLINE TECDOC.xlsx||target="_blank"]]
466
467 [[attach:LUZAR TECDOC.xlsx||target="_blank"]]
468
469 [[attach:TRIALLI TECDOC.xlsx||target="_blank"]]
470
471 **Важно! Добавление вручную характеристик, которых нет в NPR, но они требуются в TecDoc.**
472
473 Иногда бывают случаи, когда в TecDoc есть обязательная характеристика для конкретной группы (Mandatory Criteria), но маркетологи отказываются ее добавлять. Например, для **Датчиков износа **требуется Тип тормоза, но Антон Павлишин отказывается его добавить в NPR (его аргумент - очевидно, что везде Дисковый тормозной механизм). Другой пример -** Стойки стабилизатора** (Иван Пальмин). Для этой группы для TecDoc обязательна хар-ка Стойка со значением Соединительная штанга. Я **вручную** добавляю отдельно такие значения ко всем загружаемым артикулам, где это требуется.
474
475 **Важно! Добавление вручную информации, которой нет в разделе Характеристики, но она есть в других разделах NPR (она не требуется в TecDoc).**
476
477 Например, для Дисков тормозных нужна Масса брутто, кг, а для Прокладок ГБЦ из Luzar нужна Комплектация.
478
479
480 === Проверка полного заполнения характеристик в карточке товара артикула ===
481
482 Проверка имеет следующую логику: если обязательная характеристика не заполнена у артикула, то эта строчка будет в файле с ошибками.
483
484 Бывает, что наличие значения одной характеристики зависит от значения другой характеристики. Например, у глушителей есть диаметр 2 и его наличие зависит от его формы. Если форма глушителя = овал, то исходя из диаметр 1 и диаметр 2 должны быть заполнены (EAM 1808). Если форма = круг (EAM 0406), то значение диаметра 2 будет пустым, но не должно считаться ошибкой и не должно попасть в файл с ошибками. Таких случаев немного. Если у амортизаторов Тип верхнего крепления <> Шток, то пустое значения Хода штока, мм не должно являться ошибкой. Третий пример - Насосы водяные и Диаметр шкива. Конструкция может не предусматривать шкива.
485
486
487 === Маппинг значений характеристик NPR и к значениям справочника TecDoc. Очистка и подгонка значений. ===
488
489 После исправления маркетологами ошибок нужно сделать новые выгрузки характеристик и начать делать стыковку значений(маппинг) со справочником TecDoc.
490
491 Стыковка разделена на два файла - в одном числовые характеристик (тип N), во втором - текстовые (тип А) и характеристики со значениями из выпадающего списка (тип K).
492
493 У разных характеристик типа A или N длина значений будет отличаться, поэтому во время маппинга значений нужно не превышать максимальную длину значения. Список характеристик TecDoc и их длины можно посмотреть в файле - [[attach:Параметры TecDoc 2024.xlsx||target="_blank"]]
494
495 Например, надо подобрать значения к характеристиками **Суппортов тормозных.**
496
497 [[image:05 супп.png||height="83" width="845"]]
498
499 Ниже пойдут примеры уникальных значений NPR по каждой загружаемой группе.
500
501 Первый файл - типы K и A (см. выше - Criterion Type)
502
503 [[image:01 супп.png||height="233" width="577"]]
504
505 Найдем значения для **Количество поршней**
506
507 [[image:02 супп.png||height="202" width="629"]]
508
509 Найдем значения для **Сторона установки**
510
511 [[image:03 супп.png||height="94" width="633"]]
512
513
514 Значение характеристики **Тормозная система **должно быть названием, поэтому здесь его не меняем.
515
516 Итоговый файл с подобранными значениями характеристик типа K и A выглядит так (в конечном счете нам нужна пара Crit. No + ID (Key Value):
517
518 [[image:06 супп.png||height="261" width="648"]]
519
520 Иногда у маркетолога в NPR есть сложная и редкая информация, которой нет в справочнике TecDoc, но при этом она важна для покупателя. В таком случае мы ставим характеристику Версия (Crit No. = 1059) и вписываем значение длиной до 20 символов на английском языке. Иногда можем вписывать несколько значений характеристики **Версия.**
521
522
523 **Обработка числовых значений:**
524 1) Делать замену с “.” на “,”
525
526 2) Если значение подразумевает диапазон
527 Например, Диапазон измеряемого давления, бар = 0 - 3,5
528 то нужно выбрать 2 характеристики
529 Давление от = 0
530 Давление до = 3,5
531
532 В данном случае новые характеристики ищутся повторно
533
534 3) Проверять значения с перечислением через разделитель
535 Например, Двигатель = 31896, 33162 должен быть преобразован в
536 Двигатель = 31896
537 Двигатель = 31862
538
539 4) Убрать “+” из значений температуры. Например, +30 => 30
540
541 5) Отсечь погрешность из значения (после “±”). Например, 180±10 => 180
542
543
544 На примере **Суппортов тормозных** замена числовых значений (тип N) выглядит так:
545
546 - точки заменил на запятые
547
548 - поменял характеристику у двойных значений 44/48 и 46/52.
549
550 [[image:07 супп.png||height="37" width="510"]]
551
552 Итоговый тип N:
553
554 [[image:04 супп.png||height="502" width="577"]]
555
556
557 Потом объединеняем оба файла в один:
558
559 [[image:08 супп.png]]
560
561
562 В процессе объединения файлов числовые значения могут искажаться, поэтому нужно знать об этом и вручную корректировать такие случаи. Я это делаю как шаг в запросе Power Query.
563
564
565 === Сборка таблицы с характеристиками в TecDoc (таблица 210) ===
566
567 Формат загрузки характеристик представлен в документации на с.161. Вот он:
568
569 [[image:13 супп.png||height="630" width="605"]]
570
571
572 После этого собираем таблицу с характеристиками по каждому артикулу, учитывая порядок следования (нумерацию) характеристик в карточке товара (из справочника характеристик по бренду).
573
574 [[image:05 супп.png||height="67" width="683"]]
575
576 Промежуточный вариант:
577
578
579 [[image:11 супп.png||height="256" width="445"]]
580
581
582 Итоговый вариант:
583
584 [[image:12 супп.png]]
585
586 == ==
587
588 === **Номер группы TecDoc (табл. 211)** ===
589
590 == [[image:26 супп.png||height="303" width="483"]] ==
591
592 **ArtNo** - Артикул
593
594 **BrandNo** - Номер бренда Carville из справочника брендов
595
596 **TableNo **- номер таблицы = 211
597
598 **GenArtNo** - номер группы TecDoc. Подробнее смотреть в разделе **Выбор номера группы TecDoc для загружаемых артикулов**
599
600 **Итоговый вариант:**
601
602 **[[image:27 супп.png||height="357" width="204"]]**
603
604
605 == **Страна, статус (табл. 212)** ==
606
607 **[[image:28 супп.png||height="380" width="498"]]**
608
609 (% class="wikigeneratedid" %)
610 **ArtNo** - Артикул
611
612 (% class="wikigeneratedid" %)
613 **BrandNo** - номер бренда Carville
614
615 (% class="wikigeneratedid" %)
616 **TableNo** - номер таблицы = 212
617
618 (% class="wikigeneratedid" %)
619 **QuantUnit **- количество = ставим 1
620
621 (% class="wikigeneratedid" %)
622 **QuantPerUnit** - количество в единице товара (вроде) = ставим 1
623
624 (% class="wikigeneratedid" %)
625 **StatusDat** - ставлю дату формирования таблиц
626
627
628 (% class="wikigeneratedid" %)
629 Итоговая таблица:
630
631 (% class="wikigeneratedid" %)
632 [[image:29 супп.png||height="301" width="337"]]
633
634
635 (% class="wikigeneratedid" %)
636 **Применяемость (табл. 400)**
637
638 Делаем запрос через SQL по одному бренду:
639
640
641 **SELECT**
642
643 //br//.name **AS** 'Бренд'
644
645 ,//p//.code **AS** 'Артикул'
646
647 ,//am//.code **AS** 'Номер TecDoc легковой'
648
649 ,//am//.codeEx **AS** 'Номер TecDoc грузовой'
650
651 ,//am//.lnktargettypeID **AS** 'Linkage Target Type ID'
652
653 **FROM** products //p//
654
655 **LEFT** **JOIN** ausage //au//
656
657 **ON** //p//.id = //au//.product_id
658
659 **LEFT** **JOIN** amodification //am//
660
661 **ON** //au//.modification_id = //am//.id
662
663 **LEFT** **JOIN** product_group //pg//
664
665 **ON** //p//.group_id = //pg//.id
666
667 **LEFT** **JOIN** brands //br//
668
669 **ON** //pg//.brand_id = //br//.id
670
671 **WHERE** 1 = 1
672
673 **AND** (//p//.status_id = 4 **OR** //p//.status_id = 5)
674
675 ~-~-AND p.code = 'AG 15024'
676
677 **AND** //am//.lnktargettypeID **IS** **NOT** **null**
678
679 **AND** //br//.id **IN** (1, 2, 3, 4, 5)
680
681 **AND** //br//.id = 2
682
683 **ORDER** **BY**
684
685 //br//.name,
686
687 //p//.code
688
689
690 В полученной выгрузке добавляем столбец с условием:
691
692 IF ‘Номер TecDoc грузовой’ <> null
693
694 THEN ‘Номер TecDoc грузовой’
695
696 ELSE ‘Номер TecDoc легковой’
697
698
699 Перед загрузкой надо сделать замены всех значений Linkage Target Type ID на те, которые допускаются к загрузке. Это следует из пункта в инструкции на с.183 (третья сверху ссылка в этом тексте).
700
701 |**LnkTargetType**|**Linkage Target Type ID**|**Linkage Target Type ID для загрузки**
702 |TecDoc PC|2|2
703 |TecDoc Motorcycle|3|2
704 |TecDoc E-PC|4|2
705 |TecDoc E-LCV|5|2
706 |TecDoc Electric Motorcycle|6|2
707 |TecDoc LCV|999|2
708 |TecDoc CV|16|16
709 |TecDoc Bus|17|16
710 |TecDoc Tractor|18|16
711 |TecDoc E-Bus|20|16
712 |TecDoc E-CV|22|16
713
714 Плюс надо убрать из применяемости артикулы тех групп TecDoc, которые являются универсальными товарами. Это находится в справочнике Reference Data Generic Articles (см. ниже). **Универсальный товар имеет значение X в поле Universal.**
715
716 [[attach:Reference_Data_Generic_Articles_20250529_063516.csv||target="_blank"]]
717
718
719 Кроме того, в таблицу с применяемостью можно загружать еще двигатели (Engines).
720
721 |**Linkage Target Type**|**Linkage Target Type ID**
722 |Легковые (PC, LCV)|2
723 |Грузовые (CV)|16
724 |Двигатели (Engines)|14
725
726 **Промежуточный вариант сбора таблицы:**
727
728 [[image:17 супп.png]]
729
730
731 **Итоговый вариант:**
732
733 **[[image:18 супп.png]]**
734
735
736 **Требования из документации**
737
738 [[image:19 супп.png]]
739
740
741 = **Загрузка фотографий в TecDoc** =
742
743
744 Исходная ситуация: у нас есть загруженные артикулы в DMM, и к ним надо загрузить фото из папки ~\~\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\
745
746 Файл для работы:
747
748 [[attach:01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx||target="_blank"]]
749
750
751 **Алгоритм следующий:**
752
753 * Найдем артикулы без фото (отчет Article Documents)
754 * Найдем все доступные фото по данным артикулам в разрешении 1000*1000 пикселей
755 * Скопируем фото в отдельную папку
756 * Загрузим фото в хранилище TecDoc
757 * Привяжем фото к артикулам и подготовим таблицу с привязками
758
759 1. Перед загрузкой фото спросить у Тимофеева Павла о том, загрузил ли он новые фотографии в разрешении 1000*1000
760 1. Сформировать отчет Article Documents
761
762 1. Зайти в DMM
763 1. Reports/Analysis > Reports > PD > Product Data: Article Documents
764 1. Supplier No. = TRIALLI/LUZAR…
765 1. Language No. = English (GB) ( ИЛИ английский (Великобритания) (4)
766 1. Export report
767 1. CSV, UTF-8
768 1. Start
769 1. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото . Создать предварительно папку для загрузки фото по каждому бренду и по каждому месяцу
770
771 1. Зайти в запрос в папке "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx"
772
773 1. В Запросе открыть лист settings
774 1. Скопировать путь к файлу Article Documents из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
775 1. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
776 1. Нажать на Данные > Обновить все
777
778 Если LUZAR, то зайти в Запросы “Пути к файлам”, “Список фото в папке”, “Сравнение количества фото в папке и в TecDoc”, “Количество фото” и вставить ссылку на папку LUZAR в первый шаг запроса - ~\~\192.168.0.2\рабочая папка\ФОТОГРАФИИ ПРОДУКЦИИ\LUZAR\01_ФОТО _для текдок
779
780 1. Открыть лист “Пути к файлам”
781 1. В LUZAR фото LAT 0775, LAT 1222, LAT 1224 написано с ошибкой, можно убрать эти артикулы из загрузки.
782 1. Создать текстовый документ на рабочем столе названием Пути.txt
783 1. Скопировать столбец Name в текстовый документ, но удалить первую строчку – слово Name
784 1. Сохранить текстовый файл Пути.txt
785
786 1. Открыть Total Commander на панели задач
787
788 1. В правой половине прописать путь - ~\~\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\*.*
789 1. Нажать на любой артикул из правой половины
790 1. Нажать в меню Выделение > Загрузить выделение из файла > Выбрать файл Пути.txt
791 1. Сейчас нужные файлы выделены.
792 1. Нажать внизу на F5 – Копирование
793 1. Появится окно, сверху будет надпись “Копировать файлы (N шт.) в ”
794 1. Создать папку с названием “N фото” в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
795 1. Скопировать путь к новой папке (см. п.2.1)
796 1. Вставить путь в Total Commander в поле “Копировать файлы (N шт.) в ” и удалить из него кавычки
797 1. Нажать ОК
798 1. Выделенные файлы скопируются в заданную папку
799
800 1. Открыть DMM
801
802 1. Basic Data > Files
803 1. Import
804 1. Select files = выбрать папку с фото, выделить все файлы
805 1. Остальные настройки следующие:
806
807 [[image:image-20250418143833-1.png||height="882" width="703"]]
808
809
810 1. Нажать Start Import
811
812 Фото загрузятся в хранилище TecDoc
813
814 1. Сформировать отчет Document Check
815
816 1. Зайти в DMM
817 1. Reports/Analysis > Reports > QU > Quality: Document check
818 1. SUPPLIER No. = TRIALLI/LUZAR…
819 1. Export report
820 1. Format – CSV, UTF-8
821 1. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\TecDoc reports
822
823 1. Зайти в запрос Загрузка фото в TecDoc 1000.xlsx в папке C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
824
825 1. В Запросе открыть лист settings
826 1. Скопировать путь к файлу Document Check из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
827 1. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
828 1. Нажать на Данные > Обновить все
829 1. Открыть лист 232
830 1. Скопировать все, кроме первой строчки
831 1. Файл > Пустая книга
832 1. Встать на ячейку A1, вставить через Специальная вставка > Значения
833 1. Создать папку “Загрузка в TecDoc”
834 1. Сохранить файл в папке “Загрузка в TecDoc”. Имя файла – 232, разрешение файла – PRN
835 1. Скопировать в папку “Загрузка в TecDoc” из других загрузок файл 001.4772 (или другого бренда)
836 1. Переименовать файл 232.prn в 232.4772
837
838 1. Загрузим таблицу с привязками фото к артикулам в TecDoc
839
840 1. Сделаем экспорт базы данных перед загрузкой
841
842 Зайдем в DMM
843
844 Import/Export > Export > Product Data
845
846
847 1. Загрузим таблицу с привязками фото к артикулам
848
849 Зайдем в DMM
850
851 Import/Export > Import > Product Data
852
853 Select Files = выбрать файлы из папки “Загрузка в TecDoc”
854
855
856 1. Сделать валидацию
857 1. В результате валидации может быть ошибка 215 - Document rejected: Image No./Document type is not contained in the article images (record type 232), link documents (record type 432) and data supplier logos (record type 42). This results in rejection of all data records with the same image number/document type: Image no=477210610, Document type=3 (Record type 231)
858
859 Это значит, что фото лежит в хранилище без привязки к артикулу.
860
861 Такое происходило из-за разного регистра в артикуле и в названии фото. Например, фотка ESM 10015050**D**.jpg не притянется к артикулу ESM 10015050**d**. Нужно менять это вручную в таблице перед загрузкой или менять настройки запроса.
862
863
864
865
866
867 **Сортировка фото внутри артикулов**
868
869 Файл для работы:
870
871 [[attach:02 - ФОТО - Сортировка фотографий.xlsx||target="_blank"]]
872
873
874 Поскольку в TecDoc загружаются артикулы не только со статусом “На складе”, но и “Заказано/В пути”, то количество фотографий по одному артикулу со временем будет увеличиваться. Если товар находится “В пути”, то из фотографий на него есть только чертеж, и остальные фото появятся при появлении товара на складе.
875
876 1. Выгрузка базы из DMM
877
878 * Import / Export
879 * Export
880 * Product Data
881
882 [[image:image-20250418143833-4.png||height="788" width="1169"]]
883
884
885 1. Скачать zip-архив
886
887 [[image:image-20250418143833-5.png||height="786" width="1915"]]
888
889 1. Скачать отчет Article Documents из DMM
890 1. Создать папку для сортировки здесь: C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
891 1. Извлечь zip-архив в отдельную папку. Привести папку к табличному виду в проводнике через Вид > Структура > Таблица
892 1. Скопировать файл 232.<Номер бренда TecDoc> (например, 232.4707) в другую папку
893 1. Открыть файл 232.4707
894 1. Открыть файл "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\02 - ФОТО - Сортировка фотографий.xlsx"
895 1. В нем на листе “232 исходная” удалить содержимое умной таблицы кроме заголовков
896 1. Скопировать таблицу из файла 232.4707 в другой файл в умную таблицу на лист “232 исходная”
897 1. На листе “Стыковка” прописать путь к файлу Article Documents без кавычек
898 1. Нажать на Данные > Обновить все
899 1. Скопировать содержимое в новый файл с названием 232.prn (поставить prn в разрешение файла)
900 1. Переименовать файл из 232.prn в 232. <Номер бренда TecDoc> (например, 232.4707)
901 1. Скопировать файл 232.4707 обратно в папку с извлеченным архивом = Заменить в папке назначения
902 1. Сделать архив-zip из всех файлов папки
903 1. Загрузить базу в TecDoc. Import / Export > Import > Product Data
904
905 [[image:image-20250418143833-6.png||height="925" width="1061"]]
906
907 1. Написать Андрею Черджиеву, чтобы он перезагрузил сервер

Tips

If you're starting with XWiki, check out the Getting Started Guide.

My Recent Modifications

Need help?

If you need help with XWiki you can contact: