Некоторые нюансы загрузки товаров в Ozon через Excel

Решал задачу выгрузки данных из 1С в файлы Excel, чтобы из этих файлов загрузить данные о товарах в OZON.

Для каждого типа товаров Ozon имеет свой Excel-шаблон выгрузки. Но многие поля у этих шаблонов похожие.

Товары заполняются на закладке «Шаблон для поставщика».

Обязательные поля выделены красным:

Я столкнулся с тем, что не знал, откуда взять список доступных полей. И только совершенно по ошибке натолкнулся на то, что в этом файле есть скрытые листы. А именно очень полезный лист «validation», который для каждой колонки содержит список доступных значений.

Так например для колонки I с названием «Коммерческий тип» содержатся варианты его значения:

Я сделал код выгрузки в Excel достаточно гибким, чтобы он ориентировался на имена колонок:

НомерСтрокиЭксель = 4;
Для Каждого
СтрокаТовара ИЗ Строки Цикл

   
ЗаписатьЯчейкуOZON(ЭксельЛист, СооКолонки, НомерСтрокиЭксель, «АРТИКУЛ», СтрокаТовара.АртикулТовара);
   
ЗаписатьЯчейкуOZON(ЭксельЛист, СооКолонки, НомерСтрокиЭксель, «ЦЕНАРУБ», СтрокаТовара.ЦенаТовара);
   
ЗаписатьЯчейкуOZON(ЭксельЛист, СооКолонки, НомерСтрокиЭксель, «НДС%», «Не облагается»);
   
ЗаписатьЯчейкуOZON(ЭксельЛист, СооКолонки, НомерСтрокиЭксель, «ВЕСВУПАКОВКЕГ», СтрокаТовара.ВесТовара);

   
ЗаписатьЯчейкуOZON(ЭксельЛист, СооКолонки, НомерСтрокиЭксель, «КОММЕРЧЕСКИЙТИП», ОбщийКоммерческийТип);

   
ЗаписатьЯчейкуOZON(ЭксельЛист, СооКолонки, НомерСтрокиЭксель, «ВЫСОТАУПАКОВКИММ», СтрокаТовара.ВысотаТовара);
   
ЗаписатьЯчейкуOZON(ЭксельЛист, СооКолонки, НомерСтрокиЭксель, «ШИРИНАУПАКОВКИММ», СтрокаТовара.ШиринаТовара);
   
ЗаписатьЯчейкуOZON(ЭксельЛист, СооКолонки, НомерСтрокиЭксель, «ДЛИНАУПАКОВКИ», СтрокаТовара.ДлинаТовара);
   
ЗаписатьЯчейкуOZON(ЭксельЛист, СооКолонки, НомерСтрокиЭксель, «ТИП», «Книга»);       //Тип — обязательное поле

   

   
НомерСтрокиЭксель = НомерСтрокиЭксель + 1;

КонецЦикла

Сами имена колонок привожу к верхнему регистру и очищаю от лишних символов:

//Определяем состав колонок
ВсегоКолонок = ЭксельЛист.Cells(1,1).SpecialCells(11).Column;
СтрокаШапки = 3;
СооКолонки = Новый Соответствие();
Для
Кол = 1 По ВсегоКолонок Цикл
   
//Приводим имя колонки к верхнему регистру, убираем запятые, точки, звездочки, пробелы
   
ТекИмяКолонки = СокрЛП(ЭксельЛист.Cells(СтрокаШапки, Кол).Value);
   
ТекИмяКолонки = Врег(ТекИмяКолонки);
   
ТекИмяКолонки = СтрЗаменить(ТекИмяКолонки, «*», «»);
   
ТекИмяКолонки = СтрЗаменить(ТекИмяКолонки, » «, «»);
   
ТекИмяКолонки = СтрЗаменить(ТекИмяКолонки, «.», «»);
   
ТекИмяКолонки = СтрЗаменить(ТекИмяКолонки, «,», «»);
   
СооКолонки.Вставить(ТекИмяКолонки, Кол);
КонецЦикла;

Обработка выгрузки позволяет выгружать по нескольим шаблонам. Данные для выгрузки извлекаются на сервере запросом, потом передаются в виде массива структур на клиента и там уже работает выгрузка в Excel через OLE.

Время факт: 2.5 час (на базовую выгрузку, без полировки деталей).

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

комментариев 16

  1. Ромыч:

    Добрый день. Хочу ввести цену в шаблоне выдает «неверный формат данных».
    Не знаете в чем дело?

    • знаю, там есть то ли скрытый лист, то ли скрытая колонка, где указаны возможные значения. Надо использовать только эти значения для вариативных колонок.

  2. Вячеслав:

    Когда указываю в шаблоне размеры изделий, появляется ошибка «Выберите значение из списка». При выборе значений из списка происходит то же самое. Так как товаров много, то для экономии времени вставляю сразу целый столбец готовых размеров. По умолчанию скопированные ячейки экселя имеют общий формат. В таков виде система Озон не пропускает товары. Помогает одна хитрость: указываю в столбце размеров текстовый формат и после чего в углу ячеек появляется зеленый треугольник с предупреждением. Но появляется он не у всех, а только у ячеек с целыми числами. Ячейки с дробными значениями приходится два раза кликать. У меня только так товары загружаются без ошибок. Плохо только то, что приходится тратить время на ручное исправление тысячи товаров… Может есть более быстрый способ это исправить?

    • ну это классическая проблема Экселя и имеет классическое решение.
      Можно поиграться со специальной вставкой (типа вставить как числа).
      Можно заменить в блоке запятую на точку (или наоборот). При замене она сама преобразует в числовой формат.

  3. руслан:

    а Вы не знаете в чем может быть проблема и как решить , выдает такое: Вы загрузили товар через устаревший XLS-шаблон. Отредактируйте товар или скачайте, заполните и загрузите новый XLS-шаблон
    Спасибр

    • Ну он же вам так и пишет — скачайте новый шаблон. Зайдите на сайт Озона и скачайте новый шаблон.

  4. KatKat:

    Добрый день. Подскажите, ввожу через шаблон эксель товары. Как правильно вставить несколько ссылок на доп фото?

  5. Дарья:

    Добрый день! А Вы, случайно, не подскажете, почему мы никак не можем сделать «Множественный выбор»? Вот, например, два цвета. Они пишут, что добавляйте через «;». Но когда через «;» добавляешь, пишет «Ошибка! Введите значение в указанном диапазоне.» Что не так-то? 🙂

    • думаю, стоит обратиться в поддержку Озон.
      Посмотрите, какие на листе Validation стоят доступные значения, может быть вы их не так указываете. По одиночке они проходят?
      Может после ; не нужно делать пробел?

      • Дарья:

        Так никто и не делает, в том и проблема. 🙂 По-всякому уже пробовали, и с пробелом и без, и другой строкой… 🙂 А поддержка Озон не из тех, кто охотно и радостно отвечают. :))

        • и все же, добивайтесь от поддержки ответа. Озон — это черный ящик, поэтому нюансы, если они не отражены в документации, только поддержке Озона известны.

  6. Руслан:

    Добрый день, хотел спросить у вас совета. Когда выгружаешь отредактированные карточки товаров в озон через их шаблон Excel, то эти карточки начинают пропадать. В поддержку уже написал. Хотел узнать у вас как это можно исправить? Сталкивались ли вы с такой же проблемой

  7. Кирилл:

    Добрый день! Подскажите пожалуйста стоимость обработки и работает ли она на 1С КА версии 1.

    • Могу дать как шаблон, допилите сами. Заодно и потестируете.
      Писалась, правда, давно.
      Она на управляемых формах, КА1 — это же обычные формы?
      Если так, то не будет, надо переписывать.
      Ну и у обработки есть специфика под клиента, в принципе ее можно убрать.
      Ну в общем, привлеките своего программмиста или я по 2800 в час. Часа 2 выйдет. Может 1 если повезет.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *