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 по Luzar / Airline [[http:~~/~~/192.168.1.79:8181/>>url:http://192.168.1.79:8181/]]
6
7 DMM по Trialli / Startvolt [[http:~~/~~/192.168.1.76:8080/>>url:http://192.168.1.76:8080/]]
8
9 Официальная документация: [[attach:TecDoc-Data-Format_Version_2.7_EN_2.0.29.pdf||target="_blank"]]
10
11 Файл СБОР 2.0: [[attach:СБОР 2.0.xlsx||target="_blank"]]
12
13 Сбор таблиц в TecDoc: [[attach:Сборка таблиц TecDoc.xlsx||target="_blank"]]
14
15
16 **ОБЩАЯ СХЕМА**
17
18 [[image:Алгоритм загрузки в TecDoc.png]]
19
20 **Что должно получиться в финале:**
21
22 [[attach:Таблицы для загрузки.rar||target="_blank"]] - пример из последней загрузки Airline
23
24 Название файла 200.4826 означает, что это таблица № 200 из документации для бренда номер 4826 (поле Supplier No. для Airline)
25
26 Содержание таблиц:
27
28 001 - условно "сопроводительное письмо" о загрузке. Информации об артикулах в нем нет. Я его не собираю, копирую из прошлых загрузок.
29
30 200 - Артикул и Бренд
31
32 203 - Cross / OEM
33
34 209 - Штрих-коды
35
36 210 - Характеристики и их значения
37
38 211 - Номер группы TecDoc
39
40 212 - Страна, статус
41
42 400 - Применяемость
43
44 Информация о содержании всех полей таблиц есть в документации.
45
46
47 **Выбор артикулов для загрузки**
48
49 Берем артикулы из NPR, у которых:
50
51 Cтатус = “Заказано / В пути”
52
53 ИЛИ Статус = “На складе”
54
55 И Категория ABC <> “OUT”
56
57 И Категория ABC <> “ZAK”
58
59 И Категория ABC <> “ARC”
60
61 И Категория ABC <> “RLZ”
62
63
64 Это будет Список 1.
65
66
67 Берем отчет Articles из DMM (см.ниже как его найти). Это список уже загруженных артикулов. Это будет Список 2.
68
69 [[image:1748502438816-408.png||height="374" width="378"]]
70
71
72 Удаляем Список 2 из Списка 1 и получим список артикулов для загрузки.
73
74
75 **Выбор номера группы TecDoc для загружаемых артикулов**
76
77 Есть два сценария выбора:
78
79 1) Группа ранее загружалась
80
81 Проставить **Номер группы TecDoc **из справочников:
82
83 [[attach:AIRLINE Группы TECDOC.xlsx||target="_blank"]]
84
85 [[attach:LUZAR Группы TECDOC.xlsx||target="_blank"]]
86
87 [[attach:TRIALLI Группы TecDoc.xlsx||target="_blank"]]
88
89 Бывают случаи, где внутри нашей группы (например, Газовые упоры в Trialli) содержится несколько групп TecDoc. В таком случае требуется условие, по которому определяется принадлежность к группе TecDoc (вхождение текста). На примере Газовых упоров это выглядит так:
90
91 [[image:image-20250507153434-1.png||height="52" width="559"]]
92
93 2) Группа ранее не загружалась
94
95 Если группа новая (= не загружалась в TecDoc ранее), то нужно выбрать ее номер из справочника группы TecDoc. Он называется Generic Articles. В нем нас интересует поле GenArtNo. Также можно вбить OEM артикула новой группы авторитетного бренда в каталог TecDoc - [[https:~~/~~/web.tecalliance.net/tecdocru/ru/login>>url:https://web.tecalliance.net/tecdocru/ru/login]] - и подобрать группу из выпавших артикулов.
96
97 [[attach:Generic Articles 2024 2.0.xlsx||target="_blank"]]
98
99 Выбор группы делаю сначала сам, потом привлекаю маркетологов.
100
101
102 **Загрузка Cross и OEM (таблица 203)**
103
104 Из БД делаем запросы OEM и Cross (прилагаю) с объединением их в одну таблицу. В DMM все OEM и все Cross лежат в одной куче, в отличии от NPR.
105
106 Далее делаем замены ошибочных названий брендов (VALEO_INDI, BOSCH_STAH и т.д.). [[attach:Замена ошибок в брендах.xlsx||target="_blank"]]
107
108 Для загрузки берутся только те OEM и Cross, бренды которых находятся в справочнике брендов TecDoc (в DMM он называется Brands). Признаком нахождения в справочнике брендов TecDoc является наличие заполненного поля Tecdocid в справочнике “Производители OEM/Cross” в NPR.
109
110
111 **~-~- Шаблон для выгрузки Cross-номеров для загрузки в TecDoc**
112
113 ~-~- Статусы: "Заказано/В пути", "На складе"
114
115 ~-~- Удаляются значения OEM c кириллицей
116
117
118 **SELECT**
119
120 b.name **AS** 'Бренд'
121
122 ,p.name **AS** 'Наименование ADS'
123
124 ,p.code **AS** 'Артикул'
125
126 ,c.code **AS** 'Код аналога'
127
128 ,om.name **AS** 'Производитель аналога'
129
130 ,om.tecdocId **AS** 'tecdocId'
131
132 **FROM** products p
133
134 **LEFT JOIN** product_group pg
135
136 **~ ON** p.group_id = pg.id
137
138 **LEFT JOIN **brands b
139
140 **ON** pg.brand_id = b.id
141
142 **LEFT JOIN** product_codes pc
143
144 **~ ON** p.id = pc.product_id
145
146 **LEFT JOIN** codes c
147
148 **ON** pc.code_id = c.id
149
150 **LEFT JOIN** oem_mark om
151
152 **ON** pc.oem_mark_id = om.id
153
154 **WHERE** 1 = 1
155
156 **AND** p.status_id **IN** (4,5)
157
158 **AND** b.name **IS NOT** null
159
160 **AND** c.code **IS NOT** null
161
162 **AND** om.name **IS NOT** null
163
164 **AND** b.id **IN** (1, 2, 3, 4, 5)
165
166 ~-~-**AND** p.code = 'ALED061'
167
168 **ORDER BY**
169
170 Бренд
171
172 ,'Наименование ADS'
173
174 ,'Производитель аналога'
175
176 ,'Код аналога'
177
178
179 **- Шаблон для выгрузки OEM-номеров для TECDOC**
180
181 ~-~- Статусы: "Заказано/В пути", "На складе"
182
183
184 **SELECT**
185
186 b.name **AS** 'Бренд'
187
188 ,p.name **AS** 'Наименование ADS'
189
190 ,p.code **AS** 'Артикул'
191
192 ,oc.code **AS** 'OEM'
193
194 ,om.name **AS** 'Марка'
195
196 ,om.tecdocId **AS** 'tecdocId'
197
198 **FROM** products p
199
200 **LEFT JOIN** product_group pg
201
202 **ON** p.group_id = pg.id
203
204 **LEFT JOIN** brands b
205
206 **ON** pg.brand_id = b.id
207
208 **LEFT JOIN** product_oem po
209
210 **ON** p.id = po.product_id
211
212 **LEFT JOIN** oem_codes oc
213
214 **ON **po.oem_id = oc.id
215
216 **LEFT JOIN** oem_mark om
217
218 **ON **oc.oemmarkId = om.id
219
220 **WHERE** 1 = 1
221
222 **AND** p.status_id **IN** (4,5)
223
224 **AND** oc.code **IS NOT** NULL
225
226 **~ AND **om.name **IS NOT** NULL
227
228 **AND** p.code **IS NOT** NULL
229
230 **AND** b.id **IN** (1, 2, 3, 4, 5)
231
232 **ORDER BY**
233
234 Бренд
235
236 ,Артикул
237
238 ,Марка
239
240 ,OEM
241
242
243 **Характеристики**
244
245 Надо выгрузить индивидуальные и групповые характеристики.
246
247 **Индивидуальные характеристики**
248
249
250 **SELECT**
251
252 br.name **AS** Бренд
253
254 ,p.code **AS** Артикул
255
256 ,pg.name **AS** Группа
257
258 ,prop.name **AS** Характеристика
259
260 ,pv.val **AS** Значение
261
262 **FROM** propvalues pv
263
264 **LEFT JOIN** properties prop
265
266 **ON** pv.property_id = prop.id
267
268 **LEFT JOIN** products p
269
270 **~ ON** pv.product_id = p.id
271
272 **LEFT JOIN** product_group pg
273
274 **ON** p.group_id = pg.id
275
276 **LEFT JOIN** brands br
277
278 **ON **pg.brand_id = br.id
279
280 **WHERE** 1 = 1
281
282 **AND** p.status_id **IN** (4, 5)
283
284 **AND** pv.val **IS NOT** null
285
286 **AND** pv.val **NOT IN** ('')
287
288 **AND** br.id **IN** (1, 2, 3, 4, 5)
289
290 **AND **br.id = 3
291
292 **ORDER BY**
293
294 Бренд,
295
296 Группа,
297
298 Артикул
299
300
301 **Групповые характеристики**
302
303
304 **SELECT**
305
306 br.name **AS** Бренд
307
308 ,p.code **AS** Артикул
309
310 ,pg.name **AS** Группа
311
312 ,prop.name **AS** Характеристика
313
314 ,pb.defval **AS** Значение
315
316 **FROM** propbind pb
317
318 **LEFT JOIN** product_group pg
319
320 **ON** pb.group_id = pg.id
321
322 **LEFT JOIN** properties prop
323
324 **ON** pb.property_id = prop.id
325
326 **LEFT JOIN** products p
327
328 **ON **pb.group_id = p.group_id
329
330 **LEFT JOIN** brands br
331
332 **ON** pg.brand_id = br.id
333
334 **WHERE** 1 = 1
335
336 **AND** pb.defval **IS NOT** NULL
337
338 **AND** **pb.defval **NOT IN** ('')**
339
340 **AND p.code **IS NOT** NULL**
341
342 **AND** p.code **NOT IN** ('', '<новый код>')
343
344 **AND** p.status_id **IN **(4, 5)
345
346 **AND **br.id **IN **(1, 2, 3, 4, 5)
347
348 ~-~-**AND** br.id = 3
349
350 **ORDER BY**
351
352 Бренд,
353
354 Группа,
355
356 Артикул,
357
358 Характеристика
359
360
361 Потом найти отсутствующие значения обязательных характеристик и отдать маркетологам.
362
363 Справочники характеристик:
364
365 [[attach:AIRLINE TECDOC.xlsx||target="_blank"]]
366
367 [[attach:LUZAR TECDOC.xlsx||target="_blank"]]
368
369 [[attach:TRIALLI TECDOC.xlsx||target="_blank"]]
370
371 Проверка имеет следующую логику: если обязательная характеристика не заполнена у артикула, то эта строчка будет в файле с ошибками.
372
373 Бывает, что наличие значения одной характеристики зависит от значения другой характеристики. Например, у глушителей есть диаметр 2 и его наличие зависит от его формы. Если форма глушителя = овал, то исходя из диаметр 1 и диаметр 2 должны быть заполнены (EAM 1808). Если форма = круг (EAM 0406), то значение диаметра 2 будет пустым, но не должно считаться ошибкой и не должно попасть в файл с ошибками. Таких случаев немного. Если у амортизаторов Тип верхнего крепления <> Шток, то пустое значения Хода штока, мм не должно являться ошибкой. Третий пример - Насосы водяные и Диаметр шкива. Конструкция может не предусматривать шкива.
374
375 **Применяемость**
376
377 Делаем запрос через SQL по одному бренду:
378
379
380 **SELECT**
381
382 //br//.name **AS** 'Бренд'
383
384 ,//p//.code **AS** 'Артикул'
385
386 ,//am//.code **AS** 'Номер TecDoc легковой'
387
388 ,//am//.codeEx **AS** 'Номер TecDoc грузовой'
389
390 ,//am//.lnktargettypeID **AS** 'Linkage Target Type ID'
391
392 **FROM** products //p//
393
394 **LEFT** **JOIN** ausage //au//
395
396 **ON** //p//.id = //au//.product_id
397
398 **LEFT** **JOIN** amodification //am//
399
400 **ON** //au//.modification_id = //am//.id
401
402 **LEFT** **JOIN** product_group //pg//
403
404 **ON** //p//.group_id = //pg//.id
405
406 **LEFT** **JOIN** brands //br//
407
408 **ON** //pg//.brand_id = //br//.id
409
410 **WHERE** 1 = 1
411
412 **AND** (//p//.status_id = 4 **OR** //p//.status_id = 5)
413
414 ~-~-AND p.code = 'AG 15024'
415
416 **AND** //am//.lnktargettypeID **IS** **NOT** **null**
417
418 **AND** //br//.id **IN** (1, 2, 3, 4, 5)
419
420 **AND** //br//.id = 2
421
422 **ORDER** **BY**
423
424 //br//.name,
425
426 //p//.code
427
428
429 В полученной выгрузке добавляем столбец с условием:
430
431 IF ‘Номер TecDoc грузовой’ <> null
432
433 THEN ‘Номер TecDoc грузовой’
434
435 ELSE ‘Номер TecDoc легковой’
436
437
438 Перед загрузкой надо сделать замены всех значений Linkage Target Type ID на те, которые допускаются к загрузке. Это следует из пункта в инструкции на с.183 (третья сверху ссылка в этом тексте).
439
440 |**LnkTargetType**|**Linkage Target Type ID**|**Linkage Target Type ID для загрузки**
441 |TecDoc PC|2|2
442 |TecDoc Motorcycle|3|2
443 |TecDoc E-PC|4|2
444 |TecDoc E-LCV|5|2
445 |TecDoc Electric Motorcycle|6|2
446 |TecDoc LCV|999|2
447 |TecDoc CV|16|16
448 |TecDoc Bus|17|16
449 |TecDoc Tractor|18|16
450 |TecDoc E-Bus|20|16
451 |TecDoc E-CV|22|16
452
453 Плюс надо убрать из применяемости артикулы тех групп TecDoc, которые являются универсальными товарами. Это находится в справочнике Reference Data Generic Articles (см. ниже). **Универсальный товар имеет значение X в поле Universal.**
454
455 [[attach:Reference_Data_Generic_Articles_20250529_063516.csv||target="_blank"]]
456
457
458 Кроме того, в таблицу с применяемостью можно загружать еще двигатели (Engines).
459
460 |**Linkage Target Type**|**Linkage Target Type ID**
461 |Легковые (PC, LCV)|2
462 |Грузовые (CV)|16
463 |Двигатели (Engines)|14
464
465 = **Загрузка фотографий в TecDoc** =
466
467
468 Исходная ситуация: у нас есть загруженные артикулы в DMM, и к ним надо загрузить фото из папки ~\~\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\
469
470 Файл для работы:
471
472 [[attach:01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx||target="_blank"]]
473
474
475 **Алгоритм следующий:**
476
477 * Найдем артикулы без фото (отчет Article Documents)
478 * Найдем все доступные фото по данным артикулам в разрешении 1000*1000 пикселей
479 * Скопируем фото в отдельную папку
480 * Загрузим фото в хранилище TecDoc
481 * Привяжем фото к артикулам и подготовим таблицу с привязками
482
483 1. Перед загрузкой фото спросить у Тимофеева Павла о том, загрузил ли он новые фотографии в разрешении 1000*1000
484 1. Сформировать отчет Article Documents
485
486 1. Зайти в DMM
487 1. Reports/Analysis > Reports > PD > Product Data: Article Documents
488 1. Supplier No. = TRIALLI/LUZAR…
489 1. Language No. = English (GB) ( ИЛИ английский (Великобритания) (4)
490 1. Export report
491 1. CSV, UTF-8
492 1. Start
493 1. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото . Создать предварительно папку для загрузки фото по каждому бренду и по каждому месяцу
494
495 1. Зайти в запрос в папке "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx"
496
497 1. В Запросе открыть лист settings
498 1. Скопировать путь к файлу Article Documents из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
499 1. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
500 1. Нажать на Данные > Обновить все
501
502 Если LUZAR, то зайти в Запросы “Пути к файлам”, “Список фото в папке”, “Сравнение количества фото в папке и в TecDoc”, “Количество фото” и вставить ссылку на папку LUZAR в первый шаг запроса - ~\~\192.168.0.2\рабочая папка\ФОТОГРАФИИ ПРОДУКЦИИ\LUZAR\01_ФОТО _для текдок
503
504 1. Открыть лист “Пути к файлам”
505 1. В LUZAR фото LAT 0775, LAT 1222, LAT 1224 написано с ошибкой, можно убрать эти артикулы из загрузки.
506 1. Создать текстовый документ на рабочем столе названием Пути.txt
507 1. Скопировать столбец Name в текстовый документ, но удалить первую строчку – слово Name
508 1. Сохранить текстовый файл Пути.txt
509
510 1. Открыть Total Commander на панели задач
511
512 1. В правой половине прописать путь - ~\~\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\*.*
513 1. Нажать на любой артикул из правой половины
514 1. Нажать в меню Выделение > Загрузить выделение из файла > Выбрать файл Пути.txt
515 1. Сейчас нужные файлы выделены.
516 1. Нажать внизу на F5 – Копирование
517 1. Появится окно, сверху будет надпись “Копировать файлы (N шт.) в ”
518 1. Создать папку с названием “N фото” в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
519 1. Скопировать путь к новой папке (см. п.2.1)
520 1. Вставить путь в Total Commander в поле “Копировать файлы (N шт.) в ” и удалить из него кавычки
521 1. Нажать ОК
522 1. Выделенные файлы скопируются в заданную папку
523
524 1. Открыть DMM
525
526 1. Basic Data > Files
527 1. Import
528 1. Select files = выбрать папку с фото, выделить все файлы
529 1. Остальные настройки следующие:
530
531 [[image:image-20250418143833-1.png||height="882" width="703"]]
532
533
534 1. Нажать Start Import
535
536 Фото загрузятся в хранилище TecDoc
537
538 1. Сформировать отчет Document Check
539
540 1. Зайти в DMM
541 1. Reports/Analysis > Reports > QU > Quality: Document check
542 1. SUPPLIER No. = TRIALLI/LUZAR…
543 1. Export report
544 1. Format – CSV, UTF-8
545 1. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\TecDoc reports
546
547 1. Зайти в запрос Загрузка фото в TecDoc 1000.xlsx в папке C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
548
549 1. В Запросе открыть лист settings
550 1. Скопировать путь к файлу Document Check из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
551 1. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
552 1. Нажать на Данные > Обновить все
553 1. Открыть лист 232
554 1. Скопировать все, кроме первой строчки
555 1. Файл > Пустая книга
556 1. Встать на ячейку A1, вставить через Специальная вставка > Значения
557 1. Создать папку “Загрузка в TecDoc”
558 1. Сохранить файл в папке “Загрузка в TecDoc”. Имя файла – 232, разрешение файла – PRN
559 1. Скопировать в папку “Загрузка в TecDoc” из других загрузок файл 001.4772 (или другого бренда)
560 1. Переименовать файл 232.prn в 232.4772
561
562 1. Загрузим таблицу с привязками фото к артикулам в TecDoc
563
564 1. Сделаем экспорт базы данных перед загрузкой
565
566 Зайдем в DMM
567
568 Import/Export > Export > Product Data
569
570
571 1. Загрузим таблицу с привязками фото к артикулам
572
573 Зайдем в DMM
574
575 Import/Export > Import > Product Data
576
577 Select Files = выбрать файлы из папки “Загрузка в TecDoc”
578
579
580 1. Сделать валидацию
581 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)
582
583 Это значит, что фото лежит в хранилище без привязки к артикулу.
584
585 Такое происходило из-за разного регистра в артикуле и в названии фото. Например, фотка ESM 10015050**D**.jpg не притянется к артикулу ESM 10015050**d**. Нужно менять это вручную в таблице перед загрузкой или менять настройки запроса.
586
587
588
589
590
591 **Сортировка фото внутри артикулов**
592
593 Файл для работы:
594
595 [[attach:02 - ФОТО - Сортировка фотографий.xlsx||target="_blank"]]
596
597
598 Поскольку в TecDoc загружаются артикулы не только со статусом “На складе”, но и “Заказано/В пути”, то количество фотографий по одному артикулу со временем будет увеличиваться. Если товар находится “В пути”, то из фотографий на него есть только чертеж, и остальные фото появятся при появлении товара на складе.
599
600 1. Выгрузка базы из DMM
601
602 * Import / Export
603 * Export
604 * Product Data
605
606 [[image:image-20250418143833-4.png||height="788" width="1169"]]
607
608
609 1. Скачать zip-архив
610
611 [[image:image-20250418143833-5.png||height="786" width="1915"]]
612
613 1. Скачать отчет Article Documents из DMM
614 1. Создать папку для сортировки здесь: C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
615 1. Извлечь zip-архив в отдельную папку. Привести папку к табличному виду в проводнике через Вид > Структура > Таблица
616 1. Скопировать файл 232.<Номер бренда TecDoc> (например, 232.4707) в другую папку
617 1. Открыть файл 232.4707
618 1. Открыть файл "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\02 - ФОТО - Сортировка фотографий.xlsx"
619 1. В нем на листе “232 исходная” удалить содержимое умной таблицы кроме заголовков
620 1. Скопировать таблицу из файла 232.4707 в другой файл в умную таблицу на лист “232 исходная”
621 1. На листе “Стыковка” прописать путь к файлу Article Documents без кавычек
622 1. Нажать на Данные > Обновить все
623 1. Скопировать содержимое в новый файл с названием 232.prn (поставить prn в разрешение файла)
624 1. Переименовать файл из 232.prn в 232. <Номер бренда TecDoc> (например, 232.4707)
625 1. Скопировать файл 232.4707 обратно в папку с извлеченным архивом = Заменить в папке назначения
626 1. Сделать архив-zip из всех файлов папки
627 1. Загрузить базу в TecDoc. Import / Export > Import > Product Data
628
629 [[image:image-20250418143833-6.png||height="925" width="1061"]]
630
631 1. Написать Андрею Черджиеву, чтобы он перезагрузил сервер

Tips

You can click on the arrows next to the breadcrumb elements to quickly navigate to sibling and children pages.

My Recent Modifications

Need help?

If you need help with XWiki you can contact: