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

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: