Сборка таблиц для загрузки информации по списку артикулов одного бренда через DMM (личный кабинет TecDoc)

DMM по Luzar / Airline http://192.168.1.79:8181/

DMM по Trialli / Startvolt http://192.168.1.76:8080/

Официальная документация: TecDoc-Data-Format_Version_2.7_EN_2.0.29.pdf

Файл СБОР 2.0: СБОР 2.0.xlsx

Сбор таблиц в TecDoc: Сборка таблиц TecDoc.xlsx

ОБЩАЯ СХЕМА

Алгоритм загрузки в TecDoc.png

Что должно получиться в финале:

Таблицы для загрузки.rar - пример из последней загрузки Airline

Название файла 200.4826 означает, что это таблица № 200 из документации для бренда номер 4826 (поле Supplier No. для Airline)

Содержание таблиц:

001 - условно "сопроводительное письмо" о загрузке. Информации об артикулах в нем нет. Я его не собираю, копирую из прошлых загрузок.

200 - Артикул и Бренд

203 - Cross / OEM

209 - Штрих-коды

210 - Характеристики и их значения

211 - Номер группы TecDoc

212 - Страна, статус

400 - Применяемость

Информация о содержании всех полей таблиц есть в документации.

Выбор артикулов для загрузки

Берем артикулы из NPR, у которых:

Cтатус =  “Заказано / В пути”

ИЛИ Статус =  “На складе”

И Категория ABC <> “OUT”

И Категория ABC <> “ZAK”

И Категория ABC <> “ARC”

И Категория ABC <> “RLZ”

Это будет Список 1.

Берем отчет Articles из DMM (см.ниже как его найти). Это список уже загруженных артикулов. Это будет Список 2.

1748502438816-408.png

Удаляем Список 2 из Списка 1 и получим список артикулов для загрузки.

Выбор номера группы TecDoc для загружаемых артикулов

Есть два сценария выбора:

1) Группа ранее загружалась

Проставить Номер группы TecDoc из справочников:

AIRLINE Группы TECDOC.xlsx

LUZAR Группы TECDOC.xlsx

TRIALLI Группы TecDoc.xlsx

Бывают случаи, где внутри нашей группы (например, Газовые упоры в Trialli) содержится несколько групп TecDoc. В таком случае требуется условие, по которому определяется принадлежность к группе TecDoc (вхождение текста). На примере Газовых упоров это выглядит так:

image-20250507153434-1.png

2) Группа ранее не загружалась

Если группа новая (= не загружалась в TecDoc ранее), то нужно выбрать ее номер из справочника группы TecDoc. Он называется Generic Articles. В нем нас интересует поле GenArtNo. Также можно вбить OEM артикула новой группы авторитетного бренда в каталог TecDoc - https://web.tecalliance.net/tecdocru/ru/login - и подобрать группу из выпавших артикулов.

Generic Articles 2024 2.0.xlsx

Выбор группы делаю сначала сам, потом привлекаю маркетологов.

Загрузка Cross и OEM (таблица 203)

Из БД делаем запросы OEM и Cross (прилагаю) с объединением их в одну таблицу. В DMM все OEM и все Cross лежат в одной куче, в отличии от NPR.

Далее делаем замены ошибочных названий брендов (VALEO_INDI, BOSCH_STAH и т.д.). Замена ошибок в брендах.xlsx

Для загрузки берутся только те OEM и Cross, бренды которых находятся в справочнике брендов TecDoc (в DMM он называется Brands). Признаком нахождения в справочнике брендов TecDoc является наличие заполненного поля Tecdocid в справочнике “Производители OEM/Cross” в NPR.

-- Шаблон для выгрузки Cross-номеров для загрузки в TecDoc

-- Статусы: "Заказано/В пути", "На складе"

-- Удаляются значения OEM c кириллицей

SELECT

  b.name AS 'Бренд'

  ,p.name AS 'Наименование ADS'

  ,p.code AS 'Артикул'

  ,c.code AS 'Код аналога'

  ,om.name AS 'Производитель аналога'

  ,om.tecdocId AS 'tecdocId'

FROM products p

LEFT JOIN product_group pg

  ON p.group_id = pg.id

LEFT JOIN brands b

ON pg.brand_id = b.id

LEFT JOIN product_codes pc

  ON p.id = pc.product_id

LEFT JOIN codes c

ON pc.code_id = c.id

LEFT JOIN oem_mark om

ON pc.oem_mark_id = om.id

WHERE 1 = 1

AND p.status_id IN (4,5)

AND b.name IS NOT null

AND c.code IS NOT null

AND om.name IS NOT null

AND b.id IN (1, 2, 3, 4, 5)

  --AND p.code = 'ALED061'

ORDER BY

  Бренд

  ,'Наименование ADS'

  ,'Производитель аналога'

  ,'Код аналога'

- Шаблон для выгрузки OEM-номеров для TECDOC

-- Статусы: "Заказано/В пути", "На складе"

SELECT

  b.name AS 'Бренд'

  ,p.name AS 'Наименование ADS'

  ,p.code AS 'Артикул'

  ,oc.code AS 'OEM'

  ,om.name AS 'Марка'

  ,om.tecdocId AS 'tecdocId'

FROM products p

LEFT JOIN product_group pg

ON p.group_id = pg.id

LEFT JOIN brands b

ON pg.brand_id = b.id

LEFT JOIN product_oem po

ON p.id = po.product_id

LEFT JOIN oem_codes oc

ON po.oem_id = oc.id

LEFT JOIN oem_mark om

ON oc.oemmarkId = om.id

WHERE 1 = 1

AND p.status_id IN (4,5)

AND oc.code IS NOT NULL

  AND om.name IS NOT NULL

AND p.code IS NOT NULL

AND b.id IN (1, 2, 3, 4, 5)

ORDER BY

  Бренд

  ,Артикул

  ,Марка

  ,OEM

Характеристики

Надо выгрузить индивидуальные и групповые характеристики. 

Индивидуальные характеристики

SELECT

  br.name AS Бренд

  ,p.code AS Артикул

  ,pg.name AS Группа

  ,prop.name AS Характеристика

  ,pv.val AS Значение

FROM propvalues pv

LEFT JOIN properties prop

ON pv.property_id = prop.id

LEFT JOIN products p

  ON pv.product_id = p.id

LEFT JOIN product_group pg

ON p.group_id = pg.id

LEFT JOIN brands br


    • ON pg.brand_id = br.id

WHERE 1 = 1

AND p.status_id IN (4, 5)

AND pv.val IS NOT null

AND pv.val NOT IN ('')

AND br.id IN (1, 2, 3, 4, 5)


    • AND br.id = 3

ORDER BY

  Бренд,

  Группа,

  Артикул

Групповые характеристики

SELECT

  br.name AS Бренд

  ,p.code AS Артикул

  ,pg.name AS Группа

  ,prop.name AS Характеристика

  ,pb.defval AS Значение

FROM propbind pb

LEFT JOIN product_group pg

ON pb.group_id = pg.id

LEFT JOIN properties prop

ON pb.property_id = prop.id

LEFT JOIN products p

ON pb.group_id = p.group_id

LEFT JOIN brands br

ON pg.brand_id = br.id

WHERE 1 = 1

AND pb.defval IS NOT NULL


    • AND pb.defval NOT IN ('')

    • AND p.code IS NOT NULL

AND p.code NOT IN ('', '<новый код>')

AND p.status_id IN (4, 5)

AND br.id IN (1, 2, 3, 4, 5)

  --AND br.id = 3

ORDER BY

  Бренд,

  Группа,

  Артикул,

  Характеристика

Применяемость

Делаем запрос через SQL по одному бренду:

SELECT

br.name AS 'Бренд'

  ,p.code AS 'Артикул'

  ,am.code AS 'Номер TecDoc легковой'

  ,am.codeEx AS 'Номер TecDoc грузовой'

  ,am.lnktargettypeID AS 'Linkage Target Type ID'

FROM products p

LEFT JOIN ausage au

ON p.id = au.product_id

LEFT JOIN amodification am

ON au.modification_id = am.id

LEFT JOIN product_group pg

ON p.group_id = pg.id

LEFT JOIN brands br

ON pg.brand_id = br.id

WHERE 1 = 1

AND (p.status_id = 4 OR p.status_id = 5)

  --AND p.code = 'AG 15024'

AND am.lnktargettypeID IS NOT null

AND br.id IN (1, 2, 3, 4, 5)

AND br.id = 2

ORDER BY

br.name,

p.code

В полученной выгрузке добавляем столбец с условием:

IF ‘Номер TecDoc грузовой’ <> null

THEN ‘Номер TecDoc грузовой’

ELSE ‘Номер TecDoc легковой’

Перед загрузкой надо сделать замены всех значений Linkage Target Type ID на те, которые допускаются к загрузке. Это следует из пункта в инструкции на с.183 (третья сверху ссылка в этом тексте).

LnkTargetTypeLinkage Target Type IDLinkage Target Type ID для загрузки
TecDoc PC22
TecDoc Motorcycle32
TecDoc E-PC42
TecDoc E-LCV52
TecDoc Electric Motorcycle62
TecDoc LCV9992
TecDoc CV1616
TecDoc Bus1716
TecDoc Tractor1816
TecDoc E-Bus2016
TecDoc E-CV2216

Плюс надо убрать из применяемости артикулы тех групп TecDoc, которые являются универсальными товарами. Это находится в справочнике Reference Data Generic Articles (см. ниже). Универсальный товар имеет значение X в поле Universal.

Reference_Data_Generic_Articles_20250529_063516.csv

Кроме того, в таблицу с применяемостью можно загружать еще двигатели (Engines).

Linkage Target TypeLinkage Target Type ID
Легковые (PC, LCV)2
Грузовые (CV)16
Двигатели (Engines)14

Загрузка фотографий в TecDoc

Исходная ситуация: у нас есть загруженные артикулы в DMM, и к ним надо загрузить фото из папки \\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\

Файл для работы:

01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx

Алгоритм следующий:

  • Найдем артикулы без фото (отчет Article Documents)
  • Найдем все доступные фото по данным артикулам в разрешении 1000*1000 пикселей
  • Скопируем фото в отдельную папку
  • Загрузим фото в хранилище TecDoc
  • Привяжем фото к артикулам и подготовим таблицу с привязками
  1. Перед загрузкой фото спросить у Тимофеева Павла о том, загрузил ли он новые фотографии в разрешении 1000*1000
  2. Сформировать отчет Article Documents
  1. Зайти в DMM
  2. Reports/Analysis > Reports > PD > Product Data: Article Documents
  3. Supplier No. = TRIALLI/LUZAR…
  4. Language No. = English (GB) ( ИЛИ английский (Великобритания) (4)
  5. Export report
  6. CSV, UTF-8
  7. Start
  8. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото . Создать предварительно папку для загрузки фото по каждому бренду и по каждому месяцу
  1. Зайти в запрос в папке "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\01 - ФОТО - Загрузка фото в TecDoc, Привязка к артикулам.xlsx"
  1. В Запросе открыть лист settings
  2. Скопировать путь к файлу Article Documents из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
  3. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
  4. Нажать на Данные > Обновить все

Если LUZAR, то зайти в Запросы “Пути к файлам”, “Список фото в папке”, “Сравнение количества фото в папке и в TecDoc”, “Количество фото” и вставить ссылку на папку LUZAR в первый шаг запроса - \\192.168.0.2\рабочая папка\ФОТОГРАФИИ ПРОДУКЦИИ\LUZAR\01_ФОТО _для текдок

  1. Открыть лист “Пути к файлам”
  2. В LUZAR фото LAT 0775, LAT 1222, LAT 1224 написано с ошибкой, можно убрать эти артикулы из загрузки.
  3. Создать текстовый документ на рабочем столе названием Пути.txt
  4. Скопировать столбец Name в текстовый документ, но удалить первую строчку – слово Name
  5. Сохранить текстовый файл Пути.txt
  1. Открыть Total Commander на панели задач
  1. В правой половине прописать путь - \\192.168.0.2\рабочая папка\ОМ\TRIALLI\ФОТО продукции TRIALLI\03_ФОТО 1000\*.*
  2. Нажать на любой артикул из правой половины
  3. Нажать в меню Выделение > Загрузить выделение из файла > Выбрать файл Пути.txt
  4. Сейчас нужные файлы выделены.
  5. Нажать внизу на F5 – Копирование
  6. Появится окно, сверху будет надпись “Копировать файлы (N шт.) в ”
  7. Создать папку с названием “N фото” в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
  8. Скопировать путь к новой папке (см. п.2.1)
  9. Вставить путь в Total Commander в поле “Копировать файлы (N шт.) в ” и удалить из него кавычки
  10. Нажать ОК
  11. Выделенные файлы скопируются в заданную папку
  1. Открыть DMM
  1. Basic Data > Files
  2. Import
  3. Select files = выбрать папку с фото, выделить все файлы
  4. Остальные настройки следующие:

image-20250418143833-1.png

  1. Нажать Start Import

Фото загрузятся в хранилище TecDoc

  1. Сформировать отчет Document Check
  1. Зайти в DMM
  2. Reports/Analysis > Reports > QU > Quality: Document check
  3. SUPPLIER No. = TRIALLI/LUZAR…
  4. Export report
  5. Format – CSV, UTF-8
  6. Сохранить в C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\TecDoc reports
  1. Зайти в запрос Загрузка фото в TecDoc 1000.xlsx в папке C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
  1. В Запросе открыть лист settings
  2. Скопировать путь к файлу Document Check из п.1 с помощью SHIFT > Правой кнопкой по файлу > Копировать как путь
  3. Вставить скопированный путь в таблицу “Пути” в строчку Quality Document Check
  4. Нажать на Данные > Обновить все
  5. Открыть лист 232
  6. Скопировать все, кроме первой строчки
  7. Файл > Пустая книга
  8. Встать на ячейку A1, вставить через Специальная вставка > Значения
  9. Создать папку “Загрузка в TecDoc”
  10. Сохранить файл в папке “Загрузка в TecDoc”. Имя файла – 232, разрешение файла – PRN
  11. Скопировать в папку “Загрузка в TecDoc” из других загрузок файл 001.4772 (или другого бренда)
  12. Переименовать файл 232.prn в 232.4772
  1. Загрузим таблицу с привязками фото к артикулам в TecDoc
  1. Сделаем экспорт базы данных перед загрузкой

Зайдем в DMM

Import/Export > Export > Product Data

  1. Загрузим таблицу с привязками фото к артикулам

Зайдем в DMM

Import/Export > Import > Product Data

Select Files = выбрать файлы из папки “Загрузка в TecDoc”

  1. Сделать валидацию
  2. В результате валидации может быть ошибка 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)

Это значит, что фото лежит в хранилище без привязки к артикулу.

Такое происходило из-за разного регистра в артикуле и в названии фото. Например, фотка ESM 10015050D.jpg не притянется к артикулу ESM 10015050d. Нужно менять это вручную в таблице перед загрузкой или менять настройки запроса.

Сортировка фото внутри артикулов

Файл для работы:

02 - ФОТО - Сортировка фотографий.xlsx

Поскольку в TecDoc загружаются артикулы не только со статусом “На складе”, но и “Заказано/В пути”, то количество фотографий по одному артикулу со временем будет увеличиваться. Если товар находится “В пути”, то из фотографий на него есть только чертеж, и остальные фото появятся при появлении товара на складе.

  1. Выгрузка базы из DMM
  • Import  / Export
  • Export
  • Product Data

image-20250418143833-4.png

  1. Скачать zip-архив

image-20250418143833-5.png

  1. Скачать отчет Article Documents из DMM
  2. Создать папку для сортировки здесь: C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото
  3. Извлечь zip-архив в отдельную папку. Привести папку к табличному виду в проводнике через Вид > Структура > Таблица
  4. Скопировать файл 232.<Номер бренда TecDoc> (например, 232.4707) в другую папку
  5. Открыть файл 232.4707
  6. Открыть файл "C:\Users\User PC\Desktop\Карвиль\TecDoc\03 Загрузка фото\02 - ФОТО - Сортировка фотографий.xlsx"
  7. В нем на листе “232 исходная” удалить содержимое умной таблицы кроме заголовков
  8. Скопировать таблицу из файла 232.4707 в другой файл в умную таблицу на лист “232 исходная”
  9. На листе “Стыковка” прописать путь к файлу Article Documents без кавычек
  10. Нажать на Данные > Обновить все
  11. Скопировать содержимое в новый файл с названием 232.prn (поставить prn в разрешение файла)
  12. Переименовать файл из 232.prn в 232. <Номер бренда TecDoc> (например, 232.4707)
  13. Скопировать файл 232.4707 обратно в папку с извлеченным архивом  = Заменить в папке назначения
  14. Сделать архив-zip из всех файлов папки
  15.  Загрузить базу в TecDoc. Import / Export > Import > Product Data

image-20250418143833-6.png

  1. Написать Андрею Черджиеву, чтобы он перезагрузил сервер
Tags: TecDoc
Created by Анна Мотошкинова on 2025/04/07 06:29
    

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: