Выгрузка всех документов из 1С:Предприятие — типичная задача при миграции на новую систему, аудите, резервном копировании или передаче данных контрагентам. Однако стандартные отчёты часто ограничивают количество строк или не экспортируют связанные табличные части. В этой статье разберём все возможные методы — от простых (через интерфейс) до сложных (прямые SQL-запросы к базе), с учётом особенностей популярных конфигураций: 1С:Бухгалтерия 3.0, 1С:Управление торговлей 11, 1С:Зарплата и Управление Персоналом 3.1.

Особое внимание уделим скрытым нюансам: почему выгрузка в Excel обрезает данные, как обойти ограничения на количество строк в отчётах, и что делать, если документы"зависнут" при массовом сохранении. Все инструкции актуальны для платформы 1С:Предприятие 8.3 (включая последние релизы 2026 года).

⚠️ Предупреждение: Массовая выгрузка документов может заблокировать базу для других пользователей. Рекомендуется выполнять операции в нерабочее время или на тестовой копии.

1. Стандартная выгрузка через отчёты и обработки

Самый простой способ — использовать встроенные отчёты . Например, в 1С:Бухгалтерии 3.0 это отчёт Все документы (раздел Отчёты → Стандартные → Все документы). Однако у метода есть критические ограничения:

  • 📊 Ограничение на количество строк (обычно 10 000–50 000 в зависимости от конфигурации).
  • 🔄 Нет возможности выгрузить табличные части документов (например, строки товаров в Реализации).
  • 📄 Форматы выгрузки ограничены: Excel (с обрезкой данных), HTML, текст.

Чтобы обойти ограничение по строкам, используйте постраничную выгрузку:

  1. Откройте отчёт Все документы.
  2. В настройках отчёта установите фильтр по дате (например, за месяц).
  3. Экспортируйте данные в Excel, затем повторите для следующего периода.

Для конфигураций на базе УТ 11 или ERP 2 доступна обработка Выгрузка данных в Excel (раздел Администрирование → Печатные формы, отчёты и обработки). Она позволяет выгружать табличные части, но требует ручной настройки полей.

💡

Если в выгруженном Excel пропадают данные, проверьте настройки региональных параметров в Windows: формат даты должен совпадать с форматом 1С (обычно дд.мм.гггг).

2. Выгрузка через универсальные обработки (внешние и встроенные)

Для массовой выгрузки без ограничений используйте внешние обработки. Наиболее популярные:

  • 🔧 Универсальная выгрузка документов в Excel (от 1С-Рарус или Инфостарт). Позволяет выгружать любые документы с табличными частями, поддерживает шаблоны.
  • 📤 ВыгрузкаЗагрузкаДанныхXML (встроенная в большинстве конфигураций). Экспортирует данные в XML, который позже можно конвертировать в Excel.
  • 🗃️ Обработка"Пакетная выгрузка документов" (доступна на Инфостарте). Поддерживает выгрузку по маске, с фильтрами и сохранением вложений.

Пример использования встроенной обработки ВыгрузкаЗагрузкаДанныхXML:

  1. Перейдите в Файл → Открыть → выберите обработку (обычно находится в каталоге ExtForms дистрибутива 1С).
  2. Укажите путь для сохранения XML-файла.
  3. В настройках выгрузки отметьте галочкой Выгружать документы и укажите период.
  4. Запустите выгрузку. Для больших баз процесс может занять несколько часов.

⚠️ Внимание: XML-файлы от часто содержат служебную информацию (метки времени, ссылки на объекты). Для преобразования в читаемый формат используйте XSLT-шаблоны или специализированные конвертеры (например, Altova XMLSpy).

Как ускорить выгрузку больших объёмов данных?

Для баз с более чем 100 000 документов рекомендуется:

1. Выгружать данные по годам (например, 2020, 2021 отдельно).

2. Отключить индексирование папки с выгрузкой в Windows.

3. Использовать SSD-накопитель для временных файлов.

3. Прямой экспорт через SQL-запросы (для опытных пользователей)

Если вам нужны все данные без ограничений, включая служебные поля, можно обратиться напрямую к базе через SQL. Этот метод требует доступа к серверу PostgreSQL или MS SQL Server (в зависимости от конфигурации).

Основные таблицы для выгрузки документов:

КонфигурацияТаблица документовТаблица табличных частей
1С:Бухгалтерия 3.0Document{НомерВерсии}.AccumRg{ИмяДокумента}Document{НомерВерсии}.AccumRg{ИмяДокумента}VT{НомерТабличнойЧасти}
1С:Управление торговлей 11Document{НомерВерсии}.Document{ИмяДокумента}Document{НомерВерсии}.Document{ИмяДокумента}TabPart{ИмяЧасти}
1С:Зарплата и Управление Персоналом 3.1Document{НомерВерсии}.Document{ИмяДокумента}Document{НомерВерсии}.Document{ИмяДокумента}TabPart{ИмяЧасти}

Пример SQL-запроса для выгрузки всех документов РеализацияТоваровУслуг из УТ 11 (MS SQL):

SELECT

d._IDRRef AS Ссылка,

d._Date AS Дата,

d._Number AS Номер,

d._Fld{НомерПоля} AS [Поле1],

-- Другие поля

FROM

Document{НомерВерсии}.DocumentРеализацияТоваровУслуг AS d

WHERE

d._Date BETWEEN'2023-01-01' AND'2023-12-31'

Для выгрузки табличных частей (например, строк товаров) используйте JOIN:

SELECT

d._IDRRef AS СсылкаДокумента,

t._LineNo AS НомерСтроки,

t._Fld{НомерПоляТовар} AS Товар,

t._Fld{НомерПоляКоличество} AS Количество

FROM

Document{НомерВерсии}.DocumentРеализацияТоваровУслуг AS d

JOIN

Document{НомерВерсии}.DocumentРеализацияТоваровУслугTabPartТовары AS t

ON d._IDRRef = t._Document_IDRRef

WHERE

d._Date BETWEEN'2023-01-01' AND'2023-12-31'

⚠️ Внимание: Структура таблиц в может меняться после обновлений конфигурации. Перед выполнением запросов всегда проверяйте актуальные имена таблиц и полей через SQL Management Studio или pgAdmin.

📊 Какой метод выгрузки вы используете чаще?
Через стандартные отчёты
Внешние обработки
SQL-запросы
Другие способы

4. Выгрузка через COM-соединение и скрипты (1C:Enterprise)

Для автоматизации выгрузки можно использовать COM-соединение с 1С:Предприятие через скрипты на Python, PowerShell или VBScript. Этот метод подходит для интеграции с другими системами (например, BI-аналитикой или CRM).

Пример скрипта на Python с библиотекой py1C:

import py1C

Подключение к базе

v8 = py1C.Connect("File=C:\\Bases\\Trade;Usr=Администратор;Pwd=12345")

Получение списка документов

docs = v8.Query(

"ВЫБРАТЬ

Ссылка,

Дата,

Номер

ИЗ

Документ.РеализацияТоваровУслуг

ГДЕ

Дата МЕЖДУ &НачалоПериода И &КонецПериода",

{"НачалоПериода":"2023-01-01","КонецПериода":"2023-12-31"}

)

Сохранение в CSV

with open("realizaciya.csv","w", encoding="utf-8") as f:

f.write("Ссылка;Дата;Номер\n")

for doc in docs:

f.write(f"{doc.Ссылка};{doc.Дата};{doc.Номер}\n")

Для выгрузки табличных частей добавьте в запрос соединение с виртуальной таблицей:

ВЫБРАТЬ

РеализацияТоваровУслуг.Ссылка КАК СсылкаДокумента,

РеализацияТоваровУслугТовары.НомерСтроки,

РеализацияТоваровУслугТовары.Товар,

РеализацияТоваровУслугТовары.Количество

ИЗ

Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг

ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары

ПО РеализацияТоваровУслуг.Ссылка = РеализацияТоваровУслугТовары.Ссылка

ГДЕ

РеализацияТоваровУслуг.Дата МЕЖДУ &НачалоПериода И &КонецПериода

⚠️ Внимание: При работе через COM-соединение может блокировать базу для других пользователей. Используйте параметр LockTimeout=0 в строке подключения, чтобы избежать конфликтов.

Установить библиотеку py1C (pip install py1C)|Проверить права доступа пользователя 1С|Создать резервную копию базы|Определить период выгрузки|Подготовить папку для результатов-->

5. Выгрузка через консольные утилиты (1cv8 и 1cv8s)

Для администрирования предусмотрены консольные утилиты 1cv8.exe (для файлового варианта) и 1cv8s.exe (для серверного). Они позволяют выполнять выгрузку в фоновом режиме без запуска интерфейса.

Пример команды для выгрузки всех документов ПоступлениеТоваров в XML:

1cv8.exe DESIGNER /F"C:\Bases\Trade" /N Администратор /P 12345 /Execute"ВыгрузитьДанныеXML.epf" /Out"C:\Export\postuplenie.xml"

Где:

  • /F — путь к информационной базе.
  • /N и /P — имя и пароль пользователя.
  • /Execute — обработка для выгрузки (например, ВыгрузкаЗагрузкаДанныхXML.epf).
  • /Out — путь к выходному файлу.

Для серверного варианта используйте 1cv8s с аналогичными параметрами, добавив /S для указания сервера:

1cv8s.exe DESIGNER /S"sr-01\trade" /N Администратор /P 12345 /Execute"ВыгрузитьДанныеXML.epf" /Out"\\server\export\postuplenie.xml"

⚠️ Внимание: Консольные утилиты не поддерживают многопоточность. При выгрузке больших объёмов данных разбейте процесс на несколько задач (например, по месяцам).

💡

Консольные утилиты — единственный способ выгрузить данные с сервера 1С без запуска толстого клиента. Подходит для автоматизации через Планировщик задач Windows или cron в Linux.

6. Альтернативные способы: обмен данными и ETL-инструменты

Если выгрузка нужна для миграции в другую систему (например, SAP, Oracle или МойСклад), рассмотрите специализированные инструменты:

  • 🔄 Конвертация данных (КД 2/3) — типовой механизм для обмена между конфигурациями. Позволяет настроить правила выгрузки и загрузки.
  • 📦 ETL-инструменты (например, Talend, Informatica, Microsoft SSIS). Поддерживают сложные трансформации данных.
  • 🌐 API 1С:Предприятие (REST или OAuth). Актуально для облачных решений (например, 1С:Фреш).

Пример настройки обмена через Конвертацию данных 3.0:

  1. В исходной базе (1С:УТ 11) откройте Администрирование → Обмен данными → Настройка обмена.
  2. Создайте новый план обмена и укажите целевую базу.
  3. В правилах обмена отметьте документы для выгрузки (например, РеализацияТоваровУслуг, ПоступлениеТоваров).
  4. Запустите обмен через Выполнить обмен.

Для ETL-инструментов потребуется:

  1. Настроить ODBC-соединение с базой .
  2. Создать задачу на выгрузку данных из таблиц Document{...}.
  3. Преобразовать данные в целевой формат (например, JSON для API или CSV для Excel).

⚠️ Внимание: При обмене через Конвертацию данных проверьте соответствие версий конфигураций. Например, УТ 10.3 не совместима с УТ 11.5 без дополнительных доработок.

7. Обработка ошибок при выгрузке

При массовой выгрузке документов возможнычные ошибки:

ОшибкаПричинаРешение
Ошибка блокировки данныхДокумент редактируется другим пользователем.Используйте параметр /LockTimeout=0 или выполните выгрузку в нерабочее время.
Недостаточно памятиСлишком большой объём данных для обработки.Разбейте выгрузку на части (по месяцам/годам) или увеличьте память для в 1cv8.ini.
Нет прав на чтениеУ пользователя недостаточно прав.Выполните выгрузку от имени Администратор или настройте роль Полные права.
Файл не найден (XML/Excel)Неверный путь сохранения или нет прав на запись.Проверьте путь в настройках обработки и права на папку.

Если выгрузка прерывается без ошибки, проверьте:

  • 🕒 Тайм-ауты в настройках сервера (параметр SessionTimeout в ragent.conf).
  • 🗄️ Свободное место на диске (особенно при выгрузке в XML).
  • 🔌 Стабильность сети (для клиент-серверного варианта).
💡

Если выгрузка"зависла" на 99%, попробуйте уменьшить пакет данных в настройках обработки (например, выгружать по 5 000 документов за раз).

FAQ: Частые вопросы по выгрузке документов из 1С

Можно ли выгрузить документы с печатными формами?

Да, но стандартными средствами — только через обработку Печать документов (по одному). Для массовой выгрузки используйте внешние обработки (например, "Пакетная печать документов" с Инфостарта), которые сохраняют PDF для каждого документа.

Как выгрузить документы с историей изменений?

История изменений хранится в таблице _InfoRg{Номер}. Для выгрузки используйте SQL-запрос с JOIN к основной таблице документов. Пример:

SELECT

d._IDRRef AS Документ,

h._DateTime AS ДатаИзменения,

h._User AS Пользователь,

h._Data AS Данные (в формате BLOB)

FROM

Document{Номер}.DocumentРеализацияТоваровУслуг AS d

JOIN

_InfoRg{Номер} AS h ON d._IDRRef = h._ObjectID

WHERE

d._Date BETWEEN'2023-01-01' AND'2023-12-31'

Данные в поле _Data закодированы — для расшифровки потребуется или специализированные утилиты.

Почему в Excel не выгружаются табличные части?

Стандартные отчёты не поддерживают экспорт табличных частей в Excel. Решения:

  1. Используйте обработку ВыгрузкаДанныхВExcel с настройкой структуры.
  2. Экспортируйте в XML, затем конвертируйте в Excel через XSLT.
  3. Настройте связанные таблицы в Excel (Power Query) для автоматического подтягивания данных из табличных частей.
Как выгрузить документы из 1С:Фреш (облако)?

В 1С:Фреш прямая выгрузка через SQL невозможна. Используйте:

  • 📤 Встроенный экспорт (раздел Администрирование → Выгрузка данных).
  • 🔌 API 1С:Фреш (документация: https://api.fresh.1c.ru).
  • 📦 Обработки от партнёров (например, "Выгрузка из 1С:Фреш в Excel" на Инфостарте).

⚠️ Обратите внимание: в бесплатном тарифе 1С:Фреш API имеет ограничение на количество запросов (обычно 1 000 в день).

Можно ли выгрузить удалённые документы?

Да, но они помечены как удалённые в таблице _DeletedObjects. Для восстановления:

  1. Включите отображение удалённых объектов в настройках отчёта (если поддерживается).
  2. Используйте SQL-запрос с JOIN к _DeletedObjects:
SELECT d.*

FROM Document{Номер}.DocumentРеализацияТоваровУслуг AS d

JOIN _DeletedObjects AS del ON d._IDRRef = del._ObjectID

WHERE del._DeleteMark = 1

Для восстановления документа в интерфейсе используйте обработку ВосстановлениеПомеченныхОбъектов.epf.