Прайс-лист из 1С в файл Excel: отчёт, универсальный отчёт и выгрузка под маркетплейс

· 10 мин

Содержание

Чтобы выгрузить прайс из 1С в Excel, сформируйте отчёт «Прайс-лист» с нужным типом цен, нажмите кнопку сохранения на панели отчёта и выберите тип файла Лист Excel 2007-... (*.xlsx). Excel на компьютере для этого не нужен: платформа 1С:Предприятие 8.3 сама записывает xlsx из любого табличного документа.

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

Что проверить в номенклатуре и ценах до выгрузки

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

Что посмотреть:

  • 🏷️ Тип цен. В БП 3.0 это справочник «Типы цен номенклатуры», в УТ 11 — «Виды цен». Решите заранее, какой тип уходит в прайс: розничный, оптовый, дилерский.
  • 📅 Актуальность цен. Цены устанавливает документ «Установка цен номенклатуры». В прайс попадает последняя цена на дату отчёта. Если документ с новыми ценами не проведён, в файле будут старые.
  • 🔢 Артикулы. Для маркетплейса артикул — ключ, по которому площадка сопоставляет товар. Отфильтруйте список номенклатуры по пустому артикулу и заполните пропуски.
  • 🗑️ Помеченные на удаление и архивные позиции. Их лучше отсечь отбором в отчёте, чем вычищать в Excel.
  • 📂 Группы номенклатуры. Прайс обычно группируется по папкам справочника. Если в корне лежат 400 позиций без группы, прайс получится плоским и неудобным для клиента.
  • 📏 Единицы измерения. Цена за штуку и цена за упаковку в одном прайсе — частая причина претензий покупателей.

Быстрая проверка пустых артикулов: откройте список номенклатуры, Ещё → Настроить список, на вкладке «Отбор» добавьте условие «Артикул — Не заполнено». Список покажет только позиции без артикула.

Выгрузка прайса из 1С через стандартный отчёт

В типовых конфигурациях есть готовый отчёт или обработка «Прайс-лист». Путь различается по конфигурации, а результат один: табличный документ, который сохраняется в Excel.

КонфигурацияГде искать прайсКак называются цены
Бухгалтерия предприятия 3.0раздел Склад, группа команд по ценам, команда «Прайс-лист»Типы цен номенклатуры
Управление торговлей 11раздел Маркетинг, группа ценообразования, команда «Прайс-лист»Виды цен

Если команды не видно на панели раздела, наберите «прайс» в поиске по интерфейсу в верхней части окна: он найдёт команду в любом разделе.

Шаги для сохранения прайса в xlsx

  1. Откройте «Прайс-лист».
  2. Укажите дату, на которую берутся цены. По умолчанию это сегодня.
  3. Выберите один или несколько типов (видов) цен. Каждый тип станет отдельной колонкой.
  4. Задайте отбор: группы номенклатуры, склад, «только с ненулевой ценой».
  5. Нажмите «Сформировать».
  6. Нажмите кнопку сохранения (значок дискеты) на панели отчёта. Если кнопки нет, используйте главное меню ☰ → Файл → Сохранить как....
  7. В поле «Тип файла» выберите Лист Excel 2007-... (*.xlsx), укажите имя и папку.

По умолчанию 1С предлагает формат *.mxl — это собственный формат табличного документа 1С. Excel его не откроет. Тип файла меняйте вручную каждый раз, пока не привыкнете.

Выгрузка без отчёта: копирование и вывод списка

Есть два обходных пути на случай, когда отчёт не нужен:

  • ✂️ Копирование ячеек. В сформированном отчёте выделите область мышью, нажмите Ctrl+C и вставьте в Excel через Ctrl+V. Удобно для 20-50 строк.
  • 📋 Вывод списка. В любом списке (номенклатура, документы установки цен) выберите Ещё → Вывести список..., отметьте нужные колонки и нажмите «ОК». Получится табличный документ, который сохраняется в xlsx так же, как отчёт. Цен в списке номенклатуры БП 3.0 нет, поэтому способ подходит для выгрузки артикулов и наименований, а не прайса целиком.

Прайс через универсальный отчёт: свои колонки и отборы

Когда в стандартном прайсе не хватает колонок или мешает оформление, выручает «Универсальный отчет ». Он есть в БП 3.0 (раздел Отчеты) и в других конфигурациях на базе Библиотеки стандартных подсистем. Отчёт строится по любому объекту базы, в том числе по регистру цен.

Настройка отчёта по регистру цен

  1. Откройте Отчеты → Универсальный отчет.
  2. Тип объекта — «Регистр сведений », объект — «Цены номенклатуры».
  3. Таблица — «Срез последних». Так в отчёт попадёт только действующая цена на дату, а не вся история изменений.
  4. Нажмите «Настройки» и переключитесь в расширенный вид.
  5. На вкладке «Отборы» добавьте «Тип цен — Равно — Оптовая» (или ваш тип).
  6. На вкладке «Поля и сортировки» оставьте нужные колонки. Через раскрытие поля «Номенклатура» доступны его реквизиты: «Артикул», «Единица измерения», «Номенклатурная группа».
  7. На вкладке «Структура» уберите группировку по номенклатуре и оставьте детальные записи. Отчёт станет плоской таблицей: одна строка — один товар.
  8. Сформируйте отчёт и сохраните его в xlsx.

Готовую настройку сохраните как вариант отчёта: Ещё → Сохранить вариант отчета.... В следующий раз прайс формируется в два клика.

Цены вместе с остатками

Клиенту и маркетплейсу часто нужна не только цена, но и наличие. Регистр цен об остатках не знает. Здесь два варианта:

  • 📊 В УТ 11 у прайс-листа есть настройка вывода остатков по складам — проверьте её в форме отчёта.
  • 🔗 В БП 3.0 проще сформировать два отчёта (цены и «Остатки товаров» или оборотно-сальдовую ведомость по счёту 41) и свести их в Excel функцией ВПР или XLOOKUP по артикулу. Для регулярной выгрузки лучше обработка, о ней ниже.

Шаблон для маркетплейса: поля, формат и порядок колонок

Площадки принимают товары и цены по своему шаблону. Колонки, их порядок и названия у Wildberries, Ozon и Яндекс Маркета разные, и площадки периодически меняют свои шаблоны. Поэтому задача 1С — дать чистую плоскую таблицу, а не готовый файл площадки.

Что нужно от выгрузки из 1С:

  • 1️⃣ Первая строка — заголовки колонок. Без шапки отчёта, параметров и отборов. В настройках вывода универсального отчёта отключите вывод заголовка, параметров и отбора.
  • 🚫 Никаких объединённых ячеек и итогов. Группировки по папкам дают объединения, а строка «Итого» сломает загрузку на площадку. Отключите общие итоги в настройках.
  • 🔤 Артикул как текст. Excel превращает 000123 в 123, а длинный штрихкод — в 4,6E+12.
  • 💰 Цена числом, без разделителя тысяч. Пробел между разрядами (12 500,00) Excel прочтёт как текст.

Сопоставьте поля один раз и зафиксируйте схему для своей площадки:

Сопоставление полей
Номенклатура.Артикул→Артикул продавца
Номенклатура.Наименование→Наименование товара
Цена (тип «Розничная»)→Цена до скидки
Цена (тип «Маркетплейс»)→Цена со скидкой
Остаток на складе→Количество
Штрихкод (УТ 11)→Баркод

Как не переделывать шаблон каждую неделю

Рабочий приём — книга-посредник в Excel с Power Query:

  1. Выгружайте прайс из 1С всегда в один и тот же файл, например D:\Обмен\prais.xlsx.
  2. В книге-шаблоне площадки откройте Данные → Получить данные → Из файла → Из книги Excel и подключите этот файл.
  3. В редакторе Power Query переименуйте колонки под шаблон, задайте типы: артикул — текст, цена — десятичное число.
  4. Выгрузите результат на лист шаблона.

После новой выгрузки из 1С достаточно нажать Данные → Обновить все. Шаблон площадки заполнится сам, без ручного копирования.

Автоматическая выгрузка прайса: обработки, рассылки, макросы

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

СпособКогда подходитЧто нужноРиски
Рассылка отчётовпрайс по расписанию на почту или в папкувариант отчёта, настроенная почтаформат файла задаётся в рассылке, проверьте xlsx
Внешняя обработкасвои колонки, расчёт цен, выгрузка в кнопкупрограммист 1С на 1-2 часаобработку надо проверять после обновлений конфигурации
Макрос VBA или Power Queryдоработка файла после 1Сзнание Excelломается при смене колонок в выгрузке

Рассылка отчётов

В конфигурациях на БСП есть подсистема «Рассылки отчетов». Её включают в Администрирование → Печатные формы, отчеты и обработки. В рассылке выбирают вариант отчёта (например, сохранённый вариант универсального отчёта с ценами), расписание, получателей или сетевую папку и формат вложения. Отправка по почте требует настроенной учётной записи электронной почты в 1С.

Внешняя обработка с записью в xlsx

Ниже пример процедуры для БП 3.0: берёт действующие цены одного типа и пишет плоскую таблицу в xlsx. Цена записывается числом, а не текстом, поэтому в Excel по колонке сразу работают формулы и сортировка.

Процедура ВыгрузитьПрайс(ТипЦен, ИмяФайла) Экспорт

	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Цены.Номенклатура.Артикул КАК Артикул,
	|	Цены.Номенклатура.Наименование КАК Наименование,
	|	Цены.Цена КАК Цена
	|ИЗ
	|	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &ТипЦен) КАК Цены
	|ГДЕ
	|	НЕ Цены.Номенклатура.ПометкаУдаления
	|	И Цены.Цена > 0
	|УПОРЯДОЧИТЬ ПО
	|	Наименование";
	Запрос.УстановитьПараметр("Дата", ТекущаяДатаСеанса());
	Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
	Выборка = Запрос.Выполнить().Выбрать();

	ТабДок = Новый ТабличныйДокумент;
	ТабДок.Область("R1C1").Текст = "Артикул";
	ТабДок.Область("R1C2").Текст = "Наименование";
	ТабДок.Область("R1C3").Текст = "Цена";

	НомерСтроки = 1;
	Пока Выборка.Следующий() Цикл
		НомерСтроки = НомерСтроки + 1;
		Стр = Формат(НомерСтроки, "ЧГ=0");

		ТабДок.Область("R" + Стр + "C1").Текст = Выборка.Артикул;
		ТабДок.Область("R" + Стр + "C2").Текст = Выборка.Наименование;

		ОбластьЦены = ТабДок.Область("R" + Стр + "C3");
		ОбластьЦены.СодержитЗначение = Истина;
		ОбластьЦены.ТипЗначения = Новый ОписаниеТипов("Число");
		ОбластьЦены.Значение = Выборка.Цена;
		ОбластьЦены.Формат = "ЧДЦ=2; ЧГ=0";
	КонецЦикла;

	ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);

КонецПроцедуры

Пара деталей, на которых спотыкаются:

  • 🖥️ Если процедура выполняется на сервере (клиент-серверная база , регламентное задание), файл ляжет на сервер 1С. Путь указывайте сетевой, а у пользователя, от которого работает служба 1С, должны быть права на запись в эту папку.
  • 🧩 В УТ 11 регистр цен устроен иначе: другое имя, есть характеристики и упаковки. Запрос из примера к УТ 11 без переделки не подойдёт.
  • 📥 Подключают обработку через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Так она остаётся в базе и не требует правки конфигурации.

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

Ошибки при открытии прайса в Excel и кракозябры вместо текста

Большая часть проблем возникает не в 1С, а на стыке с Excel: формат файла, кодировка, типы ячеек.

Диагностика: выберите симптом

Ещё один случай — очень большие прайсы. Формат *.xls (Excel 97) вмещает не больше 65 536 строк на листе, а xlsx — 1 048 576. Для каталога на десятки тысяч позиций сохраняйте только в xlsx.

Частые вопросы о выгрузке прайс-листа

Нужен ли установленный Microsoft Excel, чтобы сохранить прайс из 1С в xlsx?
Нет. Платформа 8.3 записывает xlsx сама. Excel нужен только для открытия файла и для обработок, которые управляют Excel через COM-объект.
Можно ли выгрузить прайс с картинками товаров?
Через стандартное сохранение отчёта картинки обычно не переносятся. Для маркетплейсов фото загружают на площадку отдельно или передают ссылками на изображения в отдельной колонке.
Как выгрузить прайс сразу с несколькими типами цен?
В «Прайс-листе» выберите несколько типов цен: каждый станет колонкой. В универсальном отчёте уберите отбор по типу цен и добавьте тип цен в колонки сводной таблицы.
Как дать менеджеру выгружать прайс, но не показывать закупочные цены?
Ограничьте доступ к закупочному типу цен правами пользователя или подготовьте для менеджера сохранённый вариант отчёта с отбором только по продажным типам. Отбор в варианте удобен, но не защищает данные: защиту даёт только настройка прав.
Чем прайс в Excel отличается от загрузки цен на сайт через обмен?
Excel-файл — это снимок цен на момент выгрузки. Обмен с сайтом передаёт изменения автоматически. Если цены меняются чаще раза в неделю, стоит подумать об обмене, а не о ручном файле.