Прайс-лист из 1С в файл Excel: отчёт, универсальный отчёт и выгрузка под маркетплейс
Содержание
Чтобы выгрузить прайс из 1С в Excel, сформируйте отчёт «Прайс-лист» с нужным типом цен, нажмите кнопку сохранения на панели отчёта и выберите тип файла Лист Excel 2007-... (*.xlsx). Excel на компьютере для этого не нужен: платформа 1С:Предприятие 8.3 сама записывает xlsx из любого табличного документа.
Если стандартный прайс не подходит по колонкам (нужен артикул, штрихкод, остаток или плоская таблица под маркетплейс), цены и номенклатуру выгружают через универсальный отчёт или небольшую внешнюю обработку . Ниже — оба пути и разбор того, что ломается при открытии файла в Excel.
Что проверить в номенклатуре и ценах до выгрузки
Прайс выводит то, что лежит в базе. Пустые артикулы, старые цены и помеченные на удаление позиции попадут в файл как есть. Пять минут проверки до выгрузки избавят от правки сотни строк в Excel.
Что посмотреть:
- 🏷️ Тип цен. В БП 3.0 это справочник «Типы цен номенклатуры», в УТ 11 — «Виды цен». Решите заранее, какой тип уходит в прайс: розничный, оптовый, дилерский.
- 📅 Актуальность цен. Цены устанавливает документ «Установка цен номенклатуры». В прайс попадает последняя цена на дату отчёта. Если документ с новыми ценами не проведён, в файле будут старые.
- 🔢 Артикулы. Для маркетплейса артикул — ключ, по которому площадка сопоставляет товар. Отфильтруйте список номенклатуры по пустому артикулу и заполните пропуски.
- 🗑️ Помеченные на удаление и архивные позиции. Их лучше отсечь отбором в отчёте, чем вычищать в Excel.
- 📂 Группы номенклатуры. Прайс обычно группируется по папкам справочника. Если в корне лежат 400 позиций без группы, прайс получится плоским и неудобным для клиента.
- 📏 Единицы измерения. Цена за штуку и цена за упаковку в одном прайсе — частая причина претензий покупателей.
Быстрая проверка пустых артикулов: откройте список номенклатуры, Ещё → Настроить список, на вкладке «Отбор» добавьте условие «Артикул — Не заполнено». Список покажет только позиции без артикула.
Выгрузка прайса из 1С через стандартный отчёт
В типовых конфигурациях есть готовый отчёт или обработка «Прайс-лист». Путь различается по конфигурации, а результат один: табличный документ, который сохраняется в Excel.
| Конфигурация | Где искать прайс | Как называются цены |
|---|---|---|
| Бухгалтерия предприятия 3.0 | раздел Склад, группа команд по ценам, команда «Прайс-лист» | Типы цен номенклатуры |
| Управление торговлей 11 | раздел Маркетинг, группа ценообразования, команда «Прайс-лист» | Виды цен |
Если команды не видно на панели раздела, наберите «прайс» в поиске по интерфейсу в верхней части окна: он найдёт команду в любом разделе.
Шаги для сохранения прайса в xlsx
- Откройте «Прайс-лист».
- Укажите дату, на которую берутся цены. По умолчанию это сегодня.
- Выберите один или несколько типов (видов) цен. Каждый тип станет отдельной колонкой.
- Задайте отбор: группы номенклатуры, склад, «только с ненулевой ценой».
- Нажмите «Сформировать».
- Нажмите кнопку сохранения (значок дискеты) на панели отчёта. Если кнопки нет, используйте главное меню
☰ → Файл → Сохранить как.... - В поле «Тип файла» выберите
Лист Excel 2007-... (*.xlsx), укажите имя и папку.
По умолчанию 1С предлагает формат *.mxl — это собственный формат табличного документа 1С. Excel его не откроет. Тип файла меняйте вручную каждый раз, пока не привыкнете.
Выгрузка без отчёта: копирование и вывод списка
Есть два обходных пути на случай, когда отчёт не нужен:
- ✂️ Копирование ячеек. В сформированном отчёте выделите область мышью, нажмите
Ctrl+Cи вставьте в Excel черезCtrl+V. Удобно для 20-50 строк. - 📋 Вывод списка. В любом списке (номенклатура, документы установки цен) выберите
Ещё → Вывести список..., отметьте нужные колонки и нажмите «ОК». Получится табличный документ, который сохраняется в xlsx так же, как отчёт. Цен в списке номенклатуры БП 3.0 нет, поэтому способ подходит для выгрузки артикулов и наименований, а не прайса целиком.
Прайс через универсальный отчёт: свои колонки и отборы
Когда в стандартном прайсе не хватает колонок или мешает оформление, выручает «Универсальный отчет
». Он есть в БП 3.0 (раздел Отчеты) и в других конфигурациях на базе Библиотеки стандартных подсистем. Отчёт строится по любому объекту базы, в том числе по регистру цен.
Настройка отчёта по регистру цен
- Откройте
Отчеты → Универсальный отчет. - Тип объекта — «Регистр сведений », объект — «Цены номенклатуры».
- Таблица — «Срез последних». Так в отчёт попадёт только действующая цена на дату, а не вся история изменений.
- Нажмите «Настройки» и переключитесь в расширенный вид.
- На вкладке «Отборы» добавьте «Тип цен — Равно — Оптовая» (или ваш тип).
- На вкладке «Поля и сортировки» оставьте нужные колонки. Через раскрытие поля «Номенклатура» доступны его реквизиты: «Артикул», «Единица измерения», «Номенклатурная группа».
- На вкладке «Структура» уберите группировку по номенклатуре и оставьте детальные записи. Отчёт станет плоской таблицей: одна строка — один товар.
- Сформируйте отчёт и сохраните его в xlsx.
Готовую настройку сохраните как вариант отчёта: Ещё → Сохранить вариант отчета.... В следующий раз прайс формируется в два клика.
Цены вместе с остатками
Клиенту и маркетплейсу часто нужна не только цена, но и наличие. Регистр цен об остатках не знает. Здесь два варианта:
- 📊 В УТ 11 у прайс-листа есть настройка вывода остатков по складам — проверьте её в форме отчёта.
- 🔗 В БП 3.0 проще сформировать два отчёта (цены и «Остатки товаров» или оборотно-сальдовую ведомость по счёту 41) и свести их в Excel функцией
ВПРилиXLOOKUPпо артикулу. Для регулярной выгрузки лучше обработка, о ней ниже.
Шаблон для маркетплейса: поля, формат и порядок колонок
Площадки принимают товары и цены по своему шаблону. Колонки, их порядок и названия у Wildberries, Ozon и Яндекс Маркета разные, и площадки периодически меняют свои шаблоны. Поэтому задача 1С — дать чистую плоскую таблицу, а не готовый файл площадки.
Что нужно от выгрузки из 1С:
- 1️⃣ Первая строка — заголовки колонок. Без шапки отчёта, параметров и отборов. В настройках вывода универсального отчёта отключите вывод заголовка, параметров и отбора.
- 🚫 Никаких объединённых ячеек и итогов. Группировки по папкам дают объединения, а строка «Итого» сломает загрузку на площадку. Отключите общие итоги в настройках.
- 🔤 Артикул как текст. Excel превращает
000123в123, а длинный штрихкод — в4,6E+12. - 💰 Цена числом, без разделителя тысяч. Пробел между разрядами (
12 500,00) Excel прочтёт как текст.
Сопоставьте поля один раз и зафиксируйте схему для своей площадки:
Как не переделывать шаблон каждую неделю
Рабочий приём — книга-посредник в Excel с Power Query:
- Выгружайте прайс из 1С всегда в один и тот же файл, например
D:\Обмен\prais.xlsx. - В книге-шаблоне площадки откройте
Данные → Получить данные → Из файла → Из книги Excelи подключите этот файл. - В редакторе Power Query переименуйте колонки под шаблон, задайте типы: артикул — текст, цена — десятичное число.
- Выгрузите результат на лист шаблона.
После новой выгрузки из 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.