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

Version 51.1 by Александр Молчин on 2025/06/19 08:21

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 длина значений будет отличаться. Подробнее можно посмотреть в файле - [[attach:Параметры TecDoc 2024.xlsx||target="_blank"]]
416
417
418
419
420
421
422 == **Применяемость** ==
423
424 Делаем запрос через SQL по одному бренду:
425
426
427 **SELECT**
428
429 //br//.name **AS** 'Бренд'
430
431 ,//p//.code **AS** 'Артикул'
432
433 ,//am//.code **AS** 'Номер TecDoc легковой'
434
435 ,//am//.codeEx **AS** 'Номер TecDoc грузовой'
436
437 ,//am//.lnktargettypeID **AS** 'Linkage Target Type ID'
438
439 **FROM** products //p//
440
441 **LEFT** **JOIN** ausage //au//
442
443 **ON** //p//.id = //au//.product_id
444
445 **LEFT** **JOIN** amodification //am//
446
447 **ON** //au//.modification_id = //am//.id
448
449 **LEFT** **JOIN** product_group //pg//
450
451 **ON** //p//.group_id = //pg//.id
452
453 **LEFT** **JOIN** brands //br//
454
455 **ON** //pg//.brand_id = //br//.id
456
457 **WHERE** 1 = 1
458
459 **AND** (//p//.status_id = 4 **OR** //p//.status_id = 5)
460
461 ~-~-AND p.code = 'AG 15024'
462
463 **AND** //am//.lnktargettypeID **IS** **NOT** **null**
464
465 **AND** //br//.id **IN** (1, 2, 3, 4, 5)
466
467 **AND** //br//.id = 2
468
469 **ORDER** **BY**
470
471 //br//.name,
472
473 //p//.code
474
475
476 В полученной выгрузке добавляем столбец с условием:
477
478 IF ‘Номер TecDoc грузовой’ <> null
479
480 THEN ‘Номер TecDoc грузовой’
481
482 ELSE ‘Номер TecDoc легковой’
483
484
485 Перед загрузкой надо сделать замены всех значений Linkage Target Type ID на те, которые допускаются к загрузке. Это следует из пункта в инструкции на с.183 (третья сверху ссылка в этом тексте).
486
487 |**LnkTargetType**|**Linkage Target Type ID**|**Linkage Target Type ID для загрузки**
488 |TecDoc PC|2|2
489 |TecDoc Motorcycle|3|2
490 |TecDoc E-PC|4|2
491 |TecDoc E-LCV|5|2
492 |TecDoc Electric Motorcycle|6|2
493 |TecDoc LCV|999|2
494 |TecDoc CV|16|16
495 |TecDoc Bus|17|16
496 |TecDoc Tractor|18|16
497 |TecDoc E-Bus|20|16
498 |TecDoc E-CV|22|16
499
500 Плюс надо убрать из применяемости артикулы тех групп TecDoc, которые являются универсальными товарами. Это находится в справочнике Reference Data Generic Articles (см. ниже). **Универсальный товар имеет значение X в поле Universal.**
501
502 [[attach:Reference_Data_Generic_Articles_20250529_063516.csv||target="_blank"]]
503
504
505 Кроме того, в таблицу с применяемостью можно загружать еще двигатели (Engines).
506
507 |**Linkage Target Type**|**Linkage Target Type ID**
508 |Легковые (PC, LCV)|2
509 |Грузовые (CV)|16
510 |Двигатели (Engines)|14
511
512 = **Загрузка фотографий в TecDoc** =
513
514
515 Исходная ситуация: у нас есть загруженные артикулы в DMM, и к ним надо загрузить фото из папки ~\~\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\
516
517 Файл для работы:
518
519 [[attach:01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx||target="_blank"]]
520
521
522 **Алгоритм следующий:**
523
524 * Найдем артикулы без фото (отчет Article Documents)
525 * Найдем все доступные фото по данным артикулам в разрешении 1000*1000 пикселей
526 * Скопируем фото в отдельную папку
527 * Загрузим фото в хранилище TecDoc
528 * Привяжем фото к артикулам и подготовим таблицу с привязками
529
530 1. Перед загрузкой фото спросить у Тимофеева Павла о том, загрузил ли он новые фотографии в разрешении 1000*1000
531 1. Сформировать отчет Article Documents
532
533 1. Зайти в DMM
534 1. Reports/Analysis > Reports > PD > Product Data: Article Documents
535 1. Supplier No. = TRIALLI/LUZAR…
536 1. Language No. = English (GB) ( ИЛИ английский (Великобритания) (4)
537 1. Export report
538 1. CSV, UTF-8
539 1. Start
540 1. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото . Создать предварительно папку для загрузки фото по каждому бренду и по каждому месяцу
541
542 1. Зайти в запрос в папке "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx"
543
544 1. В Запросе открыть лист settings
545 1. Скопировать путь к файлу Article Documents из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
546 1. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
547 1. Нажать на Данные > Обновить все
548
549 Если LUZAR, то зайти в Запросы “Пути к файлам”, “Список фото в папке”, “Сравнение количества фото в папке и в TecDoc”, “Количество фото” и вставить ссылку на папку LUZAR в первый шаг запроса - ~\~\192.168.0.2\рабочая папка\ФОТОГРАФИИ ПРОДУКЦИИ\LUZAR\01_ФОТО _для текдок
550
551 1. Открыть лист “Пути к файлам”
552 1. В LUZAR фото LAT 0775, LAT 1222, LAT 1224 написано с ошибкой, можно убрать эти артикулы из загрузки.
553 1. Создать текстовый документ на рабочем столе названием Пути.txt
554 1. Скопировать столбец Name в текстовый документ, но удалить первую строчку – слово Name
555 1. Сохранить текстовый файл Пути.txt
556
557 1. Открыть Total Commander на панели задач
558
559 1. В правой половине прописать путь - ~\~\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\*.*
560 1. Нажать на любой артикул из правой половины
561 1. Нажать в меню Выделение > Загрузить выделение из файла > Выбрать файл Пути.txt
562 1. Сейчас нужные файлы выделены.
563 1. Нажать внизу на F5 – Копирование
564 1. Появится окно, сверху будет надпись “Копировать файлы (N шт.) в ”
565 1. Создать папку с названием “N фото” в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
566 1. Скопировать путь к новой папке (см. п.2.1)
567 1. Вставить путь в Total Commander в поле “Копировать файлы (N шт.) в ” и удалить из него кавычки
568 1. Нажать ОК
569 1. Выделенные файлы скопируются в заданную папку
570
571 1. Открыть DMM
572
573 1. Basic Data > Files
574 1. Import
575 1. Select files = выбрать папку с фото, выделить все файлы
576 1. Остальные настройки следующие:
577
578 [[image:image-20250418143833-1.png||height="882" width="703"]]
579
580
581 1. Нажать Start Import
582
583 Фото загрузятся в хранилище TecDoc
584
585 1. Сформировать отчет Document Check
586
587 1. Зайти в DMM
588 1. Reports/Analysis > Reports > QU > Quality: Document check
589 1. SUPPLIER No. = TRIALLI/LUZAR…
590 1. Export report
591 1. Format – CSV, UTF-8
592 1. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\TecDoc reports
593
594 1. Зайти в запрос Загрузка фото в TecDoc 1000.xlsx в папке C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
595
596 1. В Запросе открыть лист settings
597 1. Скопировать путь к файлу Document Check из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
598 1. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
599 1. Нажать на Данные > Обновить все
600 1. Открыть лист 232
601 1. Скопировать все, кроме первой строчки
602 1. Файл > Пустая книга
603 1. Встать на ячейку A1, вставить через Специальная вставка > Значения
604 1. Создать папку “Загрузка в TecDoc”
605 1. Сохранить файл в папке “Загрузка в TecDoc”. Имя файла – 232, разрешение файла – PRN
606 1. Скопировать в папку “Загрузка в TecDoc” из других загрузок файл 001.4772 (или другого бренда)
607 1. Переименовать файл 232.prn в 232.4772
608
609 1. Загрузим таблицу с привязками фото к артикулам в TecDoc
610
611 1. Сделаем экспорт базы данных перед загрузкой
612
613 Зайдем в DMM
614
615 Import/Export > Export > Product Data
616
617
618 1. Загрузим таблицу с привязками фото к артикулам
619
620 Зайдем в DMM
621
622 Import/Export > Import > Product Data
623
624 Select Files = выбрать файлы из папки “Загрузка в TecDoc”
625
626
627 1. Сделать валидацию
628 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)
629
630 Это значит, что фото лежит в хранилище без привязки к артикулу.
631
632 Такое происходило из-за разного регистра в артикуле и в названии фото. Например, фотка ESM 10015050**D**.jpg не притянется к артикулу ESM 10015050**d**. Нужно менять это вручную в таблице перед загрузкой или менять настройки запроса.
633
634
635
636
637
638 **Сортировка фото внутри артикулов**
639
640 Файл для работы:
641
642 [[attach:02 - ФОТО - Сортировка фотографий.xlsx||target="_blank"]]
643
644
645 Поскольку в TecDoc загружаются артикулы не только со статусом “На складе”, но и “Заказано/В пути”, то количество фотографий по одному артикулу со временем будет увеличиваться. Если товар находится “В пути”, то из фотографий на него есть только чертеж, и остальные фото появятся при появлении товара на складе.
646
647 1. Выгрузка базы из DMM
648
649 * Import / Export
650 * Export
651 * Product Data
652
653 [[image:image-20250418143833-4.png||height="788" width="1169"]]
654
655
656 1. Скачать zip-архив
657
658 [[image:image-20250418143833-5.png||height="786" width="1915"]]
659
660 1. Скачать отчет Article Documents из DMM
661 1. Создать папку для сортировки здесь: C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
662 1. Извлечь zip-архив в отдельную папку. Привести папку к табличному виду в проводнике через Вид > Структура > Таблица
663 1. Скопировать файл 232.<Номер бренда TecDoc> (например, 232.4707) в другую папку
664 1. Открыть файл 232.4707
665 1. Открыть файл "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\02 - ФОТО - Сортировка фотографий.xlsx"
666 1. В нем на листе “232 исходная” удалить содержимое умной таблицы кроме заголовков
667 1. Скопировать таблицу из файла 232.4707 в другой файл в умную таблицу на лист “232 исходная”
668 1. На листе “Стыковка” прописать путь к файлу Article Documents без кавычек
669 1. Нажать на Данные > Обновить все
670 1. Скопировать содержимое в новый файл с названием 232.prn (поставить prn в разрешение файла)
671 1. Переименовать файл из 232.prn в 232. <Номер бренда TecDoc> (например, 232.4707)
672 1. Скопировать файл 232.4707 обратно в папку с извлеченным архивом = Заменить в папке назначения
673 1. Сделать архив-zip из всех файлов папки
674 1. Загрузить базу в TecDoc. Import / Export > Import > Product Data
675
676 [[image:image-20250418143833-6.png||height="925" width="1061"]]
677
678 1. Написать Андрею Черджиеву, чтобы он перезагрузил сервер