Выгрузка продаж из 1С в Excel, на сайт и во внешние системы
Содержание
Быстрее всего выгрузить продажи из 1С так: открыть отчёт по продажам или список документов реализации, выставить период и сохранить результат кнопкой «Сохранить» в .xlsx. Для регулярной выгрузки на сайт, в BI или другую программу нужен другой путь: рассылка отчётов по расписанию, COM-соединение, OData или внешняя обработка.
Чаще всего проблема не в кнопке, а в цифрах. Выгрузили, а сумма не сходится с выручкой в декларации, возвраты не учтены, половина документов не проведена. Ниже по шагам: как подготовить базу, каким способом выгружать под каждую задачу и где обычно ломается результат.
Подготовка базы перед выгрузкой продаж
Выгрузка показывает только то, что лежит в регистрах. Непроведённый документ в отчёт не попадёт, а документ с пометкой удаления может попасть в список, если не включить фильтр. Поэтому сначала — порядок в данных.
Что проверить за выгружаемый период:
- 📄 Непроведённые реализации. В списке документов реализации включите отбор по периоду и отсортируйте по колонке проведения. Значок без галочки — документ не провёл движения.
- 🗑️ Пометки удаления. Помеченный документ движений не делает, но в выгрузке списка будет виден. Отфильтруйте его или удалите помеченные объекты после согласования.
- ↩️ Возвраты и корректировки. Возвраты от покупателей и корректировки реализации уменьшают продажи. Если выгружать только реализации, цифра окажется завышенной.
- 🔁 Задним числом. Если документы правили в закрытом периоде, перепроведите их обработкой «Групповое перепроведение документов
» в разделе
Операции. - 👥 Справочники. Дубли контрагентов и номенклатуры дробят итоги: одна сеть магазинов превращается в три строки. Это лучше починить до выгрузки, а не руками в Excel.
Групповое перепроведение в рабочей базе меняет движения сразу по многим документам. Перед ним сделайте резервную копию и запускайте, когда остальные пользователи не работают с документами этого периода.
Последний пункт — главная проверка. В БП 3.0 откройте Отчеты → Оборотно-сальдовая ведомость по счету, счёт 90.01. Кредитовый оборот — это выручка с НДС. С ним и сверяйте итог любой выгрузки.
Какой способ выгрузки продаж выбрать
Способов много, и под разные задачи подходят разные. Таблица — чтобы не строить интеграцию там, где хватит одной кнопки.
| Задача | Способ | Кто настраивает | Риски |
|---|---|---|---|
| Разово отдать данные руководителю или аудитору | Отчёт → «Сохранить» в Excel | Бухгалтер | Ручная работа каждый раз |
| Нужен свой набор колонок | Универсальный отчёт или вариант отчёта на СКД | Бухгалтер, опытный пользователь | Ошибка в отборе даёт неверные суммы |
| Получать файл каждое утро | Рассылка отчётов по расписанию | Администратор | Нужна настроенная почта или общая папка |
| Забирать данные в Python, BI, свою программу | COM-соединение или OData | Программист | Доступ к базе извне, нагрузка, лицензии |
| Сайт, интернет-магазин | Обмен с сайтом по CommerceML | Администратор | Неверное сопоставление товаров |
| Нестандартный формат файла | Внешняя обработка или расширение | Программист 1С | Сопровождение при обновлениях |
💡 Если сомневаетесь — начните с отчёта и сохранения в Excel. Когда ту же выгрузку делают третий раз за месяц, пора переходить к рассылке или обработке.
Выгрузка отчёта о продажах в Excel и CSV
Откуда брать данные
| Конфигурация | Где искать продажи | Что внутри |
|---|---|---|
| Бухгалтерия 3.0 | Раздел Продажи, группа отчётов; отчёт «Продажи» | Выручка по покупателям и номенклатуре |
| Бухгалтерия 3.0 | Отчеты → Оборотно-сальдовая ведомость по счету, счёт 90.01 | Выручка по данным бухучёта |
| Управление торговлей 11 | Продажи → Отчеты по продажам | Выручка, валовая прибыль, аналитика по менеджерам и складам |
| Любая конфигурация | Список документов реализации | Номер, дата, контрагент, сумма документа |
Отчёт подходит для аналитики: в нём уже есть группировки и итоги. Список документов — для реестра: каждая накладная отдельной строкой.
Сохранить отчёт
- Откройте отчёт и задайте период.
- Нажмите
Настройкии выберите группировки: например, «Контрагент» и «Номенклатура». - Нажмите
Сформировать. - В командной панели отчёта нажмите кнопку «Сохранить» (значок дискеты).
- В поле типа файла выберите лист Excel с расширением
.xlsxи укажите папку.
Табличный документ 1С сохраняется также в .xls, .ods, .pdf, .docx, .html, .txt и собственный формат .mxl.
Выгрузить список реализаций
Нужен реестр документов, а не свод? Откройте журнал реализаций, поставьте отбор по периоду и нажмите Ещё → Вывести список.... Отметьте нужные колонки, получите табличный документ и сохраните его так же, как отчёт.
А где CSV?
Прямого сохранения в CSV у табличного документа нет. Рабочие варианты:
- 📊 сохранить в
.xlsx, открыть в Excel и выбрать «CSV (разделители — запятые)» или «CSV UTF-8»; - 📝 сохранить в
.txt: колонки разделятся табуляцией, такой файл читают большинство загрузчиков; - ⚙️ для регулярной выгрузки — сделать CSV программно через
ЗаписьТекставо внешней обработке.
Excel при открытии CSV может съесть ведущие нули в артикулах и превратить коды вида 1-12 в даты. Импортируйте файл через «Данные → Из текста/CSV» и задайте колонкам текстовый формат.
Своя выгрузка продаж через СКД и универсальный отчёт
Когда стандартный отчёт даёт не те колонки, его не надо переписывать. Почти все отчёты 8.3 построены на системе компоновки данных, и настраиваются мышкой.
Настроить стандартный отчёт
- В отчёте нажмите
Настройки. - Переключите вид настроек на «Расширенный».
- На вкладке полей добавьте нужные реквизиты: ИНН контрагента , артикул, менеджера, склад.
- На вкладке отборов задайте условия: только один покупатель, только определённая группа товаров.
- Сохраните вариант отчёта под своим именем через
Ещё → Сохранить вариант отчета.
Сохранённый вариант потом можно поставить в рассылку — это мостик к автоматизации.
Универсальный отчёт
В БП 3.0 есть Отчеты → Универсальный отчет. Он строит выборку прямо по объекту метаданных:
- Тип объекта — «Регистр накопления».
- Объект — «Продажи».
- Таблица — «Обороты».
- Задайте период, в настройках выберите измерения и ресурсы: контрагент, номенклатура, количество, стоимость.
Так получается плоская таблица без лишних промежуточных итогов, удобная для загрузки в BI и сводные таблицы.
💡 Для выгрузки в BI отключите итоги и группировки, оставьте одну детальную запись. Плоский файл грузится без ручной чистки.
Когда нужен программист
Если нужны поля из разных регистров (продажи плюс оплаты плюс себестоимость), удобнее отчёт со своей схемой СКД. Его оформляют как внешний отчёт .erf и подключают без изменения конфигурации — об этом ниже.
Выгрузка продаж во внешнюю программу: COM и OData
Эти способы нужны, когда данные забирает не человек, а программа: скрипт аналитика, BI-система, учётная система холдинга.
COM-соединение
Работает только на Windows. Компонента comcntr.dll ставится вместе с платформой и регистрируется командой от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\comcntr.dll"
Номер версии в пути подставьте свой. Разрядность платформы должна совпадать с разрядностью программы, которая подключается: 64-битный Python не увидит 32-битную компоненту.
Пример на Python (пакет pywin32) — выгрузка проведённых реализаций за месяц в CSV:
import csv
import datetime
import win32com.client
connector = win32com.client.Dispatch("V83.COMConnector")
base = connector.Connect('File="C:\\Bases\\Trade";Usr="Выгрузка";Pwd="пароль"')
query = base.NewObject("Query")
query.Text = """
ВЫБРАТЬ
Р.Номер КАК Num,
Р.Дата КАК DocDate,
Р.Контрагент.Наименование КАК Customer,
Р.СуммаДокумента КАК Total
ИЗ
Документ.РеализацияТоваровУслуг КАК Р
ГДЕ
Р.Проведен
И Р.Дата МЕЖДУ &Начало И &Конец
УПОРЯДОЧИТЬ ПО
Р.Дата
"""
query.SetParameter("Начало", datetime.datetime(2026, 9, 1))
query.SetParameter("Конец", datetime.datetime(2026, 9, 30, 23, 59, 59))
selection = query.Execute().Choose()
with open("sales.csv", "w", newline="", encoding="utf-8-sig") as f:
writer = csv.writer(f, delimiter=";")
writer.writerow(["Номер", "Дата", "Покупатель", "Сумма"])
while selection.Next():
writer.writerow([selection.Num, selection.DocDate,
selection.Customer, selection.Total])
Для клиент-серверной базы строка подключения другая: Srvr="server1c";Ref="trade";Usr="...";Pwd="...".
COM-соединение — полноценный сеанс 1С и занимает лицензию. Заведите для выгрузки отдельного пользователя с правами только на чтение и не держите пароль в открытом виде в скрипте.
OData
Стандартный интерфейс OData отдаёт данные по HTTP в JSON, без установки чего-либо на стороне клиента. Подходит для Power BI, веб-сервисов, Linux-скриптов.
- Опубликуйте базу на веб-сервере: в конфигураторе
Администрирование → Публикация на веб-сервере, флажок «Публиковать стандартный интерфейс OData». - В режиме 1С:Предприятие откройте
Все функции → Обработки → Настройка автоматического REST-сервисаи отметьте нужные объекты: документ реализации, регистр продаж, справочники контрагентов и номенклатуры. - Запросите данные по адресу вида:
http://server/trade/odata/standard.odata/Document_РеализацияТоваровУслуг?$format=json
Команда «Все функции» включается в Сервис и настройки → Настройки → Показывать команду "Все функции".
💡 Через OData видны только объекты, отмеченные в настройке. Пустой ответ на запрос чаще всего означает, что объект просто не включили в состав.
Продажи из 1С на сайт и маркетплейсы
Здесь важно понять направление обмена, иначе можно неделю настраивать не то.
- 🛒 Сайт, интернет-магазин. Из 1С на сайт уходят каталог, цены и остатки. Обратно приходят заказы. Типовой формат — CommerceML, его понимает большинство CMS. Обмен с сайтом настраивается в разделе
Администрирование → Синхронизация данных(в УТ 11 — в аналогичном разделе синхронизации). - 📦 Маркетплейсы. Продажи обычно идут в обратную сторону: площадка продаёт товар как комиссионер, а в 1С поступает отчёт о продажах. В БП 3.0 его отражают документом «Отчет комиссионера (агента) о продажах». Из 1С на маркетплейс выгружают остатки и цены.
- 📈 Аналитические сервисы, CRM. Им отдают уже проведённые продажи — через OData, COM или файл по расписанию.
При обмене товарами главное — сопоставление. Если артикул в 1С и на площадке не совпадает, заказ не найдёт товар.
Для каждого крупного маркетплейса есть отдельные модули интеграции от фирмы 1С и партнёров. Они работают через API площадки и сами создают документы в базе. Перед покупкой проверьте, поддерживает ли модуль вашу схему работы: FBO, FBS или продажу со своего склада.
Автоматическая выгрузка продаж по расписанию
Рассылка отчётов
Самый простой способ без программиста. В БП 3.0 и УТ 11:
- Откройте
Администрирование → Печатные формы, отчеты и обработки → Рассылки отчетов. - Создайте рассылку, добавьте отчёт и сохранённый вариант.
- Укажите формат — например,
xlsx. - Выберите получателей и способ доставки: почта или сетевая папка.
- Задайте расписание: ежедневно в 7:00, по понедельникам.
- Период отчёта поставьте относительный — «Прошлый месяц», «Вчера». Иначе каждое утро будет приходить один и тот же сентябрь.
В файловой базе расписание срабатывает только пока открыт сеанс 1С. В клиент-серверной регламентные задания выполняет сервер.
Внешняя обработка
Когда нужен свой формат (XML для холдинга, CSV под загрузчик BI, JSON для сайта), программист пишет внешнюю обработку .epf. Её подключают в Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки.
Если обработка поддерживает регистрацию как регламентная, в её карточке можно задать расписание. Тогда файл появляется в папке сам.
Запуск из командной строки
Для файловой базы выручает планировщик Windows и запуск 1С с параметром /Execute:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"C:\Bases\Trade" /N"Выгрузка" /P"пароль" /Execute"C:\Scripts\export_sales.epf"
1С откроется, выполнит обработку и, если в ней прописано завершение работы, закроется. Сеанс занимает лицензию на время работы.
Расширение конфигурации
Если выгрузка должна жить внутри базы — с командой в меню, правами и регламентным заданием — её оформляют расширением. Расширение не снимает конфигурацию с поддержки, типовое обновление проходит без ручного сравнения. После обновления конфигурации проверьте, что расширение применяется без ошибок.