Импорт каталога, массовые наценки и другие лайфхаки для «1С-Битрикс»

Как всякий высокотехнологичный инструмент, платформа «1С-Битрикс» обрастает лайфхаками. 12 000 тематических статей на Хабрахабре, 950 полезных советов в блогах на сайте «1С-Битрикс», 4944 решения в маркетплейсе. Разработчики выискивают проблемы, превращают их в задачи, создают виджеты и гаджеты, интеграторы и агрегаторы, парсеры, редакторы и машапы.

Например, актуализация каталога – узкое «бутылочное горлышко» продаж интернет-магазина. Допустим, средний магазин готовится к «черной пятнице». Ручная правка 10 000 карточек потребует не менее 100 человеко/дней. И от 50 000 рублей, если привлекать фрилансеров.. Несуразно дорого для малого бизнеса и нереально долго для любой акции! Поэтому сушествует множество готовых решений для пакетного редактирования каталога. Рассмотрим примеры.


Массовое управление ценами

Панель групповых операций «1С-Битрикс»

Пользователи «1С-Битрикс» 16.5.3 и выше могут изменять цены непосредственно в списке разделов и элементов каталога. Выделив нужные разделы, надо вызвать меню «Действия», выбрать пункт «Изменить цены» и нажать кнопку «Применить».

Панель групповых операций «1С-Битрикс»

Появившаяся следом форма позволит настроить операцию изменения цен. Так, можно рассчитать новую цену на основании другой цены. Выбрать тип цены (оптовая или розничная), увеличение или уменьшение, указать точное значение и валюту. Доступны 3 варианта округления: в пользу клиента, в пользу предприятия и по арифметическим правилам с параметром округления.

настроика операции по изменению цен

После нажатия кнопки «Сохранить» цены будут пересчитаны.


Модули Маркетплейс для пакетного редактирования свойств товаров

Владельцам ранних версий помогут модули из «1С-Битрикс». Приведем 2 примера:

Модуль «Массовое изменение цен и параметров товаров (элементов инфоблока)» от «Дальвебстрой» позволяет изменять цены на фиксированную сумму или процентную долю, округлять цены до и после запятой, менять и конвертировать валюты. Дополнительно можно управлять количеством остатков, весом, габаритными размерами, менять единицы измерения и НДС. Есть режим изменения параметров по расписанию. Цена решения – 3 800 рублей.

Антирутин от Webdebug позволяет управлять наценками и скидками, автоматически генерировать символьные коды для ЧПУ, деактивировать товары с нулевыми ценами и удалять нулевые остатки. Кроме того, модуль масштабирует и редактирует иллюстрации в карточках, создает наборы и комплекты, копирует свойства товаров. Например, может в массовом порядке присваивать по образцу габариты, цены, иллюстрации или переносить цены из оптовых в розничные. Цена решения – 3 120 рублей.


Загрузка файла прайс-листа в каталог «1С-Битрикс»

По данным Supl.Biz, интернет-магазинам доступны электронные прайсы 750 000 оптовых поставщиков. Выбор есть! Но нельзя просто взять и закачать файл-прайс-листа в админку магазина. Потому что импорт – процедура сложная, с множеством обязательных требований. Зачастую владельцы интернет-магазина хотят получать:

  • Добавление категорий. Если в прайсе появилась новая категория, она должна быть создана и в каталоге магазина.
  • Добавление товаров. Если в прайс-листе есть товары, которых в магазине нет, то они должны появиться в карточках, нужной категории каталога, разделе «Новинки». С заполненными описаниями, характеристиками, иллюстрациями.
  • Отключение товаров. Если товары есть в каталоге, а в прайсе их больше нет, они должны быть деактивированы.
  • Обновление цен и наличия. Для совпадающих товаров следует перенести остатки из прайса в интернет-магазин, привести в соответствие цены.

И это не все. Импортированные товары должны автоматически распределяться по соответствующим категориям, получать «красивые» ЧПУ. Причем импорт не должен изменять или деактивировать самостоятельно внесенные товары, не должен «портить» SEO-описания.

Как видим, простой загрузкой таблицы с произвольной структурой эти задачи не решить. Какие инструменты могут помочь, каковы их достоинства и недостатки?


Предустановленные средства импорта

В платформе «1С-Битрикс» предусмотрены инструменты импорта в торговые каталоги. Если установлен модуль интернет-магазина, настройки находятся по адресу Магазин > Настройки > Импорт данных. Если в редакции нет модуля магазина, настроить импорт можно по адресу Магазин > Торговый каталог > Импорт данных. Скрипты импорта по умолчанию расположены здесь:

/bitrix/php_interface/include/catalog_import/

Предустановленные средства импорта

Скрипты могут обрабатывать файлы в форматах XML («1С» CommerceML) и CSV. Первый формат создан для обмена данными с разработками с «1С» и естественно формируется при выгрузке каталога из «1С-Управление торговлей». Другие способы конвертации прайса в CommerceML, мягко говоря, неудобны.

Формат CSV для одноуровневого каталога просто получить, сохраняя прайс из Excel с разделителем «;» и заполненными столбцами ID и Название. Однако с древовидным каталогом уже сложнее: Для каждого уровня вложенности надо создавать в файле отдельную колонку, и разносить по ним позиции в соответствии со структурой каталога интернет-магазина. И других ограничений немало: названия столбцов должны точно совпадать с именами разделов, десятичные разделители в файле импорта должны быть точками, и каждому значению множественного поля в файле должна соответствовать отдельная строка. Если у товара несколько иллюстраций, то под каждую отводится 2 отдельные строки для иконки и полноразмерного изображения (IE_PREVIEW_PICTURE и IE_DETAIL_PICTURE). С размерами и цветами та же картина.

«На стадии загрузки невозможно штатными средствами задать привязки элементов. Поэтому после загрузки элементов придется вручную проходить весь каталог и производить привязку элементов. Опытные разработчики применяют следующий метод. Сначала в MS Excel создается специальный файл, в котором менеджер вручную задает привязки между элементами». Учебный курс для администраторов «1С-Битрикс», редакция «Бизнес».


Импорт из «1С-Управление торговлей»

Импорт из «1С» на сайт прост и удобен, если совпадает структура каталога, номенклатура и ассортимент товаров. В «1С-Управление торговлей» предусмотрен механизм регистрации (загрузки) цен поставщика их файла произвольного формата.

Для этого учетная программа должна быть обновлена до версии 8.1, и дополнена модулем обмена версий 4 – 6. Обмен товарами и заказами может производиться вручную, по расписанию или в режиме реального времени (каждые 40 секунд).

А в «1С-Битрикс: Управление сайтом» встроен механизм интеграции с «1С-Предприятие». На стороне интернет-магазина настройки импорта выполняются по адресу Магазин > Настройки > Интеграция с 1С.

встроеный механизм интеграции с «1С-Предприятие»

Но если представление каталога и товаров на сайте заметно отличаются от записей в системе учета, автоматический обмен усложняется. Возникает необходимость доработки вручную или при помощи обработчиков и модулей на стороне «1С-Битрикс». Из «1С: Предприятие» в этом случае выгружаются название, артикул, цена, детальное описание.


Обработчики для цен по API

В API «1С-Битрикс» есть класс CPrice, предназначенный специально для работы с ценами каталога. Например, метод Add этого класса добавляет новую цену, а метод ReCalculate пересчитывает заданные цены. Используя эти инструменты, можно корректировать ощибки импорта при помощи обработчиков в файле

/bitrix/php_interface/init.php

Допустим, при выгрузке из «1С:Управление предприятием» цены надо устанавливать дополнительно, потому что они определены в торговых предложениях на сайте. Решить эту задачу поможет обработчик следующего вида:

CModule::IncludeModule("catalog");

CModule::IncludeModule("iblock");

AddEventHandler("iblock", "OnAfterIBlockElementAdd", "OnBeforeIBlockElementAddHandler");

AddEventHandler("iblock", "OnAfterIBlockElementUpdate", "OnBeforeIBlockElementAddHandler");

   // создаем обработчик события "OnBeforeIBlockElementUpdate и OnAfterIBlockElementAdd" для установки цены торгового предложения на сам товар

   function OnBeforeIBlockElementAddHandler(&$arFields)

   {

      $arSelect = Array("ID", "NAME", "PROPERTY_CML2_LINK", "CATALOG_GROUP_1" );

     $res = CIBlockElement::GetList(Array(), Array("ID"=>$arFields['WF_PARENT_ELEMENT_ID']), false, Array("nPageSize"=>50), $arSelect);

      while($ar_res = $res->GetNextElement()) {

          // вычисление цены из массива

          $i = 1 ;

          foreach ($arFields['PRICES'][0] as $pri) {

            if($i == 3) {

              $price = $pri ;

            }

            $i++ ;

          }

        $ar_res = $ar_res->GetFields();

        if($ar_res['PROPERTY_CML2_LINK_VALUE']) {

            $CATALOG_GROUP_ID_1 = 1;

            $CATALOG_CURRENCY_1 = 'RUB';

            $arFieldsprice = Array(

                "PRODUCT_ID" => $ar_res['PROPERTY_CML2_LINK_VALUE'],

                "CATALOG_GROUP_ID" => $CATALOG_GROUP_ID_1,

                "PRICE" => $price,

                "CURRENCY" => $CATALOG_CURRENCY_1

            );

            $resPrice = CPrice::GetList(

                    array(),

                    array(

                            "PRODUCT_ID" => $ar_res['PROPERTY_CML2_LINK_VALUE'],

                            "CATALOG_GROUP_ID" => $CATALOG_GROUP_ID_1

                        )

                );

            if ($arr = $resPrice->Fetch())

            {

                CPrice::Update($arr["ID"], $arFieldsprice);

            }

            else

            {

                CPrice::Add($arFieldsprice);

            }

         }

      }

   }


Модули Маркетплейс для загрузки прайсов

Модуль от студии Falsecode загружает прайс-листы по HTTP-ссылкам и протоколу FTP, импортирует их из почтовых вложений. Обновляет номенклатуру и создает новые позиции по расписанию в автоматическом режиме. Может импортировать из нескольких источников в один каталог. Поддерживает форматы XLS, XLSX, CSV, XML. Документирован 5 уроками на Youtube. Цена 6 500 рублей.

Модуль от mayakit.ru позволяет создавать неограниченное количество профилей под различные форматы прайсов поставщиков. Обновляет цены с указанием валюты и остатки с поддержкой многоскладовости. Фильтрует загружаемые элементы, поддерживает SKU, деактивирует отсутствующие товары и пустые разделы, округляет цены. Обеспечивает импорт в highload-блоки, пакетную загрузку изображений, работу по расписанию. Документирован 13 уроками на Youtube. Цена 5 000 рублей.

Бесплатный модуль от WEBIZI решает проблему гигантских файлов CSV при импорте больших каталогов, состоящих из товаров с множественными параметрами. Используя штатные функции API «1С-Битрикс», модуль сокращает объем CSV в 142 000 раз.

Импорт каталога на сайт требует специальных средств для поддержки «умной» пакетной загрузки изображений, привязывающей картинки к товарам. Эту задачу решает модуль загрузки по артикулу от Seven 3 и модуль загрузки архивом от «Первый БИТ». Чтобы сэкономить дисковое пространство при пакетной загрузке, изображения надо сжимать. Уменьшать их «на лету» помогают модули, использующие TinyPNG и OptiPic.io. А модуль от ARTRIX оптимизирует изображения по стандартам Google PageSpeed Insights.


И другие популярные лайфхаки

Актуализация каталога – не единственное узкое место в работе интернет-магазина. Автоматизировать оплату и доставку товаров, рекламу и SEO, оформление страниц и удержание покупателей помогают представленные ниже решения.


Интеграция с платежными системами

Интернет-эквайринг с большинством крупных банков и платежных систем обеспечивают 126 решений в Маркетплейс. Банковские модули Сбербанк, Альфа-Банк, Тинькофф Банк, Банк Русский Стандарт обеспечивают прием платежей с карт Visa и MasterCard. Модули платежных систем Яндекс.Касса, Uniteller, PayAnyWay и других помимо карточных платежей принимают переводы электронными валютами и с платежных терминалов. При выборе эквайрингового модуля обращайте внимание на соответствие закону 54-ФЗ. Например, Яндекс.Касса и Сбербанк поддерживают онлайн-кассы и обмен информацией с операторами фискальных данных.


Интеграция с транспортными компаниями

Интернет-магазины избавляются от расходов на логистику, передавая ее на аутсорсинг транспортным и курьерским компаниям. При этом передачу данных в личный кабинет, оформление документов, автоматический расчет сроков и стоимости доставки обеспечивают модули транспортных компаний, интеграторов и агрегаторов доставки. Пользуются популярностью приложения Яндекс.Доставка, DDelivery, PickPoint, «ПЭК», Почты России, СДЭК, Boxberry.


SEO и реклама

Разумеется, в Маркетплейсе представлено множество инструментов для упрощения работы с SEO и контентом. Например, приложение от WebTechCom организует работу с рекламными кампаниями Яндекс.Директ: управляет ставками, подбирает фразы, мониторит качество объявлений. Модуль «SEO-инструменты» включает сканер, редактор, средства для аудита, настройки редиректов, работы с поисковыми фразами и Sitemap. А модуль от ВебФлай организует работу с мета-тегами и SEO-текстами на субдоменах. Есть отдельные решения для настройки редиректа, микроразметки, задания канонических ссылок и UTM-меток, получения поисковых фраз Яндекс.Метрики, перелинковки и генерации Sitemap.


Обратная связь

Инструменты вовлечения пользователей повышают конверсию. Потому и модулей для этого немало. Блоки отзывов и социальных комментариев, голосования, конструкторы форм, онлайн-консультанты, модули техподдержки и гостевые книги. Шлюзы для SMS и Viber, рассылки через Telegram, инструменты модерации и спам-фильтры.


Верстка и дизайн

В этой категории представлены конструкторы дизайна и визуальные редакторы, редакторы макетов страниц и наборы компонентов для создания посадочных страниц. Среди локальных утилит следует отметить типографы для проверки грамотности, сборщик панорам из фотографий, компоненты для оформления 404 страницы. Обратите внимание на модуль Мибок, создающий версию сайта для слабовидящих! Зрение пользователей компьютеров падает на 1 диоптрию в год, стало быть, аудитория постоянно растет.


Избавляйтесь от рутины!

Ваше время слишком ценно, чтобы тратить его на механическую работу. Делегируйте все тривиальные задачи умным программам и оставьте себе творческую работу по развитию бизнеса. Только так можно удержаться на рынке в современном стремительно меняющемся мире. Удачи вам и новых свершений в Новом году!

Дата публикации: 08 Января 2018