Для работы интернет-магазина необходимо установить цены, с которыми он будет работать. Если позволяет редакция продукта, то в каталоге можно использовать несколько типов цен, но при этом один из типов цен является базовым. Базовая цена — это цена, относительной которой рассчитываются все остальные цены системы.

Типы цен

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

В панели управления переходим в «Настройки • Пользователи • Группы пользователей» и создаем две новые группы:

  • Постоянные покупатели
  • Оптовые покупатели

Управление типами цен осуществляется на странице «Магазин • Настройки • Цены • Типы цен»:

Создаем два новых типа цен:

  • Постоянный покупатель, код REGULAR_BUYER
  • Оптовый покупатель, код WHOLESALE_BUYER

Обязательно указываем группы пользователей, которые имеют право на просмотр этой цены и на покупку по этой цене:

Теперь при редактировании товара можно кроме розничной цены задать еще и цену для постоянных клиентов и для оптовых покупателей:

Наценки

Наценка может быть представлена как положительной, так и отрицательной величиной.

Переходим на страницу «Магазин • Настройки • Цены • Наценки» и создаем две наценки:

  • Постоянный покупатель, наценка -10%
  • Оптовый покупатель, наценка -20%

При редактировании наценки можно отметить checkbox «Пересчитать цены»:

После этого произойдёт автоматическое изменение цены для всех товаров, у которых применена эта наценка:

Примеры кода

Пример получения цены товара, в зависимости от того, аввторизован пользователь или нет. И если авторизован — какой группе он принадлежит (постоянный покупатель или оптовый покупатель):

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

$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);

Наценки и скидки к базовой цене

Наценки — заранее установленная величина в относительном выражении (например, в процентах), на которую уменьшается или увеличивается цена товара. Наценки применяются к базовой цене при расчете других типов цен товара (базовую цену сменить невозможно). Каждая цена будет считаться по формуле:

[Цена]=[Базовая цена]+[Базовая цена]*[Наценка в процентах/100]

Важно понимать, где применять в системе понятия Типов цен и Наценок:

  • Типы цен — для разных групп покупателей.
  • Наценки — для легкости смены цен на всех товарах.

В то же время наценка может быть представлена как положительной, так и отрицательной величиной.

Для создания наценки перейдите на страницу Магазин > Настройки > Цены > Наценки :

Созданные наценки будут добавлены в общий список типов наценок на странице Наценки.

Изменение наценки

Возможно изменение параметров какой-либо наценки, которая появляется в форме редактирования. При открытии Наценки на редактирование после введения новой ставки наценки используйте чекбокс Пересчитать цены:

После сохранения новой величины наценки произойдёт автоматическое изменение цены для всех товаров, у которых применена эта наценка Для применения наценки используйте поле Тип наценки в форме редактирования товара.
.

Если вы не применяете наценки (например, выводите сразу базовую цену или у вас типы цен прописаны вручную), то вам эта опция не потребуется.

По опыту работы партнеров, даже в самом простом случае рекомендуется делать базовый тип цен и тип цен "для продажи" и на последний ставить наценку 0%, которую всегда можно поменять и пересчитать цены с помощью одноимённой опции.