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