Прайс-лист из 1С наружу: Excel, XML, CSV, YML и выгрузка по расписанию

· 10 мин

Содержание

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

Ниже порядок для 1С:Бухгалтерии 3.0 и 1С:Управления торговлей 11 на платформе 8.3 с интерфейсом «Такси». Механизмы выгрузки общие для типовых конфигураций, различаются в основном названия справочников цен и разделы меню.

Подготовка цен перед выгрузкой прайса из 1С

Прайс-лист выводит не «цену товара вообще», а цену определённого типа на конкретную дату. Если цены не заведены, выгрузка будет пустой, какой бы формат вы ни выбрали.

Что проверить до выгрузки:

  • 🏷️ Тип или вид цены. В БП 3.0 это справочник «Типы цен номенклатуры», в УТ 11 — «Виды цен». Заведите отдельные позиции под каждый прайс: «Розничная», «Оптовая», «Дилерская».
  • 📅 Документ «Установка цен номенклатуры». Именно он записывает цены с датой. Цена действует с даты документа до следующей установки.
  • 💱 Валюта и НДС. В карточке типа цен указывают валюту и признак «Цена включает НДС». Клиенту обычно нужен прайс с НДС, поэтому проверьте флажок до выгрузки.
  • 📦 Единицы измерения. Прайс показывает цену за базовую единицу. Если продаёте упаковками, это видно в выгрузке сразу.

Где лежат справочники цен:

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

Типы цен в УТ 11 можно рассчитывать от других по формуле: например, «Оптовая» = «Закупочная» × 1,25. Тогда при выгрузке достаточно обновить закупочные цены, а остальные пересчитаются документом установки цен.

Быстрая проверка: откройте карточку любого товара из будущего прайса. Если в ней нет цены нужного типа, сначала проведите документ «Установка цен номенклатуры» и только потом выгружайте.

Ручная выгрузка прайс-листа через отчёт

Это самый частый сценарий: бухгалтер или менеджер раз в неделю отправляет клиентам файл. Отчёт строится за пару секунд и сохраняется в любой табличный формат.

Бухгалтерия 3.0

  1. Откройте раздел Склад и найдите отчёт «Прайс-лист» в группе отчётов по ценам.
  2. В шапке укажите дату, на которую нужны цены. По умолчанию стоит сегодняшняя.
  3. Отметьте один или несколько типов цен. Каждый тип выйдет отдельной колонкой.
  4. Через кнопку Настройки задайте отбор: по группе номенклатуры, по складу, только товары с остатком.
  5. Нажмите Сформировать.
  6. Нажмите кнопку с дискетой (Сохранить) или Ctrl+S, выберите тип файла и папку.

Управление торговлей 11

  1. Откройте CRM и маркетинг → Цены (прайс-лист).
  2. Выберите виды цен, дату и отбор по номенклатуре или ценовым группам.
  3. Сформируйте прайс и сохраните результат тем же способом, через Сохранить.

В УТ 11 эта же форма позволяет менять цены прямо в таблице. Удобно, но рискованно: перед отправкой клиенту убедитесь, что не сохранили случайную правку.

Отбор «только с остатком» берёт остатки на дату отчёта. Если на складе ещё не проведены приходы за сегодня, часть товаров из прайса выпадет.

Как оформить прайс для клиента

  • 🖼️ Логотип и реквизиты добавляют в настройках варианта отчёта или уже в Excel после сохранения.
  • 🔤 Сортировку по наименованию или артикулу задают на вкладке сортировки настроек.
  • 💾 Готовую настройку сохраните как вариант отчёта: Ещё → Сохранить вариант отчёта. В следующий раз прайс соберётся в один клик.

Форматы файлов: Excel, CSV, XML, YML и DBF

Формат выбирают по тому, кто примет файл: человек, сайт, маркетплейс или старая программа. Ниже сводка, потом разбор каждого.

ФорматКому нуженКак получить из 1С
XLSX / XLSКлиенты, менеджерыСохранить отчёт «Прайс-лист»
PDFКлиенты, когда правки не нужныСохранить отчёт, тип PDF
CSVИмпорт в CMS, CRM, таблицыЧерез Excel или обработкой
XML (CommerceML)Интернет-магазин«Обмен с сайтами»
XML (формат обмена 1С)Другая база 1СУниверсальный обмен данными
YMLЯндекс Маркет, агрегаторыКонвертация на стороне сайта или обработка
DBFКассовое ПО, старые системыОбработка на объекте XBase

Excel и PDF

Табличный документ сохраняется напрямую в .xlsx, .xls, .ods, .pdf, .html, .txt и во внутренний формат 1С .mxl. Для отправки клиенту берите .xlsx: его открывают и Excel, и бесплатные офисные пакеты.

CSV

Прямого пункта «CSV» в окне сохранения отчёта нет. Два рабочих способа:

  1. Сохраните прайс в .xlsx, откройте в Excel и выберите «Сохранить как → CSV (разделители — запятые)». В русской локали Excel поставит разделитель ;.
  2. Выгрузите CSV обработкой. Так получается чистый файл без шапки отчёта, итогов и объединённых ячеек, что нужно для импорта в CMS.

Пример внешней обработки для БП 3.0. Запрос берёт срез последних цен выбранного типа и пишет файл с разделителем «точка с запятой»:

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

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

    Запись = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.UTF8);
    Запись.ЗаписатьСтроку("Артикул;Наименование;Цена");

    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        Наименование = СтрЗаменить(Выборка.Наименование, ";", ",");
        Запись.ЗаписатьСтроку(СтрШаблон("%1;%2;%3",
            Выборка.Артикул,
            Наименование,
            Формат(Выборка.Цена, "ЧДЦ=2; ЧРД=,; ЧГ=0")));
    КонецЦикла;

    Запись.Закрыть();

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

Формат ЧРД=,; ЧГ=0 даёт цену вида 1250,00 без пробелов между разрядами. Такое число русский Excel сразу распознаёт как число, а не как текст. Для импорта в CMS, где ждут точку, замените ЧРД=, на ЧРД=..

КодировкаТекста.UTF8 пишет файл с меткой BOM. Excel по ней правильно показывает кириллицу. Если принимающая система ругается на первые байты файла, уточните у её разработчика, нужен ли UTF-8 без BOM.

XML для сайта (CommerceML)

Типовые БП 3.0 и УТ 11 обмениваются с интернет-магазином в формате CommerceML. Товары уходят файлом import.xml, цены и остатки — файлом offers.xml. Его поддерживают популярные CMS и модули для них. Настройка описана в следующем разделе.

YML для Яндекс Маркета

Формат YML типовые БП и УТ сами не формируют. Обычно делают так:

  • 🌐 магазин получает цены из 1С по CommerceML, а YML-фид генерирует уже CMS;
  • 🧩 выгружают YML внешней обработкой: это обычный XML с узлами shop, categories, offers, его пишут объектом ЗаписьXML;
  • 🛒 для маркетплейсов используют сервисы и модули интеграции, которые сами берут цены из 1С.

DBF

DBF до сих пор просят кассовые программы и старые складские системы. В 1С его пишет встроенный объект XBase: создаёте поля, файл и построчно добавляете записи. Помните ограничения формата: имя поля до 10 символов, строковое поле до 254 символов, кодировку (OEM или ANSI) выбирают под принимающую программу.

Обмен с сайтом: цены в XML без ручной работы

Если прайс нужен интернет-магазину, файл вручную отправлять не нужно. Сайт получает цены напрямую.

  1. Включите синхронизацию: раздел Администрирование, группа настроек синхронизации данных, флажок синхронизации.
  2. Откройте «Обмен с сайтами» и создайте новый узел обмена.
  3. Укажите адрес обработчика на сайте, логин и пароль. Их выдаёт модуль обмена на стороне CMS.
  4. На вкладке выгрузки выберите группы номенклатуры и типы (виды) цен, которые увидят покупатели.
  5. Отметьте выгрузку остатков, если сайт показывает наличие.
  6. Запустите обмен вручную и проверьте результат на сайте.

Вместо адреса сайта можно указать каталог на диске. Тогда 1С положит import.xml и offers.xml в папку. Так удобно отлаживать: файлы видно глазами до того, как их получит магазин.

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

Универсальный обмен данными: прайс в другую базу 1С

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

Как это устроено:

  • 📜 Правила обмена описывают, какие объекты и поля переносить. Их создают в конфигурации «Конвертация данных » или берут готовые под пару конфигураций.
  • 📤 Выгрузка. В базе-источнике обработка по правилам формирует XML-файл.
  • 📥 Загрузка. В базе-приёмнике та же обработка читает файл и создаёт или обновляет объекты.

Порядок работы:

  1. Откройте обработку через Файл → Открыть (файл .epf) или из дополнительных обработок.
  2. На вкладке выгрузки загрузите файл правил обмена.
  3. Отметьте правила для типов цен и документа «Установка цен номенклатуры», задайте период.
  4. Укажите имя XML-файла и нажмите Выгрузить данные.
  5. В приёмнике откройте ту же обработку, вкладка загрузки, выберите файл и нажмите Загрузить данные.

Перед первой загрузкой в рабочую базу сделайте её резервную копию. Неудачные правила могут создать дубли номенклатуры, и разбирать их вручную долго.

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

Выгрузка прайса по расписанию

Ручная выгрузка раз в неделю отнимает время и забывается. Типовые конфигурации на БСП умеют делать это сами.

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

Самый простой способ без программирования:

  1. Откройте Администрирование → Печатные формы, отчеты и обработки и включите рассылку отчётов.
  2. Создайте рассылку, добавьте сохранённый вариант отчёта «Прайс-лист».
  3. Выберите формат вложения, например .xlsx.
  4. Укажите способ доставки: электронная почта получателям, сетевая папка или FTP.
  5. Включите расписание: например, каждый понедельник в 7:00.

Папка или FTP удобны, когда прайс забирает сайт партнёра или общая папка отдела продаж. Файл каждый раз перезаписывается свежим.

Обмен с сайтом и обработки по расписанию

  • 🔁 Узел «Обмена с сайтами» имеет собственное расписание: цены на сайте обновятся, например, каждый час.
  • ⚙️ Внешнюю обработку (CSV, YML, DBF) регистрируют как дополнительную обработку. Если её команда вызывает серверный метод, в карточке дополнительной обработки ей можно задать расписание.

В файловой базе регламентные задания выполняет запущенный клиентский сеанс. Если в нужное время 1С ни у кого не открыта, рассылка не уйдёт. В клиент-серверном варианте задания выполняет сервер 1С сам.

Перед включением автовыгрузки
Выполнено: 0 / 6

Ошибки при экспорте прайс-листа и как их исправить

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

Ещё две частые проблемы:

  • 🧾 В прайсе нет новых товаров. Отбор отчёта сохранён по старой группе номенклатуры. Новые позиции завели в другой группе и они не попали в вариант.
  • 💸 Цена в прайсе отличается от цены в документе продажи. Документ берёт тип цен из договора с покупателем или из соглашения в УТ. Сравните тип цен в прайсе и в договоре.

Частые вопросы

Можно ли выгрузить прайс с картинками товаров?
Отчёт «Прайс-лист» в типовых БП и УТ картинки не выводит. Изображения передаются на сайт через «Обмен с сайтами», а прайс с фото для клиента собирают внешней обработкой или в самом сайте.
Как сделать разный прайс для разных клиентов?
Заведите отдельный тип цен под каждую категорию клиентов, сохраните по варианту отчёта на каждый тип и настройте отдельную рассылку на каждую группу получателей.
Можно ли выгрузить прайс на прошлую дату?
Да. Укажите в шапке отчёта нужную дату: 1С покажет цены, которые действовали тогда, по документам установки цен.
Чем прайс-лист отличается от выгрузки номенклатуры?
Выгрузка номенклатуры переносит справочник товаров с реквизитами. Прайс-лист — это цены выбранного типа на дату, иногда с остатками. Для сайта нужно и то и другое, поэтому CommerceML передаёт их разными файлами.
Можно ли загрузить прайс поставщика в 1С обратно?
Да, это отдельная операция загрузки из Excel. В типовых конфигурациях на БСП её запускают из списка номенклатуры или документа установки цен командой загрузки из файла, сопоставляя колонки.