Show last authors
1 = **Сборка таблиц для загрузки информации по списку артикулов одного бренда через DMM** =
2
3 DMM - личный кабинет TecDoc, через который происходит загрузка наших товаров. DMM - старая версия личного кабинета, с 2023 г. появился TecDoc ONE - новая версия личного кабинета. Основное различие - загрузка стала более удобной и легкой для пользователя, требования к уровню знаний Excel снизились плюс снижается время между загрузкой и отображением в каталоге (8 дней у DMM и 1 день у ONE). В настоящий момент DMM работает для Trialli, Luzar, Startvolt и Airline. ONE работает только для Carville Racing. В планах у TecDoc отправить все бренды на ONE во втором квартале 2025 г, но на 17.06.25 точной даты и алгоритмы сотрудники TecDoc не предоставили (вопрос задавал в июне). Надо уточнить, но возможен вариант не переезжать на ONE и остаться на DMM.
4
5 **Ссылки на DMM**
6
7 DMM по Luzar / Airline [[http:~~/~~/192.168.1.79:8181/>>url:http://192.168.1.79:8181/]]
8
9 DMM по Trialli / Startvolt [[http:~~/~~/192.168.1.76:8080/>>url:http://192.168.1.76:8080/]]
10
11 Официальная документация: [[attach:TecDoc-Data-Format_Version_2.7_EN_2.0.29.pdf||target="_blank"]]
12
13 **Файлы по сбору и подготовке информации**
14
15 Файл СБОР 2.0: [[attach:СБОР 2.0.xlsx||target="_blank"]]
16
17 Сбор таблиц в TecDoc: [[attach:Сборка таблиц TecDoc.xlsx||target="_blank"]]
18
19
20 == **ОБЩАЯ СХЕМА** ==
21
22 [[image:Алгоритм загрузки в TecDoc.png]]
23
24 **Что должно получиться в финале (итоговые файлы):**
25
26 [[attach:Таблицы для загрузки.rar||target="_blank"]] - пример из последней загрузки Airline
27
28 Название файла 200.4826 означает, что это таблица № 200 из документации для бренда номер 4826 (поле Supplier No. для Airline)
29
30 Содержание таблиц:
31
32 001 - условно "сопроводительное письмо" о загрузке. Информации об артикулах в нем нет. Я его не собираю, копирую из прошлых загрузок.
33
34 200 - Артикул и Бренд
35
36 203 - Cross / OEM
37
38 209 - Штрих-коды
39
40 210 - Характеристики и их значения
41
42 211 - Номер группы TecDoc
43
44 212 - Страна, статус
45
46 400 - Применяемость
47
48 Информация о содержании всех полей таблиц есть в документации.
49
50
51 == **Выбор артикулов для загрузки** ==
52
53 Берем для загрузки артикулы, удовлетворяющие условиям:
54
55 Cтатус = “Заказано / В пути”
56
57 ИЛИ Статус = “На складе”
58
59 И Категория ABC <> “OUT”
60
61 И Категория ABC <> “ZAK”
62
63 И Категория ABC <> “ARC”
64
65 И Категория ABC <> “RLZ”
66
67 И Категория ABC <> “D”
68
69 Это будет Список 1.
70
71
72 Берем отчет Articles из DMM (см.ниже как его найти). Это список уже загруженных артикулов. Это будет Список 2.
73
74 [[image:1748502438816-408.png||height="374" width="378"]]
75
76
77 Удаляем Список 2 из Списка 1 и получим список артикулов для загрузки.
78
79
80 === **Выбор номера группы TecDoc для загружаемых артикулов** ===
81
82 Есть два сценария выбора:
83
84 1) Группа ранее загружалась, поэтому ее номер известен
85
86 В этом случае нужно взять **Номер группы TecDoc **из справочников:
87
88 [[attach:AIRLINE Группы TECDOC.xlsx||target="_blank"]]
89
90 [[attach:LUZAR Группы TECDOC.xlsx||target="_blank"]]
91
92 [[attach:TRIALLI Группы TecDoc.xlsx||target="_blank"]]
93
94 Бывают случаи, где внутри нашей группы (например, Газовые упоры в Trialli) содержится несколько групп TecDoc. В таком случае требуется условие, по которому определяется принадлежность к группе TecDoc (вхождение текста). На примере Газовых упоров это выглядит так:
95
96 [[image:image-20250507153434-1.png||height="52" width="559"]]
97
98 2) Группа ранее не загружалась
99
100 Если группа новая (= не загружалась в TecDoc ранее), то нужно выбрать ее номер из справочника группы TecDoc - [[attach:Generic Articles 2024 2.0.xlsx||target="_blank"]]. В нем нас интересует поле GenArtNo. Также можно вбить OEM артикула новой группы авторитетного бренда в каталог TecDoc - [[https:~~/~~/web.tecalliance.net/tecdocru/ru/login>>url:https://web.tecalliance.net/tecdocru/ru/login]] - и подобрать группу из выпавших артикулов.
101
102 Выбор группы делаю сначала сам, потом привлекаю маркетологов.
103
104 Если группы нет в справочнике Generic Articles, то можно написать письмо в TecDoc со списком групп для добавления. Такое мы делали один раз для Airline - добавление групп произошло через 3 месяца с момента подачи заявки.
105
106
107 == **Привязка к бренду (табл. 200)** ==
108
109 Требования из инструкции по содержанию строки:
110
111 [[image:20 супп.png||height="462" width="521"]]
112
113 Поля, актуальные нам:
114
115 ArtNo - Артикул в NPR
116
117 BrandNo - Номер бренда Carville из справочника TecDoc
118
119 TableNo - Номер таблицы = 200
120
121 (% dir="ltr" style="height:30px; width:30px" %)
122 |(% style="width:115px" %)**Бренд**|(% style="width:48px" %)**Номер бренда Carville**
123 |(% style="width:115px" %)AIRLINE|(% style="width:48px" %)4826
124 |(% style="width:115px" %)LUZAR|(% style="width:48px" %)4707
125 |(% style="width:115px" %)TRIALLI|(% style="width:48px" %)4772
126 |(% style="width:115px" %)STARTVOLT|(% style="width:48px" %)4471
127
128 (% class="wikigeneratedid" %)
129 TableNo - номер загружаемой таблицы
130
131 **Итоговая таблица:**
132
133 [[image:21 супп.png]]
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 == **Штрих-коды (табл. 209)** ==
307
308 == [[image:22 супп.png||height="419" width="587"]] ==
309
310 (% class="wikigeneratedid" %)
311 **ArtNo** - Артикул
312
313 (% class="wikigeneratedid" %)
314 **BrandNo** - Номер бренда Carville из справочника брендов TecDoc (см.выше)
315
316 (% class="wikigeneratedid" %)
317 **TableNo** - номер таблицы = 209
318
319 (% class="wikigeneratedid" %)
320 **GTIN** - Штрих-код / Штрих-код (груп.) из раздела Метрические данные
321
322 (% class="wikigeneratedid" %)
323 [[image:25 супп.png||height="300" width="720"]]
324
325 **Проверки:**
326
327 1) Из поля Штрих-код берем только значения с 13 символами (иногда попадаются значения с 14 символами)
328 2) Если группа = Диски тормозные или Барабаны тормозные, то берем поле Штрих-код (груп.), т.к. это парные товары, и них нет индивидуальной упаковки
329
330 3) Иногда у одного товара может быть несколько штрих-кодов и нужно либо удалять дубликаты, либо, если дубликаты не нашлись, вручную удалять лишние штрих-коды в выгрузке
331 4) Возможно, стоит сделать проверку на наличие штрих-кода. Если его нет, то отправить маркетологам на дозаполнение.
332
333 (% class="wikigeneratedid" %)
334 **Итоговая таблица:**
335
336 [[image:23 супп.png]]
337
338 == **Характеристики (табл. 210)** ==
339
340 Надо выгрузить индивидуальные и групповые характеристики.
341
342 ==== **Запрос SQL на индивидуальные характеристики** ====
343
344 **SELECT**
345
346 br.name **AS** Бренд
347
348 ,p.code **AS** Артикул
349
350 ,pg.name **AS** Группа
351
352 ,prop.name **AS** Характеристика
353
354 ,pv.val **AS** Значение
355
356 **FROM** propvalues pv
357
358 **LEFT JOIN** properties prop
359
360 **~ ON** pv.property_id = prop.id
361
362 **LEFT JOIN** products p** **
363
364 **~ ON** pv.product_id = p.id
365
366 **LEFT JOIN** product_group pg
367
368 **~ ON** p.group_id = pg.id
369
370 **LEFT JOIN** brands br
371
372 **~ ON **pg.brand_id = br.id
373
374 **WHERE** 1 = 1
375
376 **~ AND** p.status_id **IN** (4, 5)
377
378 **~ AND** pv.val **IS NOT** null
379
380 **~ AND** pv.val **NOT IN** ('')
381
382 **~ AND** br.id **IN** (1, 2, 3, 4, 5)
383
384 **~ AND **br.id = 3
385
386 **ORDER BY**
387
388 Бренд,
389
390 Группа,
391
392 Артикул
393
394 ==== **Запрос SQL на групповые характеристики** ====
395
396 **SELECT**
397
398 br.name **AS** Бренд
399
400 ,p.code **AS** Артикул
401
402 ,pg.name **AS** Группа
403
404 ,prop.name **AS** Характеристика
405
406 ,pb.defval **AS** Значение
407
408 **FROM** propbind pb
409
410 **LEFT JOIN** product_group pg
411
412 **ON** pb.group_id = pg.id
413
414 **LEFT JOIN** properties prop
415
416 **ON** pb.property_id = prop.id
417
418 **LEFT JOIN** products p
419
420 **ON **pb.group_id = p.group_id
421
422 **LEFT JOIN** brands br
423
424 **ON** pg.brand_id = br.id
425
426 **WHERE** 1 = 1
427
428 **AND** pb.defval **IS NOT** NULL
429
430 **AND** **pb.defval **NOT IN** ('')**
431
432 **AND p.code **IS NOT** NULL**
433
434 **AND** p.code **NOT IN** ('', '<новый код>')
435
436 **AND** p.status_id **IN **(4, 5)
437
438 **AND **br.id **IN **(1, 2, 3, 4, 5)
439
440 ~-~-**AND** br.id = 3
441
442 **ORDER BY**
443
444 Бренд,
445
446 Группа,
447
448 Артикул,
449
450 Характеристика
451
452
453 **Важно! Приоритет выбора значения характеристики при наличии значения в двух выгрузках (групповых и индивидуальных характеристиках).**
454
455 Логика, присущая большинству ситуаций: если у группы есть групповая характеристика, то у нее есть одно-единственное значение на всю группу, свойственное всем входящим в нее артикулам. Однако бывает так, что маркетолог меняет дефолтное значение у групповой характеристики на другое. В таком случае видим картину: у одного артикула одна и та же характеристика с двумя разными значениями фигурирует в обеих выгрузках (групповых и индивидуальных характеристик). Для этого мы проверяем наличие характеристики в обоих выгрузках, и если оно есть, то у характеристики берется значение из индивидуальной выгрузки, а групповое значение игнорируется.
456
457 Потом найти отсутствующие значения обязательных характеристик и отдать маркетологам.
458
459 Справочники характеристик:
460
461 [[attach:AIRLINE TECDOC.xlsx||target="_blank"]]
462
463 [[attach:LUZAR TECDOC.xlsx||target="_blank"]]
464
465 [[attach:TRIALLI TECDOC.xlsx||target="_blank"]]
466
467 **Важно! Добавление вручную характеристик, которых нет в NPR, но они требуются в TecDoc.**
468
469 Иногда бывают случаи, когда в TecDoc есть обязательная характеристика для конкретной группы (Mandatory Criteria), но маркетологи отказываются ее добавлять. Например, для **Датчиков износа **требуется Тип тормоза, но Антон Павлишин отказывается его добавить в NPR (его аргумент - очевидно, что везде Дисковый тормозной механизм). Другой пример -** Стойки стабилизатора** (Иван Пальмин). Для этой группы для TecDoc обязательна хар-ка Стойка со значением Соединительная штанга. Я **вручную** добавляю отдельно такие значения ко всем загружаемым артикулам, где это требуется.
470
471 **Важно! Добавление вручную информации, которой нет в разделе Характеристики, но она есть в других разделах NPR (она не требуется в TecDoc).**
472
473 Например, для Дисков тормозных нужна Масса брутто, кг, а для Прокладок ГБЦ из Luzar нужна Комплектация.
474
475
476 === Проверка полного заполнения характеристик в карточке товара артикула ===
477
478 Проверка имеет следующую логику: если обязательная характеристика не заполнена у артикула, то эта строчка будет в файле с ошибками.
479
480 Бывает, что наличие значения одной характеристики зависит от значения другой характеристики. Например, у глушителей есть диаметр 2 и его наличие зависит от его формы. Если форма глушителя = овал, то исходя из диаметр 1 и диаметр 2 должны быть заполнены (EAM 1808). Если форма = круг (EAM 0406), то значение диаметра 2 будет пустым, но не должно считаться ошибкой и не должно попасть в файл с ошибками. Таких случаев немного. Если у амортизаторов Тип верхнего крепления <> Шток, то пустое значения Хода штока, мм не должно являться ошибкой. Третий пример - Насосы водяные и Диаметр шкива. Конструкция может не предусматривать шкива.
481
482
483 === Маппинг значений характеристик NPR и к значениям справочника TecDoc. Очистка и подгонка значений. ===
484
485 После исправления маркетологами ошибок нужно сделать новые выгрузки характеристик и начать делать стыковку значений(маппинг) со справочником TecDoc.
486
487 Стыковка разделена на два файла - в одном числовые характеристик (тип N), во втором - текстовые (тип А) и характеристики со значениями из выпадающего списка (тип K).
488
489 У разных характеристик типа A или N длина значений будет отличаться, поэтому во время маппинга значений нужно не превышать максимальную длину значения. Список характеристик TecDoc и их длины можно посмотреть в файле - [[attach:Параметры TecDoc 2024.xlsx||target="_blank"]]
490
491 Например, надо подобрать значения к характеристиками **Суппортов тормозных.**
492
493 [[image:05 супп.png||height="83" width="845"]]
494
495 Ниже пойдут примеры уникальных значений NPR по каждой загружаемой группе.
496
497 Первый файл - типы K и A (см. выше - Criterion Type)
498
499 [[image:01 супп.png||height="233" width="577"]]
500
501 Найдем значения для **Количество поршней**
502
503 [[image:02 супп.png||height="202" width="629"]]
504
505 Найдем значения для **Сторона установки**
506
507 [[image:03 супп.png||height="94" width="633"]]
508
509
510 Значение характеристики **Тормозная система **должно быть названием, поэтому здесь его не меняем.
511
512 Итоговый файл с подобранными значениями характеристик типа K и A выглядит так (в конечном счете нам нужна пара Crit. No + ID (Key Value):
513
514 [[image:06 супп.png||height="261" width="648"]]
515
516 Иногда у маркетолога в NPR есть сложная и редкая информация, которой нет в справочнике TecDoc, но при этом она важна для покупателя. В таком случае мы ставим характеристику Версия (Crit No. = 1059) и вписываем значение длиной до 20 символов на английском языке. Иногда можем вписывать несколько значений характеристики **Версия.**
517
518
519 **Обработка числовых значений:**
520 1) Делать замену с “.” на “,”
521
522 2) Если значение подразумевает диапазон
523 Например, Диапазон измеряемого давления, бар = 0 - 3,5
524 то нужно выбрать 2 характеристики
525 Давление от = 0
526 Давление до = 3,5
527
528 В данном случае новые характеристики ищутся повторно
529
530 3) Проверять значения с перечислением через разделитель
531 Например, Двигатель = 31896, 33162 должен быть преобразован в
532 Двигатель = 31896
533 Двигатель = 31862
534
535 4) Убрать “+” из значений температуры. Например, +30 => 30
536
537 5) Отсечь погрешность из значения (после “±”). Например, 180±10 => 180
538
539
540 На примере **Суппортов тормозных** замена числовых значений (тип N) выглядит так:
541
542 - точки заменил на запятые
543
544 - поменял характеристику у двойных значений 44/48 и 46/52.
545
546 [[image:07 супп.png||height="37" width="510"]]
547
548 Итоговый тип N:
549
550 [[image:04 супп.png||height="502" width="577"]]
551
552
553 Потом объединеняем оба файла в один:
554
555 [[image:08 супп.png]]
556
557
558 В процессе объединения файлов числовые значения могут искажаться, поэтому нужно знать об этом и вручную корректировать такие случаи. Я это делаю как шаг в запросе Power Query.
559
560
561 === Сборка таблицы с характеристиками в TecDoc (таблица 210) ===
562
563 Формат загрузки характеристик представлен в документации на с.161. Вот он:
564
565 [[image:13 супп.png||height="630" width="605"]]
566
567
568 После этого собираем таблицу с характеристиками по каждому артикулу, учитывая порядок следования (нумерацию) характеристик в карточке товара (из справочника характеристик по бренду).
569
570 [[image:05 супп.png||height="67" width="683"]]
571
572 Промежуточный вариант:
573
574
575 [[image:11 супп.png||height="256" width="445"]]
576
577
578 Итоговый вариант:
579
580 [[image:12 супп.png]]
581
582 (% class="wikigeneratedid" %)
583 == ==
584
585 === **Номер группы TecDoc (табл. 211)** ===
586
587 (% class="wikigeneratedid" %)
588 == [[image:26 супп.png||height="303" width="483"]] ==
589
590 **ArtNo** - Артикул
591
592 **BrandNo** - Номер бренда Carville из справочника брендов
593
594 **TableNo **- номер таблицы = 211
595
596 **GenArtNo** - номер группы TecDoc. Подробнее смотреть в разделе **Выбор номера группы TecDoc для загружаемых артикулов**
597
598 **Итоговый вариант:**
599
600 **[[image:27 супп.png||height="357" width="204"]]**
601
602
603 == **Страна, статус (табл. 212)** ==
604
605 **[[image:28 супп.png||height="380" width="498"]]**
606
607 (% class="wikigeneratedid" %)
608 **ArtNo** - Артикул
609
610 (% class="wikigeneratedid" %)
611 **BrandNo** - номер бренда Carville
612
613 (% class="wikigeneratedid" %)
614 **TableNo** - номер таблицы = 212
615
616 (% class="wikigeneratedid" %)
617 **QuantUnit **- количество = ставим 1
618
619 (% class="wikigeneratedid" %)
620 **QuantPerUnit** - количество в единице товара (вроде) = ставим 1
621
622 (% class="wikigeneratedid" %)
623 **StatusDat** - ставлю дату формирования таблиц
624
625
626 (% class="wikigeneratedid" %)
627 Итоговая таблица:
628
629 (% class="wikigeneratedid" %)
630 [[image:29 супп.png||height="301" width="337"]]
631
632
633 (% class="wikigeneratedid" %)
634 **Применяемость (табл. 400)**
635
636 Делаем запрос через SQL по одному бренду:
637
638
639 **SELECT**
640
641 //br//.name **AS** 'Бренд'
642
643 ,//p//.code **AS** 'Артикул'
644
645 ,//am//.code **AS** 'Номер TecDoc легковой'
646
647 ,//am//.codeEx **AS** 'Номер TecDoc грузовой'
648
649 ,//am//.lnktargettypeID **AS** 'Linkage Target Type ID'
650
651 **FROM** products //p//
652
653 **LEFT** **JOIN** ausage //au//
654
655 **ON** //p//.id = //au//.product_id
656
657 **LEFT** **JOIN** amodification //am//
658
659 **ON** //au//.modification_id = //am//.id
660
661 **LEFT** **JOIN** product_group //pg//
662
663 **ON** //p//.group_id = //pg//.id
664
665 **LEFT** **JOIN** brands //br//
666
667 **ON** //pg//.brand_id = //br//.id
668
669 **WHERE** 1 = 1
670
671 **AND** (//p//.status_id = 4 **OR** //p//.status_id = 5)
672
673 ~-~-AND p.code = 'AG 15024'
674
675 **AND** //am//.lnktargettypeID **IS** **NOT** **null**
676
677 **AND** //br//.id **IN** (1, 2, 3, 4, 5)
678
679 **AND** //br//.id = 2
680
681 **ORDER** **BY**
682
683 //br//.name,
684
685 //p//.code
686
687
688 В полученной выгрузке добавляем столбец с условием:
689
690 IF ‘Номер TecDoc грузовой’ <> null
691
692 THEN ‘Номер TecDoc грузовой’
693
694 ELSE ‘Номер TecDoc легковой’
695
696
697 Перед загрузкой надо сделать замены всех значений Linkage Target Type ID на те, которые допускаются к загрузке. Это следует из пункта в инструкции на с.183 (третья сверху ссылка в этом тексте).
698
699 |**LnkTargetType**|**Linkage Target Type ID**|**Linkage Target Type ID для загрузки**
700 |TecDoc PC|2|2
701 |TecDoc Motorcycle|3|2
702 |TecDoc E-PC|4|2
703 |TecDoc E-LCV|5|2
704 |TecDoc Electric Motorcycle|6|2
705 |TecDoc LCV|999|2
706 |TecDoc CV|16|16
707 |TecDoc Bus|17|16
708 |TecDoc Tractor|18|16
709 |TecDoc E-Bus|20|16
710 |TecDoc E-CV|22|16
711
712 Плюс надо убрать из применяемости артикулы тех групп TecDoc, которые являются универсальными товарами. Это находится в справочнике Reference Data Generic Articles (см. ниже). **Универсальный товар имеет значение X в поле Universal.**
713
714 [[attach:Reference_Data_Generic_Articles_20250529_063516.csv||target="_blank"]]
715
716
717 Кроме того, в таблицу с применяемостью можно загружать еще двигатели (Engines).
718
719 |**Linkage Target Type**|**Linkage Target Type ID**
720 |Легковые (PC, LCV)|2
721 |Грузовые (CV)|16
722 |Двигатели (Engines)|14
723
724 **Промежуточный вариант сбора таблицы:**
725
726 [[image:17 супп.png]]
727
728
729 **Итоговый вариант:**
730
731 **[[image:18 супп.png]]**
732
733
734 **Требования из документации**
735
736 [[image:19 супп.png]]
737
738
739 = **Загрузка фотографий в TecDoc** =
740
741
742 Исходная ситуация: у нас есть загруженные артикулы в DMM, и к ним надо загрузить фото из папки ~\~\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\
743
744 Файл для работы:
745
746 [[attach:01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx||target="_blank"]]
747
748
749 **Алгоритм следующий:**
750
751 * Найдем артикулы без фото (отчет Article Documents)
752 * Найдем все доступные фото по данным артикулам в разрешении 1000*1000 пикселей
753 * Скопируем фото в отдельную папку
754 * Загрузим фото в хранилище TecDoc
755 * Привяжем фото к артикулам и подготовим таблицу с привязками
756
757 1. Перед загрузкой фото спросить у Тимофеева Павла о том, загрузил ли он новые фотографии в разрешении 1000*1000
758 1. Сформировать отчет Article Documents
759
760 1. Зайти в DMM
761 1. Reports/Analysis > Reports > PD > Product Data: Article Documents
762 1. Supplier No. = TRIALLI/LUZAR…
763 1. Language No. = English (GB) ( ИЛИ английский (Великобритания) (4)
764 1. Export report
765 1. CSV, UTF-8
766 1. Start
767 1. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото . Создать предварительно папку для загрузки фото по каждому бренду и по каждому месяцу
768
769 1. Зайти в запрос в папке "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx"
770
771 1. В Запросе открыть лист settings
772 1. Скопировать путь к файлу Article Documents из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
773 1. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
774 1. Нажать на Данные > Обновить все
775
776 Если LUZAR, то зайти в Запросы “Пути к файлам”, “Список фото в папке”, “Сравнение количества фото в папке и в TecDoc”, “Количество фото” и вставить ссылку на папку LUZAR в первый шаг запроса - ~\~\192.168.0.2\рабочая папка\ФОТОГРАФИИ ПРОДУКЦИИ\LUZAR\01_ФОТО _для текдок
777
778 1. Открыть лист “Пути к файлам”
779 1. В LUZAR фото LAT 0775, LAT 1222, LAT 1224 написано с ошибкой, можно убрать эти артикулы из загрузки.
780 1. Создать текстовый документ на рабочем столе названием Пути.txt
781 1. Скопировать столбец Name в текстовый документ, но удалить первую строчку – слово Name
782 1. Сохранить текстовый файл Пути.txt
783
784 1. Открыть Total Commander на панели задач
785
786 1. В правой половине прописать путь - ~\~\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\*.*
787 1. Нажать на любой артикул из правой половины
788 1. Нажать в меню Выделение > Загрузить выделение из файла > Выбрать файл Пути.txt
789 1. Сейчас нужные файлы выделены.
790 1. Нажать внизу на F5 – Копирование
791 1. Появится окно, сверху будет надпись “Копировать файлы (N шт.) в ”
792 1. Создать папку с названием “N фото” в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
793 1. Скопировать путь к новой папке (см. п.2.1)
794 1. Вставить путь в Total Commander в поле “Копировать файлы (N шт.) в ” и удалить из него кавычки
795 1. Нажать ОК
796 1. Выделенные файлы скопируются в заданную папку
797
798 1. Открыть DMM
799
800 1. Basic Data > Files
801 1. Import
802 1. Select files = выбрать папку с фото, выделить все файлы
803 1. Остальные настройки следующие:
804
805 [[image:image-20250418143833-1.png||height="882" width="703"]]
806
807
808 1. Нажать Start Import
809
810 Фото загрузятся в хранилище TecDoc
811
812 1. Сформировать отчет Document Check
813
814 1. Зайти в DMM
815 1. Reports/Analysis > Reports > QU > Quality: Document check
816 1. SUPPLIER No. = TRIALLI/LUZAR…
817 1. Export report
818 1. Format – CSV, UTF-8
819 1. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\TecDoc reports
820
821 1. Зайти в запрос Загрузка фото в TecDoc 1000.xlsx в папке C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
822
823 1. В Запросе открыть лист settings
824 1. Скопировать путь к файлу Document Check из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
825 1. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
826 1. Нажать на Данные > Обновить все
827 1. Открыть лист 232
828 1. Скопировать все, кроме первой строчки
829 1. Файл > Пустая книга
830 1. Встать на ячейку A1, вставить через Специальная вставка > Значения
831 1. Создать папку “Загрузка в TecDoc”
832 1. Сохранить файл в папке “Загрузка в TecDoc”. Имя файла – 232, разрешение файла – PRN
833 1. Скопировать в папку “Загрузка в TecDoc” из других загрузок файл 001.4772 (или другого бренда)
834 1. Переименовать файл 232.prn в 232.4772
835
836 1. Загрузим таблицу с привязками фото к артикулам в TecDoc
837
838 1. Сделаем экспорт базы данных перед загрузкой
839
840 Зайдем в DMM
841
842 Import/Export > Export > Product Data
843
844
845 1. Загрузим таблицу с привязками фото к артикулам
846
847 Зайдем в DMM
848
849 Import/Export > Import > Product Data
850
851 Select Files = выбрать файлы из папки “Загрузка в TecDoc”
852
853
854 1. Сделать валидацию
855 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)
856
857 Это значит, что фото лежит в хранилище без привязки к артикулу.
858
859 Такое происходило из-за разного регистра в артикуле и в названии фото. Например, фотка ESM 10015050**D**.jpg не притянется к артикулу ESM 10015050**d**. Нужно менять это вручную в таблице перед загрузкой или менять настройки запроса.
860
861
862
863
864
865 **Сортировка фото внутри артикулов**
866
867 Файл для работы:
868
869 [[attach:02 - ФОТО - Сортировка фотографий.xlsx||target="_blank"]]
870
871
872 Поскольку в TecDoc загружаются артикулы не только со статусом “На складе”, но и “Заказано/В пути”, то количество фотографий по одному артикулу со временем будет увеличиваться. Если товар находится “В пути”, то из фотографий на него есть только чертеж, и остальные фото появятся при появлении товара на складе.
873
874 1. Выгрузка базы из DMM
875
876 * Import / Export
877 * Export
878 * Product Data
879
880 [[image:image-20250418143833-4.png||height="788" width="1169"]]
881
882
883 1. Скачать zip-архив
884
885 [[image:image-20250418143833-5.png||height="786" width="1915"]]
886
887 1. Скачать отчет Article Documents из DMM
888 1. Создать папку для сортировки здесь: C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
889 1. Извлечь zip-архив в отдельную папку. Привести папку к табличному виду в проводнике через Вид > Структура > Таблица
890 1. Скопировать файл 232.<Номер бренда TecDoc> (например, 232.4707) в другую папку
891 1. Открыть файл 232.4707
892 1. Открыть файл "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\02 - ФОТО - Сортировка фотографий.xlsx"
893 1. В нем на листе “232 исходная” удалить содержимое умной таблицы кроме заголовков
894 1. Скопировать таблицу из файла 232.4707 в другой файл в умную таблицу на лист “232 исходная”
895 1. На листе “Стыковка” прописать путь к файлу Article Documents без кавычек
896 1. Нажать на Данные > Обновить все
897 1. Скопировать содержимое в новый файл с названием 232.prn (поставить prn в разрешение файла)
898 1. Переименовать файл из 232.prn в 232. <Номер бренда TecDoc> (например, 232.4707)
899 1. Скопировать файл 232.4707 обратно в папку с извлеченным архивом = Заменить в папке назначения
900 1. Сделать архив-zip из всех файлов папки
901 1. Загрузить базу в TecDoc. Import / Export > Import > Product Data
902
903 [[image:image-20250418143833-6.png||height="925" width="1061"]]
904
905 1. Написать Андрею Черджиеву, чтобы он перезагрузил сервер

Tips

Did you know that you can improve XWiki? Take 5 minutes to fill this survey and help this open source project!

My Recent Modifications

Need help?

If you need help with XWiki you can contact: