Выгрузка данных из 1С:Предприятие — стандартная задача для бухгалтеров, аналитиков и IT-специалистов. Нужно передать отчет в налоговую, перенести справочники в другую базу, сохранить архив перед обновлением или просто проанализировать информацию в Excel? В этой статье разберем все рабочие способы: от простых (через меню программы) до продвинутых (с использованием COM-соединения и 1C:EnterpriseScript).
Важно понимать, что метод выгрузки зависит от цели и формата данных. Например, для передачи в ФНС подойдет выгрузка через регламентированные отчеты, а для анализа в Power BI — экспорт в .csv или .xlsx. Мы рассмотрим варианты для разных версий платформы (включая 1С 8.3), типовых конфигураций (Бухгалтерия 3.0, Управление торговлей 11, Зарплата и управление персоналом 3.1) и пользователей с разным уровнем доступа.
Если вы не уверены, какой способ выбрать, ответьте на два вопроса:
- Нужны ли данные в структурированном виде (для дальнейшей обработки) или достаточно «картинки» (например, скриншота отчета)?
- Есть ли у вас права администратора или доступ ограничен ролью «Пользователь»?
Ответы помогут сузить список подходящих методов.
1. Выгрузка через стандартные отчеты 1С
Самый простой способ — использовать встроенные отчеты. Он не требует прав администратора и подходит для большинства типовых конфигураций. Например, в 1С:Бухгалтерии 3.0 можно выгрузить оборотно-сальдовую ведомость, карточку счета или анализ субконто.
Чтобы сохранить отчет в файл:
- Откройте нужный отчет через меню
Отчеты → Стандартные отчеты(илиБухгалтерские отчетыдля бухгалтерских конфигураций). - Настройте параметры (период, организация, счета) и нажмите
Сформировать. - В открывшемся окне отчета найдите кнопку
Еще → Сохранить как...(илиФайл → Сохранитьв старых версиях). - Выберите формат:
.xlsx(для Excel),.mxl(для печати),.pdf.
- ✅ Плюсы: не требует технических навыков, работает без доступа к конфигуратору.
- ❌ Минусы: ограниченный набор полей, нельзя выгрузить справочники (только итоговые данные отчетов).
- 🔄 Альтернатива: если нужны детализированные данные (например, все проводки по счету), используйте отчет
Обороты между субконтос детализацией по документам.
Важно! В некоторых конфигурациях (например, 1С:Управление торговлей 11) при выгрузке в .xlsx могут «съезжать» колонки из-за большого количества вложенных групп. Чтобы этого избежать, перед сохранением:
- Уберите группировки в отчете (кнопка
Настройки → Группировки). - Отключите иерархию в колонках (снимите галочку
Показывать иерархию).
2. Экспорт данных через «Все функции» (универсальный метод)
Если стандартных отчетов недостаточно, воспользуйтесь меню Все функции. Этот способ позволяет выгрузить почти любую таблицу данных — от справочников до документов. Подходит для 1С 8.3 и более ранних версий.
Инструкция:
- Откройте главное меню и выберите
Все функции(если пункта нет, нажмитеПоказать все командыв настройках панели). - В поисковой строке введите название объекта, например,
Справочник.НоменклатураилиДокумент.ПоступлениеТоваров. - Выберите команду
Открыть списокилиОткрыть форму списка. - В открывшемся списке нажмите
Еще → Выгрузить данные(илиФайл → Выгрузить). - Укажите формат:
.csv,.xlsxили.mxl.
Убедиться, что в списке отображаются все нужные колонки (настроить через "Настройки списка")
Отфильтровать данные (кнопка "Отбор"), если требуется выгрузить только часть записей
Проверить права доступа (нужна роль с правом на чтение объекта)
Сохранить текущий отбор/настройки (кнопка "Сохранить настройки") для повторного использования-->
🔹 Пример: Чтобы выгрузить список контрагентов с адресами и ИНН, откройте Справочник.Контрагенты, добавьте в таблицу колонки ИНН, ЮрАдрес и Телефон, затем выполните выгрузку в .xlsx.
Внимание: при выгрузке в CSV русские символы могут отображаться кракозябрами. Чтобы этого избежать, откройте файл в Excel и при импорте выберите кодировку Windows-1251 или UTF-8.
3. Использование внешних обработок для выгрузки
Если встроенных инструментов недостаточно, можно использовать внешние обработки. Это файлы с расширением .epf или .erf, которые расширяют функционал 1С. Например, популярная обработка «Выгрузка данных в Excel» от фирмы «1С» позволяет гибко настраивать поля и формат выгрузки.
Где взять обработки:
- 📁 Официальный каталог: на портале 1С:ИТС (раздел «Обработки»).
- 🌐 Сторонние ресурсы: Infostart, Клерк.Ру (проверяйте отзывы и рейтинг!).
- 💻 Самостоятельная разработка: если есть навыки 1C:EnterpriseScript, можно написать свою обработку в конфигураторе.
Как подключить обработку:
- Скачайте файл обработки (например,
ВыгрузкаВExcel.epf). - В 1С откройте
Файл → Открытьи выберите скачанный файл. - Запустите обработку и следуйте инструкциям на экране (обычно нужно выбрать объект, поля и формат).
| Обработка | Назначение | Формат выгрузки | Ссылка на источник |
|---|---|---|---|
| Выгрузка данных в Excel (1С) | Универсальная выгрузка справочников и документов | .xlsx, .csv |
Портал 1С:ИТС |
| Универсальный обмен данными | Обмен между базами 1С или выгрузка в XML | .xml, .zip |
Infostart |
| Выгрузка в DBF | Экспорт для работы с устаревшими системами | .dbf |
Клерк.Ру |
⚠️ Внимание: Перед использованием обработок от сторонних разработчиков проверьте их на тестовой базе. Некоторые файлы могут содержать вредоносный код или конфликтовать с вашей конфигурацией. Особенно осторожно скачивайте обработки с форумов — отдавайте предпочтение проверенным источникам с рейтингом и отзывами.
4. Выгрузка через конфигуратор (для администраторов)
Если у вас есть доступ к конфигуратору, можно выгрузить данные напрямую из базы. Этот метод подходит для технических специалистов и позволяет гибко настраивать выборку.
Инструкция для выгрузки в .csv:
- Откройте 1С в режиме
Конфигуратор(при запуске удерживайтеShiftили выберите в списке баз). - Перейдите в
Администрирование → Выгрузка данныхили используйтеЗапросы(Файл → Новый → Запрос). - Напишите запрос на языке 1C:EnterpriseScript, например:
ВЫБРАТЬНоменклатура.Наименование КАК Товар,
Номенклатура.Артикул,
Номенклатура.Цена
ИЗ
Справочник.Номенклатура КАК Номенклатура
- Выполните запрос (
F5) и сохраните результат черезФайл → Сохранить как....
🔹 Пример запроса для выгрузки остатков товаров:
ВЫБРАТЬ
ОстаткиТоваров.Номенклатура КАК Товар,
ОстаткиТоваров.КоличествоОстаток КАК Остаток,
ОстаткиТоваров.Склад КАК Склад
ИЗ
РегистрНакопления.ОстаткиТоваров КАК ОстаткиТоваров
ГДЕ
ОстаткиТоваров.Склад = &Склад
Здесь &Склад — параметр, который запрашивается при выполнении.
⚠️ Внимание: При работе с большими базами (более 100 000 записей) выгрузка через конфигуратор может занять много времени или привести к зависанию. В таких случаях используйте пакетную выгрузку (разбивайте запрос на части по датам или алфавиту) или выгружайте данные ночью.
5. Автоматизированный обмен данными (XML, JSON, EnterpriseData)
Для регулярной выгрузки (например, ежедневной передачи данных в CRM или аналитическую систему) настройте автоматизированный обмен. В 1С есть несколько механизмов:
- 📤 Универсальный формат обмена (XML): подходит для интеграции с другими системами 1С или внешними сервисами. Настраивается через
Администрирование → Обмен данными. - 🔄 EnterpriseData: современный формат для обмена между базами 1С (например, между УТ 11 и Бухгалтерией 3.0).
- 🌐 REST API: для интеграции с веб-сервисами (требует настройки на стороне 1С и внешней системы).
Пример настройки обмена в XML:
- В базе-источнике перейдите в
Администрирование → Обмен данными → Настройка обмена. - Создайте новый узел обмена (укажите имя, например,
ВыгрузкаВCRM). - Выберите объекты для обмена (справочники, документы) и настройте правила преобразования.
- Запустите выгрузку через
Выполнить обмен.
Пример файла обмена в формате XML
<Справочник.Контрагенты> <Контрагент> <Наименование>ООО "Ромашка"Наименование> <ИНН>1234567890ИНН> <Адрес>г. Москва, ул. Ленина, д. 1Адрес> Контрагент> Справочник.Контрагенты>
🔹 Для разработчиков: Если нужно выгрузить данные в JSON для передачи в веб-сервис, используйте следующий код на 1C:EnterpriseScript:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Наименование КАК Name,
| Контрагенты.ИНН КАК INN
|ИЗ
| Справочник.Контрагенты КАК Контрагенты";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
JSONСтроки = Новый Массив;
Пока Выборка.Следующий() Цикл
JSONСтроки.Добавить(СтрШаблон("""Name"": ""%1"", ""INN"": ""%2""",
Выборка.Name, Выборка.INN));
КонецЦикла;
JSON = "[" + СтрСоединить(JSONСтроки, ", ") + "]";
ЗаписатьJSONВФайл(JSON, "C:\Export\contragents.json");
6. Выгрузка через COM-соединение и внешние программы
Для автоматизации выгрузки из 1С во внешние системы (например, Excel, Python-скрипты или Power Query) используйте COM-соединение. Этот метод позволяет программно управлять 1С из других приложений.
Пример подключения к 1С из Excel VBA:
Sub ConnectTo1C()
Dim V8App As Object
Set V8App = CreateObject("V83.Application")
' Подключение к базе
V8App.Connect "File=""C:\Bases\Trade"";Usr=""Администратор"";Pwd=""123"";"
' Выполнение запроса
QueryText = "ВЫБРАТЬ ПЕРВЫЕ 10 Номенклатура.Наименование КАК Товар ИЗ Справочник.Номенклатура КАК Номенклатура"
Set Result = V8App.Execute(QueryText)
' Выгрузка результата в Excel
For i = 0 To Result.Count - 1
Cells(i + 1, 1).Value = Result.Get(i).Товар
Next i
V8App.Disconnect
End Sub
🔹 Для Python можно использовать библиотеку py3c:
from py3c import *
Подключение к базе
v8 = COMObject("V83.Application")
v8.Connect("File=""C:\Bases\Trade"";Usr=""Admin"";Pwd=""pass"";")
Выполнение запроса
query = """
ВЫБРАТЬ
Документ.ПоступлениеТоваров.Дата КАК Date,
Документ.ПоступлениеТоваров.СуммаДокумента КАК Sum
ИЗ
Документ.ПоступлениеТоваров КАК Документ.ПоступлениеТоваров
"""
result = v8.Execute(query)
Обработка результата
for row in result:
print(row.Date, row.Sum)
⚠️ Внимание: При использовании COM-соединения учитывайте:
- Требуется установленная платформа 1С 8.3 на компьютере.
- Пользователь, от имени которого выполняется подключение, должен иметь права на чтение данных.
- Для работы с 64-битными версиями 1С используйте
V83.Application, для 32-битных —V82.Application.
7. Выгрузка через регламентированные отчеты (для налоговой)
Если цель выгрузки — передача отчетности в ФНС, ПФР или ФСС, используйте встроенные регламентированные отчеты. Они автоматически формируются в требуемом формате (например, .xml для СЗВ-ТД или 6-НДФЛ).
Как выгрузить регламентированный отчет:
- Перейдите в
Отчеты → Регламентированные отчеты. - Выберите нужный отчет (например,
Декларация по НДСилиРасчет по страховым взносам). - Заполните параметры (период, организация) и нажмите
Сформировать. - Нажмите
ВыгрузитьилиСохранить как XML(кнопка обычно находится внизу формы отчета). - Проверьте файл через программу «Проверка отчетности» от ФНС (скачать можно на сайте
nalog.ru).
🔹 Частые ошибки при выгрузке:
- 🚫 Неверный период: отчет формируется за квартал, а вы указали месяц.
- 🚫 Отсутствуют подписи: для некоторых отчетов (например, СЗВ-ТД) требуется электронная подпись.
- 🚫 Неактуальная версия формы: если 1С не обновлялась, форма отчета может быть устаревшей.
Перед выгрузкой регламентированного отчета всегда проверяйте его на ошибки через кнопку Проверка в самой 1С. Это сэкономит время на доработку файла в программе ФНС.
8. Альтернативные способы: скриншоты, печать в PDF, OData
Если данные нужны в «необработанном» виде (например, для визуального анализа), можно использовать:
- 📸 Скриншоты: подходит для небольших таблиц. Используйте комбинацию
Alt + Print Screen(текущее окно) или программы вроде Lightshot. - 🖨️ Печать в PDF: почти любой отчет в 1С можно сохранить в
.pdfчерезФайл → Печать → Сохранить как PDF. - 🌐 OData: современный протокол для доступа к данным 1С через HTTP. Настраивается в
Администрирование → Публикация на веб-сервере. - 📊 Power Query: если 1С опубликована на веб-сервере, можно подключиться к ней напрямую из Excel или Power BI.
🔹 Пример подключения через OData:
- В 1С настройте публикацию базы на веб-сервере (
Администрирование → Публикация). - Укажите URL для OData (например,
http://server/base/odata/standard.odata). - В Excel перейдите на вкладку
Данные → Получить данные → Из других источников → Из OData. - Введите URL и авторизуйтесь (используйте логин/пароль пользователя 1С).
⚠️ Внимание: При публикации базы на веб-сервере убедитесь, что:
- На сервере установлен веб-сервер Apache или IIS.
- В настройках 1С включен протокол
HTTP-сервисы. - Порт (обычно
80или443) открыт в фаерволе.
FAQ: Частые вопросы по выгрузке данных из 1С
Можно ли выгрузить данные из 1С без прав администратора?
Да, но выбор способов ограничен. Вы можете:
- Использовать стандартные отчеты (выгрузка в
ExcelилиPDF). - Экспортировать данные через меню
Все функции(если роль позволяет читать объекты). - Попросить администратора настроить регламентный отчет с нужными полями.
Для выгрузки через конфигуратор, COM-соединение или запросы требуются права администратора.
Как выгрузить данные из 1С в Excel с сохранением формул?
Стандартная выгрузка из 1С в .xlsx сохраняет только значения. Чтобы перенести формулы:
- Выгрузите данные в
Excelчерез стандартный отчет. - В Excel создайте рядом столбцы с нужными формулами (например,
=B2*C2для расчета суммы). - Используйте Power Query для автоматического обновления данных из 1С с сохранением формул.
Альтернатива: напишите внешнюю обработку, которая будет выгружать не только данные, но и формулы (требуются навыки программирования на 1C:EnterpriseScript).
Почему при выгрузке в CSV русские буквы отображаются кракозябрами?
Проблема связана с кодировкой файла. Решения:
- При открытии файла в Excel выберите кодировку
Windows-1251илиUTF-8. - Откройте файл в Блокноте, затем сохраните с кодировкой
UTF-8. - Используйте внешнюю обработку, которая явно указывает кодировку при выгрузке.
Если выгружаете через конфигуратор, добавьте в запрос параметр кодировки:
Текст = Новый ТекстовыйДокумент;
Текст.ДобавитьСтроку("Сепаратор=;
Кодировка=UTF-8");
Как автоматизировать выгрузку данных из 1С по расписанию?
Для автоматической выгрузки настройте:
- 🕒 Регламентные задания в 1С (
Администрирование → Регламентные задания). - 🤖 Скрипты на Python с использованием
py3cи планировщика задач Windows. - 🔄 Обмен данными через
XMLилиEnterpriseDataс указанием расписания.
Пример настройки регламентного задания:
- Создайте обработку, которая выгружает данные в файл.
- В 1С перейдите в
Администрирование → Регламентные задания → Создать. - Укажите обработку, расписание (например, ежедневно в 23:00) и путь для сохранения файла.
Можно ли выгрузить данные из 1С в Google Sheets?
Да, для этого есть несколько способов:
- 📤 Через CSV: выгрузите данные из 1С в
.csv, затем импортируйте в Google Sheets (Файл → Импорт). - 🤖 С помощью Apps Script: напишите скрипт, который через
COM-соединениеилиREST APIтянет данные из 1С. - 🔗 Через Power Query: если 1С опубликована на веб-сервере, подключитесь к ней через Power Query Online в Google Sheets.
Пример скрипта для Apps Script:
function importFrom1C() {
var url = "http://your-server/base/odata/standard.odata/Catalog_Номенклатура";
var response = UrlFetchApp.fetch(url, {
headers: {Authorization: 'Basic ' + Utilities.base64Encode('login:password')}
});
var data = JSON.parse(response.getContentText());
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.getRange(1, 1).setValue("Наименование");
sheet.getRange(1, 2).setValue("Артикул");
for (var i = 0; i < data.value.length; i++) {
sheet.getRange(i + 2, 1).setValue(data.value[i].Description);
sheet.getRange(i + 2, 2).setValue(data.value[i].Article);
}
}