Wiki source code of Выгрузка в TecDoc

Version 82.1 by Александр Молчин on 2025/06/23 10:46

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