Выгрузка номенклатуры из 1С:Предприятие — одна из самых востребованных операций при миграции данных, интеграции с внешними системами или резервном копировании. Без правильно экспортированного справочника товаров невозможно настроить синхронизацию с интернет-магазином, передать данные бухгалтеру или перенести информацию в новую базу. Однако даже опытные пользователи сталкиваются с проблемами: от отсутствия нужных полей в выгрузке до ошибок формата при импорте в другие программы.
В этой статье мы разберём все актуальные способы выгрузки номенклатуры из 1С 8.3 (включая облачные и локальные версии), сравним их плюсы и минусы, а также покажем, как избежать типичных ошибок. Особое внимание уделим выгрузке с сохранением иерархии групп, дополнительных реквизитов и штрихкодов — это критично для дальнейшей работы с данными. Все инструкции актуальны для конфигураций УТ 11, КА 2, ERP 2 и БП 3.0.
1. Выгрузка через стандартный обмен данными (XML, JSON, XLS)
Самый универсальный метод — использование встроенных механизмов обмена. Он подходит для одноразовой выгрузки или регулярной синхронизации с другими системами (например, МойСклад, Bitrix24 или Ozon). Основное преимущество: не требует программирования и работает даже в базовых версиях 1С.
Чтобы выгрузить номенклатуру:
- 📁 Откройте раздел
Администрирование → Обмен данными → Настройка обмена. - ⚙️ Выберите формат выгрузки:
XML(для интеграций),XLS/XLSX(для ручной обработки) илиJSON(для веб-сервисов). - 🔍 В настройках укажите, какие данные включать: только номенклатуру, цены, остатки или дополнительные реквизиты.
- 💾 Запустите выгрузку через
Выполнить обмени сохраните файл в удобное место.
Важно: при выгрузке в XML проверьте кодировку файла — некоторые системы (например, Wildberries) требуют UTF-8 без BOM. Если в файле появляются "кракозябры", откройте его в Notepad++ и пересохраните с правильной кодировкой.
| Формат | Плюсы | Минусы | Когда использовать |
|---|---|---|---|
XML |
Сохраняет иерархию групп, поддерживает все реквизиты | Сложно редактировать вручную, большой размер файла | Интеграция с другими 1С или корпоративными системами |
XLS/XLSX |
Удобно просматривать и править, поддерживается всеми табличными редакторами | Ограничение на 1 млн строк, может терять иерархию | Ручной анализ, передача партнёрам |
JSON |
Легковесный, подходит для API | Не все конфигурации 1С поддерживают нативно | Обмен с веб-сервисами (например, маркетплейсами) |
⚠️ Внимание: При выгрузке вExcelчерез стандартный обмен 1С может "обрезать" длинные артикулы или наименования. Если это критично, используйтеXMLили настройте выгрузку через Консоль запросов (см. раздел 3).
2. Выгрузка через отчёты и обработки (универсальный метод)
Если стандартный обмен не подходит (например, нужно выгрузить только определённые группы товаров или добавить кастомные поля), используйте отчёты или внешние обработки. Этот способ гибче, но требует минимальных знаний 1С:Предприятие.
Самые популярные инструменты:
- 📊 Отчёт "Ведомость по номенклатуре": позволяет выгрузить данные в
Excelс фильтрацией по группам, складам или периодам. Путь:Отчёты → Товары → Ведомость по номенклатуре. - 🔧 Обработка "Выгрузка данных в Excel": входит в стандартную поставку многих конфигураций. Даёт больше настроек, чем отчёт (например, выбор колонок).
- 🛠️ Внешние обработки: например, "Универсальный обмен данными" или "Выгрузка в Excel с картинками" (доступны на Инфостарте).
Пример настройки выгрузки через отчёт:
- Откройте
Ведомость по номенклатуре. - В настройках отчёта добавьте нужные поля:
Артикул,Штрихкод,Поставщик,Цена закупки. - Установите фильтр по группе товаров (если нужно выгрузить не всё).
- Нажмите
Сформировать, затемВыгрузить в Excel.
Убедиться, что в отчёте выбраны все нужные колонки|
Проверить фильтры (даты, группы, склады)|
Отключить группировку, если она не нужна|
Сохранить шаблон настроек для повторного использования-->
⚠️ Внимание: Если в номенклатуре есть дополнительные реквизиты (например, "Страна производства" или "Вес"), их нужно явным образом добавить в настройки отчёта. В противном случае они не попадут в выгрузку.
3. Выгрузка через консоль запросов (для опытных пользователей)
Это самый мощный способ, который позволяет выгрузить любые данные в любом формате, включая связки с другими справочниками (например, цены, остатки, характеристики). Требует знания языка запросов 1С или готового скрипта.
Пример запроса для выгрузки номенклатуры с ценами и остатками:
ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка,
Номенклатура.Артикул КАК Артикул,
Номенклатура.Наименование КАК Наименование,
Номенклатура.Штрихкоды КАК Штрихкоды,
Номенклатура.Группа КАК Группа,
ЦеныНоменклатуры.Цена КАК Цена,
РегистрыНакопления.ОстаткиТоваров.КоличествоОстаток КАК Остаток
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО Номенклатура.Ссылка = ЦеныНоменклатуры.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров КАК РегистрыНакопления.ОстаткиТоваров
ПО Номенклатура.Ссылка = РегистрыНакопления.ОстаткиТоваров.Номенклатура
ГДЕ
НЕ Номенклатура.ПометкаУдаления
И Номенклатура.ЭтоГруппа = ЛОЖЬ
Чтобы выполнить запрос:
- Откройте
Все функции → Консоль запросов(или установите обработку "Консоль запросов" с Инфостарта). - Вставьте запрос и нажмите
Выполнить. - Экспортируйте результат в
ExcelилиCSVчерез кнопкуСохранить как....
Если нужно выгрузить иерархию групп, добавьте в запрос рекурсивный обход справочника или используйте временную таблицу для хранения пути группы. Пример рекурсивного запроса можно найти в документации 1С по работе со справочниками.
4. Автоматическая выгрузка через расширения и внешние обработки
Для регулярной выгрузки (например, ежедневной синхронизации с маркетплейсом) удобно использовать расширения конфигурации или внешние обработки. Они позволяют настроить выгрузку по расписанию, добавить дополнительную логику (например, преобразование данных) и интегрироваться с API.
Популярные решения:
- 🔄 "Обмен с сайтом (CommerceML)": стандартное расширение для УТ 11 и ERP 2, поддерживает выгрузку в формате
CommerceML(для 1С-Битрикс, CS-Cart). - 🌐 "Интеграция с маркетплейсами": обработки для выгрузки на Ozon, Wildberries, Яндекс Маркет (например, "Выгрузка для WB" от Клеверенс).
- ⏰ "Планировщик задач": позволяет настроить автоматическую выгрузку по расписанию (например, каждый день в 3:00).
Пример настройки автоматической выгрузки через CommerceML:
- Установите расширение
Обмен с сайтом(если его нет в конфигурации). - В настройках укажите каталог для выгрузки файлов (например,
\\server\1C_Exchange\). - Настройте правила выгрузки: выберите типы цен, склады, группы номенклатуры.
- Запустите первоначальную выгрузку вручную, затем настройте расписание.
| Решение | Стоимость | Поддерживаемые форматы | Автоматизация |
|---|---|---|---|
| CommerceML | Бесплатно (входит в УТ 11) | XML (CommerceML 2.0) | Да (по расписанию) |
| Клеверенс: Выгрузка для WB | От 5 000 ₽ | CSV, JSON (для API WB) | Да |
| 1С-Битрикс: Модуль обмена | От 10 000 ₽ | XML, JSON | Да |
⚠️ Внимание: При настройке автоматической выгрузки проверьте, чтобы в правилах обмена были указаны все необходимые реквизиты. Например, для Ozon обязательны поляБренд,ВесиГабариты, иначе товары не пройдут модерацию.
5. Выгрузка через API (для облачных версий 1С)
Если вы используете 1С:Fresh или другие облачные решения, у вас есть доступ к REST API. Это позволяет выгружать данные программно, без ручного экспорта. Метод подходит для разработчиков или компаний с IT-отделом.
Основные этапы:
- Получите
client_idиclient_secretв личном кабинете 1С:Fresh. - Авторизуйтесь через
OAuth 2.0и получите токен доступа. - Отправьте
GET-запрос к эндпоинту номенклатуры, например:GET https://api.1cfresh.com/v2/nomensHeaders:
Authorization: Bearer {ваш_токен}
Accept: application/json
- Обработайте ответ (данные придут в формате
JSON).
Пример ответа API:
{
"rows": [
{
"id": "a1b2c3d4-5678-90ef-ghij-klmnopqrstuv",
"name": "Смартфон X-Treme 5000",
"article": "XT5000BL",
"barcodes": ["2000000123456", "2000000123457"],
"group": {
"id": "group123",
"name": "Смартфоны"
},
"prices": [
{
"type": "Розничная",
"value": 29990.00
}
]
}
]
}
Как получить токен для API 1С
Fresh?:
1. Перейдите в личный кабинет 1С:Fresh → "Настройки интеграции".
2. Создайте новое приложение с правами доступа к справочникам.
3. Скопируйте client_id и client_secret.
4. Отправьте POST-запрос на https://oauth.1cfresh.com/token с параметрами:
- grant_type: client_credentials
- client_id: ваш_id
- client_secret: ваш_secret
5. В ответе получите access_token (действует 1 час).
⚠️ Внимание: При работе с API учитывайте лимиты запросов. В бесплатном тарифе 1С:Fresh обычно разрешается до 1000 запросов в час. Превышение лимита приведёт к блокировке на 1 минуту.
6. Выгрузка с сохранением иерархии и дополнительных данных
Частая проблема при выгрузке — потеря структуры групп или отсутствие связей между товарами (например, комплекты, аналоги, модификации). Чтобы этого избежать, используйте один из следующих подходов:
Способ 1: CommerceML с родительскими ссылками
Формат CommerceML поддерживает иерархию через теги <Группа> и <Родитель>. Пример фрагмента XML:
<Каталог>
<Группы>
<Группа>
<Ид>group1</Ид>
<Наименование>Электроника</Наименование>
</Группа>
<Группа>
<Ид>group2</Ид>
<Наименование>Смартфоны</Наименование>
<Родитель>group1</Родитель>
</Группа>
</Группы>
<Товары>
<Товар>
<Ид>item1</Ид>
<Наименование>Смартфон X-Treme 5000</Наименование>
<Группы><Ид>group2</Ид></Группы>
</Товар>
</Товары>
</Каталог>
Способ 2: Запрос с рекурсией
Если выгружаете через Консоль запросов, используйте временные таблицы для хранения пути группы. Пример:
ВЫБРАТЬ
Номенклатура.Ссылка КАК Ссылка,
Номенклатура.Наименование КАК Наименование,
ВЫРАЗИТЬ(СТРОКА_СОЕДИНЕНИЯ(ГруппаПуть.Наименование, "/") КАК СТРОКА) КАК ПутьГруппы
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ (
ВЫБРАТЬ
НоменклатураГруппы.Ссылка КАК Ссылка,
ВЫРАЗИТЬ(РЕКУРСИЯ МАКСИМУМ(ЕСТЬNULL(ГруппаПуть.Уровень, 0) + 1)
ПО ГДЕ НоменклатураГруппы.Родитель = ГруппаПуть.Ссылка) КАК Уровень,
НоменклатураГруппы.Наименование КАК Наименование
ИЗ
Справочник.Номенклатура КАК НоменклатураГруппы
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ГруппаПуть
ПО НоменклатураГруппы.Родитель = ГруппаПуть.Ссылка
ГДЕ
НоменклатураГруппы.ЭтоГруппа = ИСТИНА
) КАК ГруппаПуть ПО Номенклатура.Группа = ГруппаПуть.Ссылка
ГДЕ
НЕ Номенклатура.ПометкаУдаления
И Номенклатура.ЭтоГруппа = ЛОЖЬ
Для сохранения иерархии в Excel добавьте в выгрузку колонку с полным путём группы (например, "Электроника/Sмартфоны/Apple"). Это поможет восстановить структуру при импорте в другую систему.
Типичные ошибки и как их избежать
Даже при правильной настройке выгрузки пользователи сталкиваются с проблемами. Вот самые распространённые и способы их решения:
- 🚫 "Файл пустой или содержит не все товары":
Причина: не снят фильтр по группе или складу. Решение: проверьте настройки обмена или отчёта — возможно, установлен фильтр "Только активные" или выбрана конкретная группа.
- 🔤 "Кракозябры вместо кириллицы":
Причина: неверная кодировка файла. Решение: при сохранении выберите
UTF-8(дляXML/JSON) илиWindows-1251(дляExcelв старых системах). - 🔢 "Не выгружаются штрихкоды или дополнительные реквизиты":
Причина: эти поля не включены в настройки обмена. Решение: отредактируйте правила выгрузки или используйте Консоль запросов с явным указанием полей.
- 📂 "Иерархия групп потеряна":
Причина: формат выгрузки не поддерживает родительские связи. Решение: используйте
CommerceMLили добавьте колонку с путём группы вExcel. - ⏳ "Выгрузка занимает слишком много времени":
Причина: большой объём данных или неоптимизированный запрос. Решение: выгружайте данные порциями (по группам) или используйте
Планировщик задачдля фоновой выгрузки.
⚠️ Внимание: Если выгружаете данные для маркетплейсов, проверьте требования к формату. Например, Wildberries требует, чтобы артикулы были уникальными в пределах всего каталога, а Ozon — чтобы вес был указан в килограммах с точностью до 3 знаков.
FAQ: Ответы на частые вопросы
Можно ли выгрузить номенклатуру с картинками?
Да, но стандартными средствами 1С это сделать сложно. Используйте внешние обработки, например:
- "Выгрузка номенклатуры с картинками в Excel" (доступна на Инфостарте).
- "CommerceML + изображения" (для обмена с сайтами).
Картинки выгружаются в отдельную папку, а в файле данных указываются ссылки на них.
Как выгрузить только изменённые товары?
Для этого настройте планировщик обмена с фильтром по дате изменения. В правилах обмена укажите параметр ТолькоModified или добавьте в запрос условие:
ГДЕ Номенклатура.ДатаИзменения >= &ДатаНачала
где &ДатаНачала — дата последней выгрузки.
Что делать, если выгрузка прерывается из-за большого объёма данных?
Разбейте выгрузку на части:
- Выгружайте по группам (например, сначала "Электроника", затем "Одежда").
- Используйте
Пакетный режимв настройках обмена. - Для
Excelвыгружайте данные в несколько файлов (не более 500 000 строк на файл).
Также проверьте настройки сервера 1С — возможно, нужно увеличить лимит памяти для фоновых задач.
Как выгрузить номенклатуру с остатками и ценами?
Используйте один из способов:
- В Консоли запросов сделайте запрос с присоединением регистров
ОстаткиТоваровиЦеныНоменклатуры(пример есть в разделе 3). - В настройках CommerceML отметьте галочки "Выгружать остатки" и "Выгружать цены".
- В отчёте
Ведомость по номенклатуредобавьте колонкиОстатокиЦена.
Учтите, что остатки выгружаются на определённую дату — укажите её в настройках.
Можно ли выгрузить номенклатуру из 1С в Google Sheets?
Да, для этого:
- Выгрузите данные в
CSVилиExcel. - Откройте Google Sheets и выберите
Файл → Импорт → Загрузить. - Для автоматической синхронизации используйте Apps Script с подключением к API 1С (если у вас облачная версия).
Также есть готовые решения, например, "1С + Google Sheets Connector" от Р7-Офис.