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