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