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

Version 58.1 by Александр Молчин on 2025/06/19 13:25

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
322 ==== **Запрос SQL на групповые характеристики** ====
323
324 **SELECT**
325
326 br.name **AS** Бренд
327
328 ,p.code **AS** Артикул
329
330 ,pg.name **AS** Группа
331
332 ,prop.name **AS** Характеристика
333
334 ,pb.defval **AS** Значение
335
336 **FROM** propbind pb
337
338 **LEFT JOIN** product_group pg
339
340 **ON** pb.group_id = pg.id
341
342 **LEFT JOIN** properties prop
343
344 **ON** pb.property_id = prop.id
345
346 **LEFT JOIN** products p
347
348 **ON **pb.group_id = p.group_id
349
350 **LEFT JOIN** brands br
351
352 **ON** pg.brand_id = br.id
353
354 **WHERE** 1 = 1
355
356 **AND** pb.defval **IS NOT** NULL
357
358 **AND** **pb.defval **NOT IN** ('')**
359
360 **AND p.code **IS NOT** NULL**
361
362 **AND** p.code **NOT IN** ('', '<новый код>')
363
364 **AND** p.status_id **IN **(4, 5)
365
366 **AND **br.id **IN **(1, 2, 3, 4, 5)
367
368 ~-~-**AND** br.id = 3
369
370 **ORDER BY**
371
372 Бренд,
373
374 Группа,
375
376 Артикул,
377
378 Характеристика
379
380
381 **Важно! Приоритет выбора значения характеристики при наличии значения в двух выгрузках (групповых и индивидуальных характеристиках).**
382
383 Логика, присущая большинству ситуаций: если у группы есть групповая характеристика, то у нее есть одно-единственное значение на всю группу, свойственное всем входящим в нее артикулам. Однако бывает так, что маркетолог меняет дефолтное значение у групповой характеристики на другое. В таком случае видим картину: у одного артикула одна и та же характеристика с двумя разными значениями фигурирует в обеих выгрузках (групповых и индивидуальных характеристик). Для этого мы проверяем наличие характеристики в обоих выгрузках, и если оно есть, то у характеристики берется значение из индивидуальной выгрузки, а групповое значение игнорируется.
384
385 Потом найти отсутствующие значения обязательных характеристик и отдать маркетологам.
386
387 Справочники характеристик:
388
389 [[attach:AIRLINE TECDOC.xlsx||target="_blank"]]
390
391 [[attach:LUZAR TECDOC.xlsx||target="_blank"]]
392
393 [[attach:TRIALLI TECDOC.xlsx||target="_blank"]]
394
395 **Важно! Добавление вручную характеристик, которых нет в NPR, но они требуются в TecDoc.**
396
397 Иногда бывают случаи, когда в TecDoc есть обязательная характеристика для конкретной группы (Mandatory Criteria), но маркетологи отказываются ее добавлять. Например, для **Датчиков износа **требуется Тип тормоза, но Антон Павлишин отказывается его добавить в NPR (его аргумент - очевидно, что везде Дисковый тормозной механизм). Другой пример -** Стойки стабилизатора** (Иван Пальмин). Для этой группы для TecDoc обязательна хар-ка Стойка со значением Соединительная штанга. Я **вручную** добавляю отдельно такие значения ко всем загружаемым артикулам, где это требуется.
398
399 **Важно! Добавление вручную информации, которой нет в разделе Характеристики, но она есть в других разделах NPR (она не требуется в TecDoc).**
400
401 Например, для Дисков тормозных нужна Масса брутто, кг, а для Прокладок ГБЦ из Luzar нужна Комплектация.
402
403
404 === Проверка полного заполнения характеристик в карточке товара артикула ===
405
406 Проверка имеет следующую логику: если обязательная характеристика не заполнена у артикула, то эта строчка будет в файле с ошибками.
407
408 Бывает, что наличие значения одной характеристики зависит от значения другой характеристики. Например, у глушителей есть диаметр 2 и его наличие зависит от его формы. Если форма глушителя = овал, то исходя из диаметр 1 и диаметр 2 должны быть заполнены (EAM 1808). Если форма = круг (EAM 0406), то значение диаметра 2 будет пустым, но не должно считаться ошибкой и не должно попасть в файл с ошибками. Таких случаев немного. Если у амортизаторов Тип верхнего крепления <> Шток, то пустое значения Хода штока, мм не должно являться ошибкой. Третий пример - Насосы водяные и Диаметр шкива. Конструкция может не предусматривать шкива.
409
410
411 После исправления маркетологами ошибок нужно сделать новые выгрузки характеристик и начать делать стыковку значений(маппинг) со справочником TecDoc.
412
413 Стыковка разделена на два файла - в одном числовые характеристик (тип N), во втором - текстовые (тип А) и характеристики со значениями из выпадающего списка (тип K).
414
415 У разных характеристик типа A или N длина значений будет отличаться, поэтому во время маппинга значений нужно не превышать максимальную длину значения. Список характеристик TecDoc и их длины можно посмотреть в файле - [[attach:Параметры TecDoc 2024.xlsx||target="_blank"]]
416
417 Например, надо подобрать значения к характеристиками **Суппортов тормозных**. Первый файл - типы K и A
418
419 [[image:01 супп.png||height="233" width="577"]]
420
421 Найдем значения для **Количество поршней**
422
423 [[image:02 супп.png||height="202" width="629"]]
424
425 Найдем значения для **Сторона установки**
426
427 [[image:03 супп.png||height="94" width="633"]]
428
429
430 Значение характеристики **Тормозная система **должно быть названием, поэтому здесь ее не меняем.
431
432 Иногда у маркетолога в NPR есть сложная и редкая информация, которой нет в справочнике TecDoc, но при этом она важна для покупателя. В таком случае мы ставим характеристику Версия (Crit No. = 1059) и вписываем значение длиной до 20 символов на английском языке. Иногда можем вписывать несколько значений характеристики **Версия.**
433
434
435
436
437
438
439
440
441 == **Применяемость** ==
442
443 Делаем запрос через SQL по одному бренду:
444
445
446 **SELECT**
447
448 //br//.name **AS** 'Бренд'
449
450 ,//p//.code **AS** 'Артикул'
451
452 ,//am//.code **AS** 'Номер TecDoc легковой'
453
454 ,//am//.codeEx **AS** 'Номер TecDoc грузовой'
455
456 ,//am//.lnktargettypeID **AS** 'Linkage Target Type ID'
457
458 **FROM** products //p//
459
460 **LEFT** **JOIN** ausage //au//
461
462 **ON** //p//.id = //au//.product_id
463
464 **LEFT** **JOIN** amodification //am//
465
466 **ON** //au//.modification_id = //am//.id
467
468 **LEFT** **JOIN** product_group //pg//
469
470 **ON** //p//.group_id = //pg//.id
471
472 **LEFT** **JOIN** brands //br//
473
474 **ON** //pg//.brand_id = //br//.id
475
476 **WHERE** 1 = 1
477
478 **AND** (//p//.status_id = 4 **OR** //p//.status_id = 5)
479
480 ~-~-AND p.code = 'AG 15024'
481
482 **AND** //am//.lnktargettypeID **IS** **NOT** **null**
483
484 **AND** //br//.id **IN** (1, 2, 3, 4, 5)
485
486 **AND** //br//.id = 2
487
488 **ORDER** **BY**
489
490 //br//.name,
491
492 //p//.code
493
494
495 В полученной выгрузке добавляем столбец с условием:
496
497 IF ‘Номер TecDoc грузовой’ <> null
498
499 THEN ‘Номер TecDoc грузовой’
500
501 ELSE ‘Номер TecDoc легковой’
502
503
504 Перед загрузкой надо сделать замены всех значений Linkage Target Type ID на те, которые допускаются к загрузке. Это следует из пункта в инструкции на с.183 (третья сверху ссылка в этом тексте).
505
506 |**LnkTargetType**|**Linkage Target Type ID**|**Linkage Target Type ID для загрузки**
507 |TecDoc PC|2|2
508 |TecDoc Motorcycle|3|2
509 |TecDoc E-PC|4|2
510 |TecDoc E-LCV|5|2
511 |TecDoc Electric Motorcycle|6|2
512 |TecDoc LCV|999|2
513 |TecDoc CV|16|16
514 |TecDoc Bus|17|16
515 |TecDoc Tractor|18|16
516 |TecDoc E-Bus|20|16
517 |TecDoc E-CV|22|16
518
519 Плюс надо убрать из применяемости артикулы тех групп TecDoc, которые являются универсальными товарами. Это находится в справочнике Reference Data Generic Articles (см. ниже). **Универсальный товар имеет значение X в поле Universal.**
520
521 [[attach:Reference_Data_Generic_Articles_20250529_063516.csv||target="_blank"]]
522
523
524 Кроме того, в таблицу с применяемостью можно загружать еще двигатели (Engines).
525
526 |**Linkage Target Type**|**Linkage Target Type ID**
527 |Легковые (PC, LCV)|2
528 |Грузовые (CV)|16
529 |Двигатели (Engines)|14
530
531 = **Загрузка фотографий в TecDoc** =
532
533
534 Исходная ситуация: у нас есть загруженные артикулы в DMM, и к ним надо загрузить фото из папки ~\~\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\
535
536 Файл для работы:
537
538 [[attach:01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx||target="_blank"]]
539
540
541 **Алгоритм следующий:**
542
543 * Найдем артикулы без фото (отчет Article Documents)
544 * Найдем все доступные фото по данным артикулам в разрешении 1000*1000 пикселей
545 * Скопируем фото в отдельную папку
546 * Загрузим фото в хранилище TecDoc
547 * Привяжем фото к артикулам и подготовим таблицу с привязками
548
549 1. Перед загрузкой фото спросить у Тимофеева Павла о том, загрузил ли он новые фотографии в разрешении 1000*1000
550 1. Сформировать отчет Article Documents
551
552 1. Зайти в DMM
553 1. Reports/Analysis > Reports > PD > Product Data: Article Documents
554 1. Supplier No. = TRIALLI/LUZAR…
555 1. Language No. = English (GB) ( ИЛИ английский (Великобритания) (4)
556 1. Export report
557 1. CSV, UTF-8
558 1. Start
559 1. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото . Создать предварительно папку для загрузки фото по каждому бренду и по каждому месяцу
560
561 1. Зайти в запрос в папке "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx"
562
563 1. В Запросе открыть лист settings
564 1. Скопировать путь к файлу Article Documents из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
565 1. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
566 1. Нажать на Данные > Обновить все
567
568 Если LUZAR, то зайти в Запросы “Пути к файлам”, “Список фото в папке”, “Сравнение количества фото в папке и в TecDoc”, “Количество фото” и вставить ссылку на папку LUZAR в первый шаг запроса - ~\~\192.168.0.2\рабочая папка\ФОТОГРАФИИ ПРОДУКЦИИ\LUZAR\01_ФОТО _для текдок
569
570 1. Открыть лист “Пути к файлам”
571 1. В LUZAR фото LAT 0775, LAT 1222, LAT 1224 написано с ошибкой, можно убрать эти артикулы из загрузки.
572 1. Создать текстовый документ на рабочем столе названием Пути.txt
573 1. Скопировать столбец Name в текстовый документ, но удалить первую строчку – слово Name
574 1. Сохранить текстовый файл Пути.txt
575
576 1. Открыть Total Commander на панели задач
577
578 1. В правой половине прописать путь - ~\~\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\*.*
579 1. Нажать на любой артикул из правой половины
580 1. Нажать в меню Выделение > Загрузить выделение из файла > Выбрать файл Пути.txt
581 1. Сейчас нужные файлы выделены.
582 1. Нажать внизу на F5 – Копирование
583 1. Появится окно, сверху будет надпись “Копировать файлы (N шт.) в ”
584 1. Создать папку с названием “N фото” в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
585 1. Скопировать путь к новой папке (см. п.2.1)
586 1. Вставить путь в Total Commander в поле “Копировать файлы (N шт.) в ” и удалить из него кавычки
587 1. Нажать ОК
588 1. Выделенные файлы скопируются в заданную папку
589
590 1. Открыть DMM
591
592 1. Basic Data > Files
593 1. Import
594 1. Select files = выбрать папку с фото, выделить все файлы
595 1. Остальные настройки следующие:
596
597 [[image:image-20250418143833-1.png||height="882" width="703"]]
598
599
600 1. Нажать Start Import
601
602 Фото загрузятся в хранилище TecDoc
603
604 1. Сформировать отчет Document Check
605
606 1. Зайти в DMM
607 1. Reports/Analysis > Reports > QU > Quality: Document check
608 1. SUPPLIER No. = TRIALLI/LUZAR…
609 1. Export report
610 1. Format – CSV, UTF-8
611 1. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\TecDoc reports
612
613 1. Зайти в запрос Загрузка фото в TecDoc 1000.xlsx в папке C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
614
615 1. В Запросе открыть лист settings
616 1. Скопировать путь к файлу Document Check из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
617 1. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
618 1. Нажать на Данные > Обновить все
619 1. Открыть лист 232
620 1. Скопировать все, кроме первой строчки
621 1. Файл > Пустая книга
622 1. Встать на ячейку A1, вставить через Специальная вставка > Значения
623 1. Создать папку “Загрузка в TecDoc”
624 1. Сохранить файл в папке “Загрузка в TecDoc”. Имя файла – 232, разрешение файла – PRN
625 1. Скопировать в папку “Загрузка в TecDoc” из других загрузок файл 001.4772 (или другого бренда)
626 1. Переименовать файл 232.prn в 232.4772
627
628 1. Загрузим таблицу с привязками фото к артикулам в TecDoc
629
630 1. Сделаем экспорт базы данных перед загрузкой
631
632 Зайдем в DMM
633
634 Import/Export > Export > Product Data
635
636
637 1. Загрузим таблицу с привязками фото к артикулам
638
639 Зайдем в DMM
640
641 Import/Export > Import > Product Data
642
643 Select Files = выбрать файлы из папки “Загрузка в TecDoc”
644
645
646 1. Сделать валидацию
647 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)
648
649 Это значит, что фото лежит в хранилище без привязки к артикулу.
650
651 Такое происходило из-за разного регистра в артикуле и в названии фото. Например, фотка ESM 10015050**D**.jpg не притянется к артикулу ESM 10015050**d**. Нужно менять это вручную в таблице перед загрузкой или менять настройки запроса.
652
653
654
655
656
657 **Сортировка фото внутри артикулов**
658
659 Файл для работы:
660
661 [[attach:02 - ФОТО - Сортировка фотографий.xlsx||target="_blank"]]
662
663
664 Поскольку в TecDoc загружаются артикулы не только со статусом “На складе”, но и “Заказано/В пути”, то количество фотографий по одному артикулу со временем будет увеличиваться. Если товар находится “В пути”, то из фотографий на него есть только чертеж, и остальные фото появятся при появлении товара на складе.
665
666 1. Выгрузка базы из DMM
667
668 * Import / Export
669 * Export
670 * Product Data
671
672 [[image:image-20250418143833-4.png||height="788" width="1169"]]
673
674
675 1. Скачать zip-архив
676
677 [[image:image-20250418143833-5.png||height="786" width="1915"]]
678
679 1. Скачать отчет Article Documents из DMM
680 1. Создать папку для сортировки здесь: C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
681 1. Извлечь zip-архив в отдельную папку. Привести папку к табличному виду в проводнике через Вид > Структура > Таблица
682 1. Скопировать файл 232.<Номер бренда TecDoc> (например, 232.4707) в другую папку
683 1. Открыть файл 232.4707
684 1. Открыть файл "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\02 - ФОТО - Сортировка фотографий.xlsx"
685 1. В нем на листе “232 исходная” удалить содержимое умной таблицы кроме заголовков
686 1. Скопировать таблицу из файла 232.4707 в другой файл в умную таблицу на лист “232 исходная”
687 1. На листе “Стыковка” прописать путь к файлу Article Documents без кавычек
688 1. Нажать на Данные > Обновить все
689 1. Скопировать содержимое в новый файл с названием 232.prn (поставить prn в разрешение файла)
690 1. Переименовать файл из 232.prn в 232. <Номер бренда TecDoc> (например, 232.4707)
691 1. Скопировать файл 232.4707 обратно в папку с извлеченным архивом = Заменить в папке назначения
692 1. Сделать архив-zip из всех файлов папки
693 1. Загрузить базу в TecDoc. Import / Export > Import > Product Data
694
695 [[image:image-20250418143833-6.png||height="925" width="1061"]]
696
697 1. Написать Андрею Черджиеву, чтобы он перезагрузил сервер