Сохранение номенклатуры из 1С:Предприятие — рутинная, но критически важная задача для бухгалтеров, логистов и разработчиков. Без корректного экспорта данных невозможно вести учёт на складе, формировать прайс-листы для клиентов или интегрировать систему с внешними сервисами. Проблема в том, что стандартные инструменты 1С не всегда предлагают удобные форматы выгрузки, а ошибки при экспорте могут привести к потере связей между товарами, группами и остатками.
В этой статье разберём 5 способов сохранения номенклатуры — от простого копирования в Excel до автоматизированной выгрузки через COM-соединение и REST API. Особое внимание уделим нюансам: как сохранить иерархию групп, не потерять штрихкоды, выгрузить только актуальные позиции (без архивных) и избежать дублирования данных. Все инструкции адаптированы для последних версий платформы 1С:Предприятие 8.3 (включая облачные решения).
Если вам нужно перенести номенклатуру в другую базу, синхронизировать её с сайтом или просто сделать резервную копию — здесь найдёте рабочие решения с пошаговыми скриншотами и примерами кода.
1. Экспорт номенклатуры в Excel через стандартные отчёты
Самый быстрый способ — использовать встроенные отчёты 1С. Он подходит для одноразовой выгрузки небольшого справочника (до 10 000 позиций) и не требует навыков программирования.
Инструкция:
- 📊 Откройте раздел
Справочники → Номенклатура. - 🔍 Нажмите
Ещё → Все действия → Отчёт по справочнику(илиПечать → Список номенклатурыв зависимости от конфигурации). - 📑 В открывшемся отчёте нажмите
Ещё → Вывести список → Excel. - ⚙️ Настройте колонки: оставьте только нужные поля (например,
Артикул,Наименование,Группа,Штрихкод).
Преимущества метода:
- ✅ Не требует прав администратора.
- ✅ Сохраняет иерархию групп (если включить колонку
Путь группы). - ✅ Подходит для конфигураций 1С:УТ, 1С:Бухгалтерия, 1С:ERP.
⚠️ Внимание: В облачных версиях 1С (например, 1С:Фреш) экспорт в Excel может быть ограничен 5 000 строками. Для больших справочников используйтеВыгрузка данныхв форматеXML.
Убедитесь, что в отчёте отображаются все нужные колонки|
Отфильтруйте архивные позиции (если не нужны)|
Проверьте кодировку файла (должна быть UTF-8)|
Сохраните файл с расширением .xlsx, а не .xls
-->
2. Выгрузка номенклатуры в XML через «Универсальный обмен данными»
Формат XML подходит для обмена данными между базами 1С или интеграции с внешними системами (например, Bitrix24, МойСклад). В отличие от Excel, он сохраняет все связи между объектами (группы, свойства, штрихкоды).
Как выгрузить:
- Перейдите в
Администрирование → Обмен данными → Универсальный обмен данными. - Создайте новый обмен, выберите формат
XMLи укажите путь для сохранения файла. - В настройках обмена отметьте галочкой только справочник
Номенклатура. - Запустите выгрузку кнопкой
Выполнить обмен.
Пример структуры полученного XML-файла:
<КоммерческаяИнформация>
<Каталог>
<Ид>123e4567-e89b-12d3-a456-426614174000</Ид>
<Наименование>Обувь</Наименование>
<Товары>
<Товар>
<Ид>987654</Ид>
<Артикул>OB-001</Артикул>
<Наименование>Кроссовки беговые</Наименование>
<Штрихкод>4607001234567</Штрихкод>
</Товар>
</Товары>
</Каталог>
</КоммерческаяИнформация>
⚠️ Внимание: Если в номенклатуре используются дополнительные реквизиты (например,Цвет,Размер), их нужно явным образом включить в шаблон обмена. Иначе они не попадут вXML.
| Формат | Плюсы | Минусы | Когда использовать |
|---|---|---|---|
| Excel | Простота, визуальное редактирование | Ограничение по строкам, нет связей между объектами | Ручной анализ, прайс-листы |
| XML | Сохраняет иерархию, подходит для обмена | Сложно редактировать вручную | Интеграция с другими системами |
| JSON | Лёгкий вес, удобен для веб-сервисов | Не все конфигурации поддерживают | API, мобильные приложения |
Excel|
XML|
JSON|
Текстовый файл (CSV/TXT)
-->
3. Автоматическая выгрузка через COM-соединение (для разработчиков)
Если нужно регулярно обновлять номенклатуру на сайте или в другой программе, подключитесь к базе 1С через COM-объект. Этот метод требует знаний 1С:Предприятие и VBScript/PowerShell, но даёт полный контроль над данными.
Пример скрипта на PowerShell для выгрузки номенклатуры в CSV:
$1C = New-Object -ComObject V83.ComConnector
$Connection = $1C.Connect("File=C:\Bases\Trade;Usr=Администратор;Pwd=12345")
$Query = $Connection.NewObject("Запрос")
$Query.Text = "
|ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Штрихкоды КАК Штрихкоды
|ИЗ
| Справочник.Номенклатура КАК Номенклатура"
$Result = $Query.Execute().Select()
$Result | Export-Csv -Path "C:\Export\nomenklatura.csv" -Encoding UTF8 -Delimiter ";"
Ключевые моменты:
- 🔑 Для подключения нужен пользователь с правами на чтение справочника
Номенклатура. - 📌 В запросе можно добавить фильтрацию по группе, архивным позициям или дате изменения.
- 🔄 Для автоматического запуска используйте Планировщик заданий Windows.
Если скрипт выдаёт ошибку "Не удалось создать объект COM", проверьте, установлена ли платформа 1С:Предприятие на компьютере и зарегистрированы ли COM-объекты (команда regsvr32 v83comcn.dll).
4. Выгрузка через REST API (для 1С:Fresh и облачных версий)
Облачные версии 1С (например, 1С:Фреш) не поддерживают COM-соединение, но предоставляют REST API. Это позволяет выгружать номенклатуру по HTTP-запросам, например, для синхронизации с интернет-магазином.
Пример запроса для получения номенклатуры:
GET https://api.1cfresh.com/{account_id}/hs/exchange/nomenclature
Headers:
Authorization: Bearer {your_token}
Accept: application/json
Ответ будет в формате JSON:
{
"rows": [
{
"ref": "a1b2c3d4-5678-90ef-ghij-klmnopqrstuv",
"name": "Стул офисный",
"article": "ST-001",
"barcodes": ["4607001234567", "2000001234569"]
}
]
}
Особенности работы с API:
- 🔐 Токен доступа генерируется в личном кабинете 1С:Фреш (раздел
Настройки → Интеграции). - 📦 Для больших справочников используйте пагинацию (параметры
limitиoffset). - 🔄 Данные обновляются в реальном времени (в отличие от выгрузки в
XML).
⚠️ Внимание: В бесплатном тарифе 1С:Фреш количество запросов к API ограничено 1 000 в месяц. Для регулярной синхронизации потребуется платный тариф.
5. Сохранение номенклатуры через внешние обработки
Если стандартные инструменты 1С не подходят, используйте внешние обработки. Их можно скачать с портала 1С:ИТС или написать самостоятельно. Популярные решения:
- 📄 "Выгрузка номенклатуры в Excel с картинками" — сохраняет не только данные, но и изображения товаров.
- 🔄 "Обмен с МойСклад" — автоматически синхронизирует номенклатуру с сервисом МойСклад.
- 📊 "Анализ номенклатуры" — выгружает данные с расчётом ABC/XYZ-анализа.
Как подключить обработку:
- Скачайте файл с расширением
.epf. - В 1С откройте
Файл → Открыть → Выбрать файл обработки. - Следуйте инструкциям на экране (обычно нужно указать путь для сохранения и настройки выгрузки).
Важно: Перед использованием сторонних обработок проверьте их на тестовой базе — некоторые могут содержать вредоносный код или конфликтовать с вашей конфигурацией.
6. Резервное копирование номенклатуры через выгрузку/загрузку данных (DT)
Если нужно не просто сохранить список товаров, а сделать полную резервную копию справочника (включая историю изменений), используйте формат DT (Data Transfer). Этот метод подходит для переноса номенклатуры между базами или восстановления после сбоев.
Пошаговая инструкция:
- Перейдите в
Администрирование → Выгрузка/загрузка данных. - Выберите
Создать файл выгрузкии укажите путь (например,C:\Backup\nomenklatura.dt). - В дереве объектов отметьте только
Справочники → Номенклатура. - Нажмите
Выгрузитьи дождитесь завершения.
Чтобы восстановить данные из DT:
- Выберите
Загрузить данные из файла. - Укажите файл
.dtи настройте правила загрузки (например,Добавлять новыеилиОбновлять существующие).
Что делать, если при загрузке DT возникает ошибка "Объект не найден"?
Ошибка означает, что в целевой базе отсутствует справочник или его структура отличается. Решения:
1. Сначала загрузите группы номенклатуры (они должны существовать до загрузки товаров).
2. Проверьте соответствие версий конфигураций (например, нельзя загрузить DT из 1С:УТ 11.4 в 1С:УТ 10.3).
3. Используйте обработку "Сравнение и объединение данных" для поэтапной загрузки.
Частые ошибки и как их избежать
При сохранении номенклатуры пользователи сталкиваются с типичными проблемами. Вот как их решить:
| Ошибка | Причина | Решение |
|---|---|---|
В Excel вместо кириллицы отображаются ???? |
Неверная кодировка файла | Сохраняйте файл в UTF-8 или используйте CSV с разделителем ; |
В XML не выгружаются штрихкоды |
Штрихкоды не включены в шаблон обмена | Отредактируйте шаблон в Универсальном обмене данными |
При загрузке DT пропадают связи с группами |
Группы не были выгружены или загружены раньше товаров | Сначала загрузите справочник Группы номенклатуры |
Ещё несколько советов:
- 🔍 Перед массовой выгрузкой протестируйте процесс на копии базы — это поможет избежать потери данных.
- 📅 Если номенклатура обновляется часто, настройте автоматический экспорт по расписанию (например, раз в сутки).
- 🔒 Ограничьте права на выгрузку данных — это защитит от утечки информации.
Для регулярного обмена данными лучший выбор — REST API (для облачных версий) или COM-соединение (для локальных баз). Однократную выгрузку удобнее делать через Excel или XML.
FAQ: Ответы на частые вопросы
Можно ли выгрузить номенклатуру вместе с остатками на складах?
Да, но для этого нужно использовать отчёт «Ведомость по товарам» (раздел Отчёты → Склад) или написать специальный запрос в COM-соединении, который объединит данные из справочника Номенклатура и регистра ОстаткиТоваров.
Пример запроса для 1С:УТ:
ВЫБРАТЬ
Номенклатура.Наименование,
Номенклатура.Артикул,
ОстаткиТоваров.КоличествоОстаток
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваров
ПО Номенклатура.Ссылка = ОстаткиТоваров.Номенклатура
Как выгрузить номенклатуру с картинками?
Стандартные инструменты 1С не сохраняют изображения. Решения:
- Используйте внешнюю обработку (например, "Выгрузка номенклатуры с картинками в Excel" с портала 1С:ИТС).
- Напишите скрипт на 1С:Предприятие, который извлечёт картинки из поля
Картинкаи сохранит их в папку (форматJPG/PNG). - Для веб-сайтов настройте синхронизацию через 1С-Битрикс или CS-Cart — эти CMS умеют тянуть картинки из 1С по
HTTP.
Почему при выгрузке в XML теряются дополнительные реквизиты?
Это происходит, если в шаблоне обмена не прописаны дополнительные реквизиты. Чтобы исправить:
- Откройте настройки
Универсального обмена данными. - Перейдите на вкладку
Правила обмена. - Добавьте в шаблон строки для дополнительных реквизитов, например:
<ДополнительныйРеквизит><Наименование>Цвет</Наименование>
<Значение>Красный</Значение>
</ДополнительныйРеквизит>
Если реквизиты динамические (разные для разных товаров), используйте XDTO-пакеты или БСП (Библиотеку Стандартных Подсистем).
Как выгрузить только изменённую номенклатуру?
Чтобы экспортировать только те позиции, которые изменились за последний день/неделю:
- В
Универсальном обмене даннымидобавьте фильтр по дате изменения:ГДЕ Номенклатура.ДатаИзменения >= &ДатаНачала - В COM-соединении или REST API используйте параметр
filter[modified][ge]=2026-05-01. - Для 1С:Фреш в запросе к API добавьте:
"filter": {"lastModified": {
"from": "2026-05-01T00:00:00"
}
}
Можно ли выгрузить номенклатуру в Google Sheets?
Да, есть два способа:
- Через Excel: Выгрузите данные в
.xlsx, затем импортируйте файл в Google Sheets (менюФайл → Импорт). - Через API: Напишите скрипт на Google Apps Script, который будет тянуть данные из 1С по
REST APIи записывать их в таблицу. Пример кода:function importFrom1C() {const url = "https://api.1cfresh.com/.../nomenclature";
const response = UrlFetchApp.fetch(url, {
headers: { "Authorization": "Bearer YOUR_TOKEN" }
});
const data = JSON.parse(response.getContentText());
const sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1, 1, data.rows.length, 3).setValues(
data.rows.map(row => [row.name, row.article, row.barcodes.join(", ")])
);
}