Предположим, ваш магазин Битрикс не интегрирован с программой 1С (большой вопрос, всегда ли она нужна), а вам необходимо сделать массовые изменения в магазине — обновить цены, остатки, описания товаров или сделать другие пакетные изменения.
В этом примере рассмотрим, как:
- быстро изменить все цены в интернет-магазине 1С-Битрикс;
- изменить цены отдельных категорий или отдельных товаров;
- изменить цены по условию (%, коэффициент, округление);
- изменить html-описание товаров;
- изменить другие свойства.
1. Выгружаем каталог товаров в CSV-файл
Для начала выгружаем каталог товаров в CSV-файл и сохраняем его на своем компьютере. Идем в админку:
Рабочий стол — Магазин — Настройки — Экспорт данных
Жмем гамбургер слева от «Export CSV (new)» — Экспортировать:

Далее в нашем случае выбираем Каталог — Каталог товаров

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

Первые два свойства (Внешний код (уникальный идентификатор) (B_IBLOCK_ELEMENT.XML_ID) и Название (B_IBLOCK_ELEMENT.NAME)) при экспорте/импорте должны присутствовать всегда.
2. Отмечаем цену правильно
Магазин магазину рознь, и в инфоблоках каталога товаров может быть несколько разных свойств с ценой. В моем случае на картинке выше есть 3 цены:
«Цена, руб.» [MINIMUM_PRICE] (порядок 80)
«Максимальная цена» [MAXIMUM_PRICE] (порядок 90)
«Розничная цена» (BASE): Цена (B_CATALOG_PRICE.PRICE) (порядок 1220).
В карточке товара отображается свойство «Розничная цена» (BASE), её и нужно отметить.

Если похожих наименований в магазине много, в нижней части окна с параметрами экспорта для удобства можно также отметить все Поля разделов (Раздел уровня 1/2/3) чтобы была видна структура каталога.
Нажимаем Начать выгрузку и ждем, пока завершится выгрузка.
Далее на экране появляется ссылка на файл CSV, нажав на которую файл скачивается на ваш комп в папку по умолчанию, при этом файл автоматически сохраняется и на вашем хостинге в папке /bitrix/catalog_export/.

После скачивания его лучше удалить, чтобы не хранить на хостинге ненужную информацию. Удаляем, перейдя в админке на: Контент — Структура сайта — Файлы и папки — bitrix — catalog_export и нажав гамбургер — Удалить слева от файла. Если файлов много, для быстрого поиска воспользуйтесь сортировкой по дате.

3. Подготовка файла CSV
Сохраненный CSV-файл можно открыть с некоторым геморроем в Excel, или без такового в OpenOffice Calc
Если не в курсе, OpenOffice Calc — сокращенный аналог Excel, при этом абсолютно бесплатный. Установить OpenOffice можно Здесь.Очень помогает, когда при пакетной обработке базы Excel начинает что-то додумывать за вас.
3.1. Открываем CSV-файл с помощью Excel
Просто кликнуть на файле, нажать «открыть с помощью» и выбрать Excel не получится, по крайней мере без дополнительных настроек Excel не поймет кириллицу, и мы увидим что-то типа:
поэтому загружаем CSV в Excel так: сначала открываем пустую таблицу, затем через меню Данные – Получить и преобразовать данные – Из файла — из текстового/csv,

далее в появившемся окне отыскиваем свой файл, жмем Импорт.

В поле Источник файла выбираем кодировку Юникод (UTF-8) и жмем Загрузить.

Собственно, в этом и заключается гемор для неподготовленных, т.е. для нас с вами. Практически приходится лично иметь дело не с каким-нибудь разрабом, а с великой и могучей надстройкой Power Query, которая есть только в Excel 2016 и выше, и с помощью которой можно подключаться к любым внешним данным, например SQL, Oracle, SAP и даже (та-дан!!) к 1C!
Внимание, десятичная точка! Не забудьте, что в качестве разделителя дробной части, например, копеек в цене, Excel использует запятую, а Битрикс — ТОЧКУ. Кто не верит — попробуйте просуммировать цифры цены товара в полученной выгрузке.3.2. Подготавливаем с помощью Excel CSV-файл для импорта в магазин Битрикс
Далее нужно удалить строки с теми товарами, в которых вы не собираетесь изменять информацию. Если товаров много, здесь поможет сортировка по артикулу, наименованию или категории товара. Можно, конечно, и новые товары разом загрузить, но это отдельная тема.
В оставшихся строках измените требуемые данные. В процессе подготовки итоговой таблицы можно добавлять временные столбцы и использовать все возможности Excel для поиска и обработки данных, например настроить формулу, которая умножит все цены на нужный вам коэффициент и т.д.
Не забывайте, что при изменении цен в качестве десятичного разделителя должна использоваться точка, а не запятая. Если в ваших ценах нет копеек, вам крупно повезло, и тогда оставляйте только целые числа.
Итоговый файл Excel по формату должен быть таким же, как и исходный. Заголовки столбцов должны оставаться без изменений. Итоги работы формул нужно перевести в значения (ctrl-A, ctrl-C, Главная — Вставить — Значения). Все временные столбцы и формулы перед сохранением удалить.
Сохраняем: Сохранить как — CSV UTF8 (а не просто CSV).

При этом Excel почему-то предупреждает, что в качестве разделителя колонок таблицы при сохранении будет использована запятая. Не верьте, он вставит, как и нужно, точку с запятой.
3.3. Открываем CSV-файл с помощью OpenOffice Calc
Описанное в п. 3.1. преобразование может показаться сложным. Чтобы упростить процесс, можно подготовить файл с помощью OpenOffice Calc. Нажимаем на CSV-файле правой клавой мыши «открыть с помощью», выбираем OpenOffice Calc, при открытии таблицы выбираем формат разметки колонок через «;» (точка с запятой) и кодировку Юникод (UTF8), жмем ОК.

Далее сохраняем файл как Excel 97/2000/XP. Открываем его в Excel и обрабатываем, как описано в п. 3.2. выше.
4. Импорт готового CSV в магазин Битрикс
Если делаете это впервые, или если обновляется большой объем данных, лучше до того сделать резервную копию сайта. При обновлении данных всякое случается, например ваши ошибки в заголовках столбцов таблицы (они же названия свойств) могут перемешать все данные в базе.
Далее, в целях тестирования, стоит потренироваться на 2-3 товарах из подготовленной для импорта таблицы. Для этого просто удаляем все товары, кроме нескольких верхних, из таблицы и импортируем сначала её чтобы убедиться, что всё норм.
Еще лучше любые изменения предварительно прогнать на тестовом сайте.
Идем в админку магазина Рабочий стол — Магазин — Настройки — Импорт данных – л.к. мыши на гамбургер на строке «Import CSV (new)», в меню действий выбрать Импортировать
выбрать сохраненный CSV.

Жмем тип инфоблока «Каталог» — инфоблок «Каталог товаров» — Далее.
Ставим чекбокс первая строка сдержит имена полей — Далее. Проверяем соответствие полей в разделе Задайте соответствие полей в файле полям в базе.
Если добавленные картинки указывались без пути, указываем путь в поле Путь к картинкам.
Если есть картинки — ставим чекбокс Использовать настройки инфоблока для обработки изображений.
Транслит символьных кодов (если они есть в таблице) не отмечаем (лучше указать в таблице самостоятельно)
Остальные настройки — в Пользовательской документации: https://dev.1c-bitrix.ru/user_help/store/sale/settings/import/import_csv.php
Жмем Загрузить данные и проверяем измененные товары на фронте.
Подробнее об импорте читайте у Битрикса https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=42&CHAPTER_ID=05222&LESSON_PATH=3912.4580.3457.5222
5. Изменить html-описание товаров
Если вы прочитали всё, что сказано выше, то здесь всё просто:
- экспортируем каталог в CSV-файл;
- при экспорте выбираем только обязательные свойства и свойство Детальное описание — в моем случае это (B_IBLOCK_ELEMENT.DETAIL_TEXT);
- открываем для редактирования файл в Excel. Если описания товаров большие, файл выглядит пугающе, прежде всего за счет того, что в каждая ячейка описания товара содержит огромный текст с кучей HTML-разметки. Это могут быть элементы форматирования текста (заголовки, списки, ссылки, таблицы, спойлера, картинки и т.д., вплоть до встроенных в описание видосов). Растяните колонку с HTML-описанием пошире, ячейки сделайте повыше;
- удаляем ненужные строки (товары, которые не будут редактироваться);
- правим описания, как обычный HTML. Очень удобно, когда во все описания после определенного фрагмента нужно вставить одинаковый для всех описаний блок;
- чистим от формул и вспомогательных столбцов;
- сохраняем: Сохранить как — CSV UTF8;
- делаем импорт (п.4).
6. Экспорт / импорт контента через CSV-файл
В отличии от каталога товаров, контент лучше экспортировать / импортировать через контент – инфоблоки — экспорт/импорт, а не через магазин – настройки – экспорт/импорт данных. В остальном порядок такой же, как описан выше. Можно делать пакетные изменения в новостях, блоге, акциях, услугах и любом другом контентном инфоблоке.