Накладные из 1С в таблицу Excel: от одного документа до реестра за год

· 11 мин

Содержание

Быстрее всего выгрузить накладные из 1С в Excel так: откройте список документов (в 1С:Бухгалтерии 3.0 — Продажи → Реализация (акты, накладные, УПД)), отберите нужный период и выполните Ещё → Вывести список…. Получится табличный документ, который сохраняется в файл .xlsx одной кнопкой. Если нужна сама накладная (ТОРГ-12 или УПД) — откройте документ, нажмите Печать и сохраните печатную форму в формате Excel.

Эти два приёма закрывают большинство задач. Для выгрузки строк с товарами, тысяч документов или регулярного обмена есть отчёты, внешние обработки, COM-соединение и OData. Ниже — когда что выбирать и как не получить в Excel «кашу» из объединённых ячеек и чисел-текста.

Где лежат накладные в 1С и что именно выгружать

Сначала определитесь, что вам нужно в Excel. От этого зависит способ.

  • 📄 Сама накладная как документ для контрагента — печатная форма ТОРГ-12, УПД, ТТН.
  • 📋 Реестр накладных — дата, номер, контрагент, сумма, НДС. Одна строка на документ.
  • 📦 Построчная выгрузка товаров — номенклатура, количество, цена, сумма по каждой накладной.
  • 🔁 Регулярная выгрузка в другую систему или в отчёт для руководства.

Где найти документы в типовых конфигурациях:

КонфигурацияОтгрузки (исходящие накладные)Поступления (входящие)
Бухгалтерия предприятия 3.0Продажи → Реализация (акты, накладные, УПД)Покупки → Поступление (акты, накладные, УПД)
Управление торговлей 11, ERP 2Продажи → Документы продажиЗакупки → Документы закупки

Если раздела не видно (урезанный интерфейс или права пользователя), документы можно открыть через «Все функции». Включается команда так: главное меню (значок ☰ в левом верхнем углу) → Сервис → Параметры, флажок «Отображать команду “Все функции”». После этого в главном меню появится Все функции → Документы, где лежит полный перечень документов базы.

Способ 1. Печатная форма и «Вывести список» — выгрузка без настроек

Одна или несколько накладных как документ

  1. Откройте документ реализации или поступления.
  2. Нажмите Печать и выберите нужную форму: «Товарная накладная (ТОРГ-12)», «Универсальный передаточный документ» и т.п.
  3. В открывшейся печатной форме нажмите значок дискеты «Сохранить».
  4. Выберите формат «Лист Microsoft Excel 2007-… (*.xlsx)» и папку.

💡 Можно выгрузить пачку накладных одним файлом. В списке документов выделите нужные строки (Ctrl + щелчок или Shift + щелчок) и нажмите Печать. Все формы выведутся в один табличный документ, каждая — на своей странице. Сохраните его так же, как одну.

Тот же диалог сохранения умеет записывать каждую форму в отдельный файл и сразу отправлять их по почте вложением — флажки для этого есть в окне сохранения.

Реестр накладных за период

  1. Откройте список документов.
  2. Установите период: кнопка Ещё → Установить период или поле периода над списком.
  3. При необходимости отберите по контрагенту или организации через строку поиска или Ещё → Настроить список.
  4. Выполните Ещё → Вывести список….
  5. В окне вывода оставьте флажки только у нужных колонок. Нажмите ОК.
  6. Появившийся табличный документ сохраните в .xlsx через значок дискеты.

«Вывести список» выгружает ровно то, что видно в списке с текущим отбором. Если отбора по периоду нет, в файл уйдут все накладные за все годы. На базе с сотнями тысяч документов это займёт минуты.

Чего этот способ не даёт: строк товаров. В списке документа только «шапка» — дата, номер, контрагент, сумма. Для номенклатуры переходите к способу 2.

Способ 2. Выгрузка накладных через отчёты: универсальный отчёт и анализ субконто

Универсальный отчёт — товары по накладным построчно

В БП 3.0 он находится в разделе Отчёты → Универсальный отчет. Это конструктор, который строит таблицу по любому объекту базы.

  1. В шапке отчёта выберите вид объекта «Документ».
  2. В поле объекта выберите «Реализация (акты, накладные, УПД)» или «Поступление (акты, накладные, УПД)».
  3. В поле таблицы выберите табличную часть «Товары» (по умолчанию стоят основные данные — реквизиты шапки).
  4. Задайте период и нажмите Сформировать.
  5. Через Настройки добавьте группировки или поля: дата, номер, контрагент, номенклатура, количество, цена, сумма, НДС.
  6. Сохраните результат в .xlsx значком дискеты.

Удобно, что настройку можно сохранить как вариант отчёта и в следующий месяц только поменять период.

Анализ субконто — суммы по контрагентам и документам

Раздел Отчёты → Анализ субконто. Подходит, когда нужны суммы по накладным в разрезе бухгалтерского учёта.

  • Выберите виды субконто «Контрагенты» и «Документы расчетов с контрагентом».
  • Получите обороты по каждому документу реализации или поступления, сгруппированные по контрагентам.
  • Результат сохраните в Excel тем же способом.

Анализ субконто показывает данные проводок. Непроведённые накладные в него не попадут — это плюс для сверки и минус, если нужны черновики.

Способ 3. Книга продаж, книга покупок и другие регламентные выгрузки

Если накладные нужны для сверки НДС с контрагентом или проверяющими, удобнее выгружать не документы, а регистры по счетам-фактурам.

  • Книга продаж и книга покупок в БП 3.0 — в разделе Отчёты, группа «НДС». Каждая строка — счёт-фактура или УПД со статусом 1, с суммой и налогом.
  • Оборотно-сальдовая ведомость по счёту 62 или 60 с детализацией по документам — для акта сверки в Excel.
  • Акт сверки взаиморасчётов — документ, у которого печатная форма тоже сохраняется в .xlsx.

Все они формируются как табличный документ и сохраняются через значок дискеты. Отличие от способа 1 — в выгрузке будут суммы именно в разрезе налогового учёта, а не по данным документа.

Способ 4. Внешняя обработка для массовой выгрузки накладных в Excel

Когда выгрузка нужна каждую неделю в одном и том же виде, проще один раз сделать внешнюю обработку . Её подключают в БП 3.0 через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки.

Обработка выполняет запрос к базе, складывает результат в табличный документ и пишет файл. Ниже — серверная процедура для БП 3.0, которая выгружает строки товаров по проведённым реализациям за период.

&НаСервереБезКонтекста
Процедура ВыгрузитьНакладныеНаСервере(Начало, Окончание, ИмяФайла)

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

    ТабДок = Новый ТабличныйДокумент;

    // Строка заголовков
    Колонки = Результат.Колонки;
    Для Кол = 1 По Колонки.Количество() Цикл
        ТабДок.Область(1, Кол, 1, Кол).Текст = Колонки[Кол - 1].Имя;
    КонецЦикла;

    // Данные
    Выборка = Результат.Выбрать();
    Стр = 1;
    Пока Выборка.Следующий() Цикл
        Стр = Стр + 1;
        Для Кол = 1 По Колонки.Количество() Цикл
            ТабДок.Область(Стр, Кол, Стр, Кол).Текст = Выборка[Колонки[Кол - 1].Имя];
        КонецЦикла;
    КонецЦикла;

    ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);

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

Что важно знать про этот пример:

  • Файл пишется на стороне сервера 1С. В клиент-серверной базе путь вида D:\Выгрузка\nakladnye.xlsx окажется на сервере, а не на компьютере бухгалтера. Укажите сетевую папку, к которой есть доступ у пользователя, под которым работает служба сервера 1С.
  • Для поступлений замените РеализацияТоваровУслуг на ПоступлениеТоваровУслуг.
  • В УТ 11 и ERP документ называется так же, но набор реквизитов табличной части отличается. Проверьте имена полей в конфигураторе перед запуском.

💡 Готовые обработки «выгрузка в Excel» есть и у сторонних разработчиков. Перед подключением чужой .epf откройте её в конфигураторе и посмотрите код: обработка работает с правами пользователя и может менять данные.

Способ 5. COM-соединение: накладные из 1С прямо в книгу Excel

Этот вариант для тех, кто пишет макросы. Excel сам подключается к базе 1С и заливает данные на лист. Нажал кнопку — получил свежий реестр.

Sub ЗагрузитьНакладные()
    Dim cn As Object, conn As Object, q As Object, sel As Object
    Dim r As Long

    Set cn = CreateObject("V83.COMConnector")
    ' Файловая база:
    Set conn = cn.Connect("File=""D:\Bases\BP"";Usr=""Выгрузка"";Pwd=""пароль"";")
    ' Серверная база: "Srvr=""srv1c"";Ref=""bp_prod"";Usr=""Выгрузка"";Pwd=""пароль"";"

    Set q = conn.NewObject("Query")
    q.Text = "ВЫБРАТЬ Р.Дата КАК DocDate, Р.Номер КАК DocNum, " & _
             "ПРЕДСТАВЛЕНИЕ(Р.Контрагент) КАК Partner, Р.СуммаДокумента КАК Total " & _
             "ИЗ Документ.РеализацияТоваровУслуг КАК Р " & _
             "ГДЕ Р.Проведен И Р.Дата МЕЖДУ &Start И &Finish УПОРЯДОЧИТЬ ПО Р.Дата"
    q.SetParameter "Start", DateSerial(2025, 1, 1)
    q.SetParameter "Finish", DateSerial(2025, 12, 31) + TimeSerial(23, 59, 59)

    Set sel = q.Execute().Choose()
    r = 2
    Do While sel.Next()
        Cells(r, 1).Value = sel.DocDate
        Cells(r, 2).Value = sel.DocNum
        Cells(r, 3).Value = sel.Partner
        Cells(r, 4).Value = sel.Total
        r = r + 1
    Loop
End Sub

Латинские псевдонимы полей (DocDate, Partner) избавляют от проблем с кириллицей в именах свойств на стороне VBA.

Без чего COM не заработает:

  1. Зарегистрирована компонента comcntr.dll из каталога платформы. Регистрация — от имени администратора:
    regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\comcntr.dll"
    
    Номер версии подставьте свой — он совпадает с именем папки платформы.
  2. Разрядность совпадает. 64-битный Excel работает только с 64-битной платформой 1С, 32-битный — с 32-битной. Это частая причина ошибки при CreateObject.
  3. Версия компоненты совпадает с версией сервера для клиент-серверной базы.
  4. Отдельный пользователь с правом «Внешнее соединение» и ролью только на чтение. Пароль в макросе не храните в открытом виде в общих файлах.

Способ 6. OData и прямое подключение к СУБД для больших объёмов

Когда накладных десятки тысяч и выгрузка нужна регулярно, удобнее не «выгружать», а подключить Excel к базе как к источнику данных.

OData + Power Query

Платформа 8.3 умеет публиковать стандартный интерфейс OData. Порядок такой:

  1. Базу публикуют на веб-сервере (IIS или Apache) с флажком публикации стандартного интерфейса OData.
  2. В самой базе включают в состав интерфейса нужные объекты. В БП 3.0 это делается в разделе Администрирование → Синхронизация данных, ссылка на настройку стандартного интерфейса OData.
  3. В Excel: Данные → Получить данные → Из других источников → Из канала OData.
  4. Адрес вида http://srv/bp/odata/standard.odata/, логин и пароль пользователя 1С.
  5. Выберите сущность Document_РеализацияТоваровУслуг (шапки) или Document_РеализацияТоваровУслуг_Товары (строки товаров).

Дальше Power Query обновляет данные кнопкой Обновить все. Фильтр по дате лучше задавать в запросе, а не тянуть всю таблицу.

Прямое подключение через ODBC к SQL

Для клиент-серверной базы технически можно подключить Excel по ODBC к MS SQL или PostgreSQL. Но имена таблиц там служебные (_Document123, _Fld4567), а после обновления конфигурации структура может измениться. Фирма 1С такой доступ не поддерживает, и ошибка в запросе к рабочей базе ударит по всем пользователям.

Прямые запросы к СУБД — только на чтение и только к копии базы или реплике, не к рабочему серверу.

Какой способ выбрать

Что нужно получить в Excel?

Ошибки при выгрузке из 1С в Excel и как их исправить

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

Как привести выгруженные накладные в порядок в Excel

Выгрузка из печатной формы похожа на бумагу: объединённые ячейки, шапка, подписи. Сортировать и считать по ней неудобно. Для анализа берите реестр или универсальный отчёт, а файл доведите так:

  1. Уберите объединение ячеек. Выделите всё (Ctrl+A) → Главная → Объединить и поместить в центре → Отменить объединение ячеек.
  2. Удалите строки итогов и группировок, которые добавил отчёт, — иначе сводная таблица посчитает суммы дважды.
  3. Превратите диапазон в таблицу: Ctrl+T. Появятся фильтры, а формулы будут ссылаться на имена столбцов.
  4. Проверьте даты. Если дата пришла текстом вида «15.03.2025 0:00:00», выделите столбец и выполните Данные → Текст по столбцам → Готово — Excel распознает дату.
  5. Постройте сводную: Вставка → Сводная таблица. Например, строки — контрагент, столбцы — месяц, значения — сумма.

💡 Если реестр нужен ежемесячно, сделайте отдельную книгу-шаблон со сводной, а свежую выгрузку вставляйте на лист с данными. Сводная обновится по Данные → Обновить все.

Пример проверки после выгрузки: в 1С по реализациям за март 412 документов на 8 734 500 руб. В Excel строка состояния при выделении столбца сумм должна показать то же «Количество: 412» и «Сумма: 8 734 500». Разошлось — ищите задвоенные строки итогов или потерянный отбор.

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

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