Выгрузка данных о продажах из 1С:Торговля — рутинная, но критически важная задача для анализа бизнеса, отчётности перед контрагентами или интеграции с другими системами. Без правильно экспортированных данных невозможно построить точный финансовый отчёт, синхронизировать остатки с маркетплейсами или передать информацию в бухгалтерию. При этом многие пользователи сталкиваются с проблемами: не знают, какой отчёт выбрать, как настроить фильтры или в каком формате сохранить данные, чтобы они корректно открылись в Excel или Google Sheets.
В этой статье мы разберём все актуальные способы выгрузки продаж — от стандартных отчётов до программного экспорта через COM-соединение и REST API. Особое внимание уделим типичным ошибкам (например, почему в выгруженном файле пустые ячейки или неверные суммы) и дадим рекомендации по оптимизации процесса для регулярного использования. Если вам нужно выгрузить данные одним кликом с сохранением структуры документа и всех реквизитов, здесь вы найдёте рабочие решения.
1. Стандартные отчёты 1С для выгрузки продаж
Самый простой способ получить данные о продажах — использовать встроенные отчёты 1С:Торговля. Они не требуют навыков программирования и подходят для разовых задач. Основные отчёты, которые содержат информацию о продажах:
- 📊 Ведомость по товарам — показывает обороты по номенклатуре с разбивкой по документам реализации.
- 💰 Анализ продаж — содержит данные о выручке, себестоимости и прибыли по периодам.
- 📄 Журнал документов "Реализация товаров и услуг" — выгружает список всех документов продаж с детализацией.
- 📈 Обороты между субконто — полезен для анализа продаж по контрагентам, менеджерам или регионам.
Чтобы выгрузить отчёт в Excel:
- Откройте нужный отчёт через меню
Отчёты → Продажи. - Настройте период, организацию и другие фильтры (например, по складу или менеджеру).
- Нажмите
Сформировать, затем выберитеЕщё → Вывести в Excel. - В открывшемся окне укажите формат (
.xlsxили.xls) и путь для сохранения.
Если в выгруженном файле вместо кириллицы отображаются "кракозябры", перед сохранением в 1С выберите кодировку Windows-1251 или UTF-8 в настройках экспорта.
Ограничения стандартных отчётов:
- ⚠️ Нет возможности выгрузить все реквизиты документа (например, комментарии или дополнительные поля).
- ⚠️ Структура файла фиксированная — нельзя изменить порядок колонок.
- ⚠️ При большом объёме данных (тысячи строк) экспорт может занять несколько минут.
2. Выгрузка через обработку "Универсальный обмен данными"
Если стандартные отчёты не покрывают ваши нужды (например, требуется выгрузить продажи с произвольной структурой или в XML/JSON), используйте обработку Универсальный обмен данными. Она входит в стандартную поставку 1С:Торговля и позволяет гибко настраивать экспорт.
Пошаговая инструкция:
- Откройте обработку через меню
Файл → Открыть → [Папка с шаблонами 1С] → UniversalDataExchange.epf. - В разделе
Источник данныхвыберитеДокументы → Реализация товаров и услуг. - Настройте фильтры (даты, организации, контрагенты).
- В разделе
Формат обменаукажитеExcel,XMLилиJSON. - Нажмите
Выполнить обмени сохраните файл.
| Формат выгрузки | Плюсы | Минусы |
|---|---|---|
| Excel (.xlsx) | Удобно для дальнейшей обработки, поддерживает формулы | Ограничение на 1 млн строк в файле |
| XML | Подходит для интеграции с другими системами (например, 1С:Бухгалтерия) | Сложно читать без специальных программ |
| JSON | Легковесный формат для API и веб-сервисов | Не все версии 1С корректно формируют JSON |
| CSV | Минимальный размер файла, совместим с любыми программами | Нет поддержки нескольких листов, проблемы с кодировкой |
Проверьте права доступа (требуется роль "Администратор" или "Полные права")
Создайте резервную копию базы (на случай сбоя)
Убедитесь, что на диске достаточно места (выгрузка больших объёмов может занять до 10 ГБ)
Закройте все открытые документы в 1С-->
Если вам нужно выгрузить только определённые поля (например, номер документа, дату, сумму и контрагента), в обработке есть возможность настроить Правила обмена. Для этого:
- Перейдите на вкладку
Правила. - Добавьте новое правило и укажите
Источник = Документ.РеализацияТоваровУслуг. - В разделе
Назначениевыберите нужные реквизиты (например,Номер,Дата,Контрагент.Наименование). - Сохраните правило и запустите обмен.
Excel (.xlsx)
XML
JSON
CSV
Другой-->
3. Программная выгрузка через COM-соединение
Для автоматизации регулярной выгрузки (например, ежедневной отправки продаж в CRM или аналитическую систему) подходит программный экспорт через COM-соединение. Этот метод требует базовых знаний 1С:Предприятие 8.3 и языка запросов.
Пример кода для выгрузки продаж в Excel:
// Подключение к базе 1С
Попытка
Соединение = Новый COMОбъект("V83.COMConnector");
База = Соединение.Connect("File=C:\Bases\Trade;Usr=Администратор;Pwd=12345");
Исключение
Сообщить("Ошибка подключения: " + ОписаниеОшибки());
Возврат;
КонецПопытки;
// Формирование запроса
Запрос = База.NewObject("Запрос");
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка КАК Документ,
| РеализацияТоваровУслуг.Дата КАК Дата,
| РеализацияТоваровУслуг.Контрагент КАК Контрагент,
| РеализацияТоваровУслуг.СуммаДокумента КАК Сумма
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода";
// Установка параметров
Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(ТекущаяДата()));
Запрос.УстановитьПараметр("КонецПериода", КонецДня(ТекущаяДата()));
// Выполнение и выгрузка в Excel
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Excel = Новый COMОбъект("Excel.Application");
Книга = Excel.Workbooks.Add();
Лист = Книга.Worksheets(1);
Лист.Cells(1,1).Value = "Документ";
Лист.Cells(1,2).Value = "Дата";
Лист.Cells(1,3).Value = "Контрагент";
Лист.Cells(1,4).Value = "Сумма";
Строка = 2;
Пока Выборка.Следующий() Цикл
Лист.Cells(Строка,1).Value = Выборка.Документ;
Лист.Cells(Строка,2).Value = Выборка.Дата;
Лист.Cells(Строка,3).Value = Выборка.Контрагент.Наименование;
Лист.Cells(Строка,4).Value = Выборка.Сумма;
Строка = Строка + 1;
КонецЦикла;
Книга.SaveAs("C:\Exports\Продажи_"+Формат(ТекущаяДата(),"ДФ=yyyyMMdd")+".xlsx");
Excel.Quit();
Этот скрипт можно:
- 📁 Сохранить как внешнюю обработку и запускать по расписанию.
- 🔄 Интегрировать в PowerShell или Python для автоматизации.
- 📧 Настроить отправку готового файла по email через
Планы обмена.
Как ускорить выгрузку больших объёмов данных?
Для ускорения выгрузки используйте Пакетные запросы и Временные таблицы. Например, вместо выборки всех документов за год разбейте период на месяцы и выгружайте данные порциями. Также отключите Автосохранение в настройках 1С на время экспорта — это сократит время на 20-30%.
⚠️ Внимание: При программной выгрузке через COM учитывайте ограничения лицензии 1С:Предприятие. Некоторые версии (например, 1С:Торговля 8 Базовая) не поддерживают автоматический обмен данными без дополнительных модулей.
4. Выгрузка через REST API (для облачных версий 1С)
Если вы используете 1С:Торговля в облаке (например, 1С:Fresh или 1С:Линк), данные о продажах можно выгрузить через REST API. Этот метод подходит для интеграции с внешними сервисами (например, Bitrix24, АмоCRM или Яндекс.Метрика).
Пример запроса для получения списка продаж:
GET https://api.1cfresh.com/v1/documents/sales
Headers:
Authorization: Bearer {Ваш_API_ключ}
Accept: application/json
Query Parameters:
dateFrom=2026-01-01
dateTo=2026-01-31
limit=1000
Ответ будет в формате JSON:
{
"data": [
{
"id": "a1b2c3d4-5678-90ef-ghij-klmnopqrstuv",
"date": "2026-01-15",
"customer": {
"name": "ООО Ромашка",
"inn": "1234567890"
},
"amount": 45000.00,
"items": [
{
"product": "Стул офисный",
"quantity": 5,
"price": 9000.00
}
]
}
],
"total": 150
}
Чтобы автоматизировать выгрузку:
- Получите
API-ключв личном кабинете 1С:Fresh (разделНастройки → Интеграции). - Используйте Postman или Python с библиотекой
requestsдля отправки запросов. - Настройте
cron-задачу(на Linux) илиПланировщик заданий(на Windows) для регулярного опроса API.
⚠️ Внимание: В облачных версиях 1С действуют ограничения на количество запросов к API (обычно 1000-5000 в день). Превышение лимита может привести к блокировке доступа на 24 часа. Проверьте тарифный план в личном кабинете.
5. Выгрузка продаж с детализацией по товарам
Если вам нужна детализация по номенклатуре (например, для анализа ассортимента или инвентаризации), стандартные отчёты могут не подойти — они часто агрегируют данные. В этом случае используйте один из следующих методов:
Способ 1. Отчёт "Ведомость по товарам" с настройкой группировок
- Откройте отчёт
Ведомость по товарам(Отчёты → Товары). - В настройках добавьте группировки:
- 📅
Период(день/месяц) - 🏢
Организация - 📦
Номенклатура - 👤
Менеджер
- 📅
- 💵
Количество - 💰
Сумма - 📉
Себестоимость
Excel с детализацией.Способ 2. Запрос через конструктор
Если нужны дополнительные поля (например, артикул, вес или серия товара), создайте собственный запрос:
ВЫБРАТЬ
РеализацияТоваровУслуг.Дата КАК Дата,
РеализацияТоваровУслуг.Номер КАК НомерДокумента,
РеализацияТоваровУслуг.Контрагент КАК Контрагент,
РеализацияТоваровУслугТовары.Номенклатура КАК Товар,
РеализацияТоваровУслугТовары.Артикул КАК Артикул,
РеализацияТоваровУслугТовары.Количество КАК Количество,
РеализацияТоваровУслугТовары.Цена КАК Цена,
РеализацияТоваровУслугТовары.Сумма КАК Сумма
ИЗ
Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ПО РеализацияТоваровУслуг.Ссылка = РеализацияТоваровУслугТовары.Ссылка
ГДЕ
РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода
УПОРЯДОЧИТЬ ПО
Дата,
НомерДокумента
Для анализа продаж по характеристикам товаров (цвет, размер, материал) обязательно включайте в запрос табличную часть РеализацияТоваровУслуг.Товары и связывайте её с справочником Номенклатура.
6. Автоматизация выгрузки: расписание и интеграции
Ручная выгрузка продаж отнимает время, особенно если данные нужны ежедневно. Автоматизировать процесс можно следующими способами:
- ⏰ Планы обмена — встроенный механизм 1С для регулярного экспорта. Настройте план обмена с указанием:
- 📂 Папки для выгрузки
- ⏱ Интервала (ежедневно, еженедельно)
- 📧 Email для уведомлений
- 🤖 Роботы в 1С — используйте
Регламентные заданиядля запуска обработок по расписанию. - 🔗 Интеграция с внешними системами:
- 📊 Power BI — для визуализации данных.
- 🛒 Маркетплейсы (Ozon, Wildberries) — для синхронизации остатков.
- 💼 CRM (Bitrix24, AmoCRM) — для работы с клиентами.
Пример настройки регламентного задания:
- Перейдите в
Администрирование → Регламентные задания. - Создайте новое задание с типом
Выполнение обработки. - Укажите путь к обработке (например,
UniversalDataExchange.epf). - Настройте расписание (например, ежедневно в 23:00).
- Сохраните и запустите тестовый прогон.
Для интеграции с Google Sheets используйте сервис Zapier или Make (ex-Integromat). Они поддерживают подключение к 1С через REST API или Webhooks и позволяют автоматически обновлять таблицы при появлении новых продаж.
7. Типичные ошибки и их решения
При выгрузке продаж из 1С пользователи часто сталкиваются с следующими проблемами:
| Ошибка | Причина | Решение |
|---|---|---|
| В файле пустые ячейки вместо данных | Неверные настройки фильтров или прав доступа | Проверьте период и права пользователя на просмотр документов |
| Кракозябры вместо русского текста | Несовпадение кодировок (Windows-1251 vs UTF-8) | При экспорте выберите кодировку UTF-8 или откройте файл в Notepad++ и конвертируйте |
| Неверные суммы в отчёте | Ошибка в настройках валюты или НДС | Проверьте реквизиты организации и настройки учёта |
| Файл не открывается в Excel | Повреждение файла или неверный формат | Попробуйте сохранить в .csv или воспользуйтесь LibreOffice |
| Долгая выгрузка (более 10 минут) | Большой объём данных или медленный сервер | Разбейте выгрузку на части или оптимизируйте запрос |
Ошибка: "Недостаточно прав для выполнения операции"
Если при попытке выгрузки появляется это сообщение:
- Проверьте роль пользователя в 1С (
Администрирование → Пользователи). - Добавьте права на чтение документов
РеализацияТоваровУслуг. - Если используете 1С:Fresh, убедитесь, что тариф поддерживает выгрузку данных.
Ошибка: "Файл слишком большой для формата Excel"
Excel имеет ограничение на 1 048 576 строк. Если ваша выгрузка превышает этот лимит:
- 📌 Разбейте данные по месяцам или неделям.
- 📌 Используйте формат
CSV(не имеет ограничений по строкам). - 📌 Выгружайте только необходимые поля (уберите лишние колонки).
8. Альтернативные способы выгрузки
Если стандартные методы не подходят, рассмотрите альтернативные варианты:
- 🔄 Обмен через 1С:Конвертация данных — подходит для переноса продаж между базами 1С (например, из Торговли в Бухгалтерию).
- 📤 Экспорт в DBF — устаревший, но надёжный формат для совместимости со старыми системами.
- 🌐 Публикация на веб-сервисе — если нужно предоставить доступ к данным внешним пользователям (например, логистам).
- 📱 Мобильное приложение 1С:Мобильная торговля — для выгрузки продаж с планшета или смартфона.
Пример выгрузки в DBF:
// Код для внешней обработки
Процедура ВыгрузитьВDBF()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| РеализацияТоваровУслуг.Дата КАК ДАТА_D,
| РеализацияТоваровУслуг.Номер КАК НОМЕР_C,
| РеализацияТоваровУслуг.Контрагент.Наименование КАК КЛИЕНТ_C,
| РеализацияТоваровУслуг.СуммаДокумента КАК СУММА_N
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг";
Результат = Запрос.Выполнить();
Таблица = Результат.Выгрузить();
ЗаписьDBF = Новый ЗаписьDBF;
ЗаписьDBF.ОткрытьФайл("C:\Exports\sales.dbf");
ЗаписьDBF.Записать(Таблица);
ЗаписьDBF.Закрыть();
КонецПроцедуры
⚠️ Внимание: ФорматDBFне поддерживает кириллицу в названиях полей. Используйте транслит (например,КЛИЕНТ_CвместоClient).
FAQ: Частые вопросы по выгрузке продаж из 1С
🔹 Можно ли выгрузить продажи за несколько лет сразу?
Да, но это зависит от объёма данных. Для больших периодов (более 100 000 документов) рекомендуется:
- Выгружать данные по годам или кварталам.
- Использовать формат
CSVвместоExcel. - Запускать выгрузку в нерабочее время (ночью).
Если 1С "подвисает", разбейте запрос на части с помощью параметра ЛИМИТ.
🔹 Как выгрузить продажи с учётом скидок и промоакций?
Скидки и промоакции хранятся в табличной части документа РеализацияТоваровУслуг в реквизитах:
ПроцентСкидкиСуммаСкидкиВидыЦен(если скидка привязана к типу цены)
Добавьте эти поля в запрос:
РеализацияТоваровУслугТовары.ПроцентСкидки КАК СкидкаПроцент,
РеализацияТоваровУслугТовары.СуммаСкидки КАК СкидкаСумма
🔹 Почему в выгруженном файле не отображаются названия товаров?
Это происходит, если в запросе не указано соединение с справочником Номенклатура. Исправьте запрос:
ВЫБРАТЬ
РеализацияТоваровУслугТовары.Номенклатура КАК СсылкаНаТовар,
РеализацияТоваровУслугТовары.Номенклатура.Наименование КАК НазваниеТовара
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
Если названия по-прежнему не отображаются, проверьте, не установлен ли в настройках справочника флаг Показывать только код.
🔹 Как выгрузить продажи с привязкой к менеджерам?
Данные о менеджерах хранятся в реквизите Ответственный документа РеализацияТоваровУслуг. Добавьте в запрос:
РеализацияТоваровУслуг.Ответственный КАК Менеджер,
РеализацияТоваровУслуг.Ответственный.Наименование КАК ФИОМенеджера
Если менеджеры не отображаются, проверьте:
- Заполнен ли реквизит
Ответственныйв документах. - Есть ли у пользователя права на просмотр справочника
Пользователи.
🔹 Можно ли выгрузить продажи в Google Sheets автоматически?
Да, для этого есть несколько способов:
- Через 1С:Линк: Настройте интеграцию с Google Drive в личном кабинете.
- Через Zapier:
- Создайте триггер на новое событие в 1С (например, новый документ реализации).
- Добавьте действие
Add Row to Google Sheets. - Сопоставьте поля (дата, сумма, товар).
- Через Python: Используйте библиотеки
py1c(для работы с 1С) иgspread(для Google Sheets).
Пример кода на Python:
import gspread
from o