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 **SELECT**
250
251 br.name **AS** Бренд
252
253 ,p.code **AS** Артикул
254
255 ,pg.name **AS** Группа
256
257 ,prop.name **AS** Характеристика
258
259 ,pv.val **AS** Значение
260
261 **FROM** propvalues pv
262
263 **LEFT JOIN** properties prop
264
265 **ON** pv.property_id = prop.id
266
267 **LEFT JOIN** products p
268
269 **~ ON** pv.product_id = p.id
270
271 **LEFT JOIN** product_group pg
272
273 **ON** p.group_id = pg.id
274
275 **LEFT JOIN** brands br
276
277 **ON **pg.brand_id = br.id
278
279 **WHERE** 1 = 1
280
281 **AND** p.status_id **IN** (4, 5)
282
283 **AND** pv.val **IS NOT** null
284
285 **AND** pv.val **NOT IN** ('')
286
287 **AND** br.id **IN** (1, 2, 3, 4, 5)
288
289 **AND **br.id = 3
290
291 **ORDER BY**
292
293 Бренд,
294
295 Группа,
296
297 Артикул
298
299
300 **Групповые характеристики**
301
302
303 **SELECT**
304
305 br.name **AS** Бренд
306
307 ,p.code **AS** Артикул
308
309 ,pg.name **AS** Группа
310
311 ,prop.name **AS** Характеристика
312
313 ,pb.defval **AS** Значение
314
315 **FROM** propbind pb
316
317 **LEFT JOIN** product_group pg
318
319 **ON** pb.group_id = pg.id
320
321 **LEFT JOIN** properties prop
322
323 **ON** pb.property_id = prop.id
324
325 **LEFT JOIN** products p
326
327 **ON **pb.group_id = p.group_id
328
329 **LEFT JOIN** brands br
330
331 **ON** pg.brand_id = br.id
332
333 **WHERE** 1 = 1
334
335 **AND** pb.defval **IS NOT** NULL
336
337 **AND** **pb.defval **NOT IN** ('')**
338
339 **AND p.code **IS NOT** NULL**
340
341 **AND** p.code **NOT IN** ('', '<новый код>')
342
343 **AND** p.status_id **IN **(4, 5)
344
345 **AND **br.id **IN **(1, 2, 3, 4, 5)
346
347 ~-~-**AND** br.id = 3
348
349 **ORDER BY**
350
351 Бренд,
352
353 Группа,
354
355 Артикул,
356
357 Характеристика
358
359
360 Потом найти отсутствующие значения обязательных характеристик и отдать маркетологам.
361
362 Справочники характеристик:
363
364 [[attach:AIRLINE TECDOC.xlsx||target="_blank"]]
365
366 [[attach:LUZAR TECDOC.xlsx||target="_blank"]]
367
368 [[attach:TRIALLI TECDOC.xlsx||target="_blank"]]
369
370 Проверка имеет следующую логику: если обязательная характеристика не заполнена у артикула, то эта строчка будет в файле с ошибками.
371
372 Бывает, что наличие значения одной характеристики зависит от значения другой характеристики. Например, у глушителей есть диаметр 2 и его наличие зависит от его формы. Если форма глушителя = овал, то исходя из диаметр 1 и диаметр 2 должны быть заполнены (EAM 1808). Если форма = круг (EAM 0406), то значение диаметра 2 будет пустым, но не должно считаться ошибкой и не должно попасть в файл с ошибками. Таких случаев немного. Если у амортизаторов Тип верхнего крепления <> Шток, то пустое значения Хода штока, мм не должно являться ошибкой. Третий пример - Насосы водяные и Диаметр шкива. Конструкция может не предусматривать шкива.
373
374 **Применяемость**
375
376 Делаем запрос через SQL по одному бренду:
377
378
379 **SELECT**
380
381 //br//.name **AS** 'Бренд'
382
383 ,//p//.code **AS** 'Артикул'
384
385 ,//am//.code **AS** 'Номер TecDoc легковой'
386
387 ,//am//.codeEx **AS** 'Номер TecDoc грузовой'
388
389 ,//am//.lnktargettypeID **AS** 'Linkage Target Type ID'
390
391 **FROM** products //p//
392
393 **LEFT** **JOIN** ausage //au//
394
395 **ON** //p//.id = //au//.product_id
396
397 **LEFT** **JOIN** amodification //am//
398
399 **ON** //au//.modification_id = //am//.id
400
401 **LEFT** **JOIN** product_group //pg//
402
403 **ON** //p//.group_id = //pg//.id
404
405 **LEFT** **JOIN** brands //br//
406
407 **ON** //pg//.brand_id = //br//.id
408
409 **WHERE** 1 = 1
410
411 **AND** (//p//.status_id = 4 **OR** //p//.status_id = 5)
412
413 ~-~-AND p.code = 'AG 15024'
414
415 **AND** //am//.lnktargettypeID **IS** **NOT** **null**
416
417 **AND** //br//.id **IN** (1, 2, 3, 4, 5)
418
419 **AND** //br//.id = 2
420
421 **ORDER** **BY**
422
423 //br//.name,
424
425 //p//.code
426
427
428 В полученной выгрузке добавляем столбец с условием:
429
430 IF ‘Номер TecDoc грузовой’ <> null
431
432 THEN ‘Номер TecDoc грузовой’
433
434 ELSE ‘Номер TecDoc легковой’
435
436
437 Перед загрузкой надо сделать замены всех значений Linkage Target Type ID на те, которые допускаются к загрузке. Это следует из пункта в инструкции на с.183 (третья сверху ссылка в этом тексте).
438
439 |**LnkTargetType**|**Linkage Target Type ID**|**Linkage Target Type ID для загрузки**
440 |TecDoc PC|2|2
441 |TecDoc Motorcycle|3|2
442 |TecDoc E-PC|4|2
443 |TecDoc E-LCV|5|2
444 |TecDoc Electric Motorcycle|6|2
445 |TecDoc LCV|999|2
446 |TecDoc CV|16|16
447 |TecDoc Bus|17|16
448 |TecDoc Tractor|18|16
449 |TecDoc E-Bus|20|16
450 |TecDoc E-CV|22|16
451
452 Плюс надо убрать из применяемости артикулы тех групп TecDoc, которые являются универсальными товарами. Это находится в справочнике Reference Data Generic Articles (см. ниже). **Универсальный товар имеет значение X в поле Universal.**
453
454 [[attach:Reference_Data_Generic_Articles_20250529_063516.csv||target="_blank"]]
455
456
457 Кроме того, в таблицу с применяемостью можно загружать еще двигатели (Engines).
458
459 |**Linkage Target Type**|**Linkage Target Type ID**
460 |Легковые (PC, LCV)|2
461 |Грузовые (CV)|16
462 |Двигатели (Engines)|14
463
464 = **Загрузка фотографий в TecDoc** =
465
466
467 Исходная ситуация: у нас есть загруженные артикулы в DMM, и к ним надо загрузить фото из папки ~\~\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\
468
469 Файл для работы:
470
471 [[attach:01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx||target="_blank"]]
472
473
474 **Алгоритм следующий:**
475
476 * Найдем артикулы без фото (отчет Article Documents)
477 * Найдем все доступные фото по данным артикулам в разрешении 1000*1000 пикселей
478 * Скопируем фото в отдельную папку
479 * Загрузим фото в хранилище TecDoc
480 * Привяжем фото к артикулам и подготовим таблицу с привязками
481
482 1. Перед загрузкой фото спросить у Тимофеева Павла о том, загрузил ли он новые фотографии в разрешении 1000*1000
483 1. Сформировать отчет Article Documents
484
485 1. Зайти в DMM
486 1. Reports/Analysis > Reports > PD > Product Data: Article Documents
487 1. Supplier No. = TRIALLI/LUZAR…
488 1. Language No. = English (GB) ( ИЛИ английский (Великобритания) (4)
489 1. Export report
490 1. CSV, UTF-8
491 1. Start
492 1. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото . Создать предварительно папку для загрузки фото по каждому бренду и по каждому месяцу
493
494 1. Зайти в запрос в папке "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx"
495
496 1. В Запросе открыть лист settings
497 1. Скопировать путь к файлу Article Documents из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
498 1. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
499 1. Нажать на Данные > Обновить все
500
501 Если LUZAR, то зайти в Запросы “Пути к файлам”, “Список фото в папке”, “Сравнение количества фото в папке и в TecDoc”, “Количество фото” и вставить ссылку на папку LUZAR в первый шаг запроса - ~\~\192.168.0.2\рабочая папка\ФОТОГРАФИИ ПРОДУКЦИИ\LUZAR\01_ФОТО _для текдок
502
503 1. Открыть лист “Пути к файлам”
504 1. В LUZAR фото LAT 0775, LAT 1222, LAT 1224 написано с ошибкой, можно убрать эти артикулы из загрузки.
505 1. Создать текстовый документ на рабочем столе названием Пути.txt
506 1. Скопировать столбец Name в текстовый документ, но удалить первую строчку – слово Name
507 1. Сохранить текстовый файл Пути.txt
508
509 1. Открыть Total Commander на панели задач
510
511 1. В правой половине прописать путь - ~\~\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\*.*
512 1. Нажать на любой артикул из правой половины
513 1. Нажать в меню Выделение > Загрузить выделение из файла > Выбрать файл Пути.txt
514 1. Сейчас нужные файлы выделены.
515 1. Нажать внизу на F5 – Копирование
516 1. Появится окно, сверху будет надпись “Копировать файлы (N шт.) в ”
517 1. Создать папку с названием “N фото” в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
518 1. Скопировать путь к новой папке (см. п.2.1)
519 1. Вставить путь в Total Commander в поле “Копировать файлы (N шт.) в ” и удалить из него кавычки
520 1. Нажать ОК
521 1. Выделенные файлы скопируются в заданную папку
522
523 1. Открыть DMM
524
525 1. Basic Data > Files
526 1. Import
527 1. Select files = выбрать папку с фото, выделить все файлы
528 1. Остальные настройки следующие:
529
530 [[image:image-20250418143833-1.png||height="882" width="703"]]
531
532
533 1. Нажать Start Import
534
535 Фото загрузятся в хранилище TecDoc
536
537 1. Сформировать отчет Document Check
538
539 1. Зайти в DMM
540 1. Reports/Analysis > Reports > QU > Quality: Document check
541 1. SUPPLIER No. = TRIALLI/LUZAR…
542 1. Export report
543 1. Format – CSV, UTF-8
544 1. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\TecDoc reports
545
546 1. Зайти в запрос Загрузка фото в TecDoc 1000.xlsx в папке C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
547
548 1. В Запросе открыть лист settings
549 1. Скопировать путь к файлу Document Check из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
550 1. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
551 1. Нажать на Данные > Обновить все
552 1. Открыть лист 232
553 1. Скопировать все, кроме первой строчки
554 1. Файл > Пустая книга
555 1. Встать на ячейку A1, вставить через Специальная вставка > Значения
556 1. Создать папку “Загрузка в TecDoc”
557 1. Сохранить файл в папке “Загрузка в TecDoc”. Имя файла – 232, разрешение файла – PRN
558 1. Скопировать в папку “Загрузка в TecDoc” из других загрузок файл 001.4772 (или другого бренда)
559 1. Переименовать файл 232.prn в 232.4772
560
561 1. Загрузим таблицу с привязками фото к артикулам в TecDoc
562
563 1. Сделаем экспорт базы данных перед загрузкой
564
565 Зайдем в DMM
566
567 Import/Export > Export > Product Data
568
569
570 1. Загрузим таблицу с привязками фото к артикулам
571
572 Зайдем в DMM
573
574 Import/Export > Import > Product Data
575
576 Select Files = выбрать файлы из папки “Загрузка в TecDoc”
577
578
579 1. Сделать валидацию
580 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)
581
582 Это значит, что фото лежит в хранилище без привязки к артикулу.
583
584 Такое происходило из-за разного регистра в артикуле и в названии фото. Например, фотка ESM 10015050**D**.jpg не притянется к артикулу ESM 10015050**d**. Нужно менять это вручную в таблице перед загрузкой или менять настройки запроса.
585
586
587
588
589
590 **Сортировка фото внутри артикулов**
591
592 Файл для работы:
593
594 [[attach:02 - ФОТО - Сортировка фотографий.xlsx||target="_blank"]]
595
596
597 Поскольку в TecDoc загружаются артикулы не только со статусом “На складе”, но и “Заказано/В пути”, то количество фотографий по одному артикулу со временем будет увеличиваться. Если товар находится “В пути”, то из фотографий на него есть только чертеж, и остальные фото появятся при появлении товара на складе.
598
599 1. Выгрузка базы из DMM
600
601 * Import / Export
602 * Export
603 * Product Data
604
605 [[image:image-20250418143833-4.png||height="788" width="1169"]]
606
607
608 1. Скачать zip-архив
609
610 [[image:image-20250418143833-5.png||height="786" width="1915"]]
611
612 1. Скачать отчет Article Documents из DMM
613 1. Создать папку для сортировки здесь: C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
614 1. Извлечь zip-архив в отдельную папку. Привести папку к табличному виду в проводнике через Вид > Структура > Таблица
615 1. Скопировать файл 232.<Номер бренда TecDoc> (например, 232.4707) в другую папку
616 1. Открыть файл 232.4707
617 1. Открыть файл "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\02 - ФОТО - Сортировка фотографий.xlsx"
618 1. В нем на листе “232 исходная” удалить содержимое умной таблицы кроме заголовков
619 1. Скопировать таблицу из файла 232.4707 в другой файл в умную таблицу на лист “232 исходная”
620 1. На листе “Стыковка” прописать путь к файлу Article Documents без кавычек
621 1. Нажать на Данные > Обновить все
622 1. Скопировать содержимое в новый файл с названием 232.prn (поставить prn в разрешение файла)
623 1. Переименовать файл из 232.prn в 232. <Номер бренда TecDoc> (например, 232.4707)
624 1. Скопировать файл 232.4707 обратно в папку с извлеченным архивом = Заменить в папке назначения
625 1. Сделать архив-zip из всех файлов папки
626 1. Загрузить базу в TecDoc. Import / Export > Import > Product Data
627
628 [[image:image-20250418143833-6.png||height="925" width="1061"]]
629
630 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: