Выгрузка данных из 1С:Предприятие — одна из самых востребованных операций среди бухгалтеров, аналитиков и IT-специалистов.hether вы переносите отчетность в налоговую, интегрируете систему с сайтом или просто нуждаетесь в резервной копии — правильный экспорт информации сэкономит часы работы. Но здесь кроется подвох: неверный формат выгрузки может привести к потере связей между документами, искажению сумм или даже блокировке базы при больших объемах данных.
В этой статье мы разберем 5 проверенных способов выгрузки — от простейшего копирования в Excel до программного обмена через REST API. Особое внимание уделим типичным ошибкам, которые превращают рутинную операцию в многодневную головную боль. Например, почему выгрузка в XML через стандартный механизм может "обрезать" реквизиты справочников, и как этого избежать.
Независимо от вашей роли — бухгалтер, ищущий способ сдать декларацию, или разработчик, настраивающий интеграцию с CRM — здесь вы найдете рабочие решения с пошаговыми инструкциями. А если вы работаете с облачной версией 1С:Фреш, отдельный раздел расскажет о нюансах выгрузки через веб-интерфейс.
1. Выгрузка в Excel: быстрый способ для небольших объемов
Самый простой метод, который не требует технических навыков — экспорт данных прямо в Microsoft Excel или LibreOffice Calc. Он идеально подходит для одноразовых отчетов, например, когда нужно предоставить руководителю сводку по остаткам товаров или список контрагентов. Однако у этого способа есть жесткое ограничение: максимум 1 048 576 строк (лимит Excel), что делает его непригодным для крупных баз.
Чтобы выгрузить данные в Excel:
- Откройте нужный справочник или отчет (например,
Справочники → Номенклатура). - Нажмите
Ещё → Выгрузить в Excel(илиФайл → Сохранить как...в старых версиях). - Выберите формат:
.xlsx(рекомендуется) или.xls(устаревший). - Укажите путь для сохранения файла.
⚠️ Внимание: При выгрузке иерархических справочников (например, номенклатуры с группами) Excel может "сплющить" структуру, потеряв вложенность. Чтобы сохранить иерархию, предварительно настройте отображение колонок с отступами в 1С (Действия → Настройки списка).
Еще одна ловушка — форматирование чисел. Если в 1С суммы хранятся с двумя знаками после запятой, а в Excel они отображаются как целые, проверьте региональные настройки программы. В крайнем случае примените формат ячеек Числовой с двумя десятичными знаками вручную.
Выбрать актуальный отчет или справочник
Проверить фильтры (даты, организации, склады)
Убрать лишние колонки через "Настройки списка"
Сохранить файл в формате .xlsx (не .xls!)
Проверьте первые 10 строк на корректность данных-->
2. Выгрузка в XML: универсальный формат для обмена
XML — это "язык разметки", который понимают почти все программы, от 1С до государственных порталов (например, nalog.ru). Выгрузка в XML незаменима, когда нужно передать данные в государственные информационные системы (ГИС, ЕГАИС) или интегрироваться с другими бизнес-приложениями. Главное преимущество — сохранение структуры данных (связи между документами, справочниками, регистрами).
Стандартный алгоритм выгрузки в XML:
- Перейдите в нужный раздел (например,
Документы → Реализация товаров). - Выделите документы (или используйте фильтр по дате).
- Нажмите
Ещё → Выгрузить данныеи выберите форматXML. - В открывшемся окне укажите:
- 📌 Кодировку:
UTF-8(обязательно для кириллицы!). - 📌 Схему данных: если интегрируетесь с другой системой, запросите XSD-схему у разработчиков.
- 📌 Глубину выгрузки: например, "Только заголовки" или "С табличными частями".
- 📌 Кодировку:
- 📊 Выгрузить данные в
JSONдля веб-сервиса. - 📊 Объединить несколько справочников в один файл.
- 📊 Добавить в выгрузку расчетные поля (например, "Прибыль по сделке").
⚠️ Внимание: Если выгружаете данные для ЭДО (электронного документооборота), проверьте, что в XML включены электронные подписи и штампы времени. Без них документы могут быть отклонены оператором ЭДО (например, Диадок или СБИС).
Для автоматизации регулярной выгрузки (например, ежедневной отправки прайс-листов поставщикам) используйте обработку "Универсальный обмен данными" (
Если при попытке открыть выгруженный Файл → Открыть → Дополнительные отчеты и обработки). Она позволяет сохранять настройки шаблонов и запускать выгрузку по расписанию.
Что делать, если XML-файл не открывается?
XML браузер или текстовый редактор показывает кракозябры, проблема в кодировке. Откройте файл в Notepad++ и конвертируйте в UTF-8 без BOM через меню Кодировки → Преобразовать в UTF-8. Если файл слишком большой (более 50 МБ), используйте специализированные XML-редакторы вроде XML Notepad или Oxygen XML Editor.
3. Выгрузка через внешние обработки: гибкость и автоматизация
Стандартные механизмы 1С не всегда покрывают специфические задачи. Например, вам может понадобиться:
В таких случаях на помощь приходят внешние обработки — готовые или написанные под заказ.
Где взять обработки:
- Инфостарт (infostart.ru) — крупнейшая библиотека с бесплатными и платными решениями.
- 1С:ИТС — официальный портал технической поддержки (доступно подписчикам).
- GitHub — для программистов (поиск по запросу
1C XML export).
Пример популярных обработок:
| Название обработки | Формат выгрузки | Особенности |
|---|---|---|
| ВыгрузкаУниверсальная | XML, JSON, CSV |
Поддерживает выгрузку по произвольным запросам |
| ExchangePlan | XML (для обмена между базами 1С) |
Сохраняет ссылки между объектами |
| DataProcessor | Excel, PDF |
Генерация печатных форм с логотипом компании |
⚠️ Внимание: Перед использованием сторонней обработки проверьте ее на тестовой базе. Некоторые скрипты могут содержать ошибки, ведущие к потере данных или зависанию 1С. Обязательно создайте резервную копию перед массовой выгрузкой!
Для программистов: если вам нужно написать собственную обработку, используйте встроенный язык 1С и объекты Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Ссылка, | Номенклатура.Наименование КАК Наименование |ИЗ | Справочник.Номенклатура КАК Номенклатура"; Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); JSON = Новый ЗаписьJSON; JSON.ОткрытьФайл(КаталогВыгрузки + "номенклатура.json"); JSON.ЗаписатьНачалоОбъекта(); JSON.ЗаписатьИмяСвойства("items"); JSON.ЗаписатьНачалоМассива(); Пока Выборка.Следующий() Цикл JSON.ЗаписатьНачалоОбъекта(); JSON.ЗаписатьСвойство("id", Выборка.Ссылка.УникальныйИдентификатор()); JSON.ЗаписатьСвойство("name", Выборка.Наименование); JSON.ЗаписатьКонецОбъекта(); КонецЦикла; JSON.ЗаписатьКонецМассива(); JSON.ЗаписатьКонецОбъекта(); JSON.Закрыть(); КонецПроцедурыЗапрос, XMLЗапись, JSONЗапись. Пример кода для выгрузки справочника в JSON:
Процедура ВыгрузитьВJSON(КаталогВыгрузки)
Если выгружаете данные для веб-разработчиков, уточните у них требуемую структуру JSON. Часто нужны не только данные, но и метаинформация (например, версии объектов или даты последнего изменения).
4. Выгрузка через COM-соединение и OLE: для интеграции с другими программами
Если вам нужно автоматически передавать данные из 1С в другую программу (например, Word, AutoCAD или корпоративную CRM), используйте COM-соединение. Этот метод позволяет управлять 1С из внешних приложений или наоборот — запускать другие программы прямо из 1С.
Типичные сценарии:
Пример кода для выгрузки данных в Excel
OLE:
Процедура ВыгрузитьВExcelЧерезOLE()
Excel = Новый COMОбъект("Excel.Application");
Книга = Excel.Workbooks.Add();
Лист = Книга.Worksheets(1);
// Заголовки колонок
Лист.Cells(1, 1).Value = "Код";
Лист.Cells(1, 2).Value = "Наименование";
Лист.Cells(1, 3).Value = "Цена";
// Данные из 1С
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 100
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.ЦенаПродажи КАК Цена
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Строка = 2;
Пока Выборка.Следующий() Цикл
Лист.Cells(Строка, 1).Value = Выборка.Код;
Лист.Cells(Строка, 2).Value = Выборка.Наименование;
Лист.Cells(Строка, 3).Value = Выборка.Цена;
Строка = Строка + 1;
КонецЦикла;
// Сохранение файла
ПутьКФайлу = "C:\Export\номенклатура.xlsx";
Книга.SaveAs(ПутьКФайлу);
Excel.Quit();
КонецПроцедуры
⚠️ Внимание: При работе с Критическая особенность: если выгружаете данные в 64-разрядную версию Excel, а 1С работает в 32-разрядном режиме, используйте промежуточный формат (например, Если вы работаете с облачной версией 1С:Фреш Основные преимущества Пример запроса к COM-объектами всегда освобождайте ресурсы с помощью метода .Quit() или .Close(). Иначе процесс Excel может остаться висеть в памяти, что приведет к замедлению системы или ошибкам при повторном запуске.
CSV), чтобы избежать конфликтов библиотек.
5. Выгрузка через REST API: современный подход для облачных решений
REST API — самый гибкий способ. Он позволяет выгружать данные по расписанию, по событию (например, после проведения документа) или по запросу из внешней системы.
REST API:
REST API 1С:Фреш
GET https://api.1cfresh.com/v1/contractors
Headers:
Authorization: Bearer {ваш_token}
Accept: application/json
Query Params:
limit=100
offset=0
fields=id,name,inn,kpp
⚠️ Внимание: При работе с Для автоматизации выгрузки через REST API — единственный способ выгрузить данные из 1С:Фреш без ручного экспорта. Однако он требует навыков программирования или помощи IT-специалиста. Если вам нужна полная выгрузка базы (например, для переноса на другой сервер или создания резервной копии), используйте конфигуратор 1С. Этот метод позволяет выгрузить всю информационную базу в файл Пошаговая инструкция для выгрузки всей базы:
⚠️ Внимание: Файл Если вам нужны только изменения (например, для синхронизации двух баз), используйте механизм планов обмена:
Важно: выгрузка через конфигуратор блокирует базу на время операции. Планируйте это на период минимальной нагрузки (например, ночью).
Даже опытные пользователи 1С сталкиваются с проблемами при выгрузке данных. Вот TOP-5 ошибок и способы их решения:
⚠️ Внимание: Если выгружаете данные для государственных систем (например, ФНС или Росстат), всегда проверяйте актуальные требования к форматам на официальных сайтах. Например, с 2023 года ФНС требует подписи файлов Да, но напрямую — только через Для автоматизации используйте Google Apps Script с подключением к История изменений хранится в журнале регистрации. Чтобы ее выгрузить: Для детального анализа (кто и когда изменил документ) используйте отчет Это происходит, если в настройках выгрузки не указан параметр Если выгружаете для другой системы, уточните у ее разработчиков, какой формат Есть несколько способов: Для сложных сценариев (например, выгрузка только измененных данных) напишите обработку на встроенном языке 1С. Да, но с ограничениями: Помните, что на телефоне удобно работать только с небольшими объемами данных (до 10 000 строк).API никогда не храните токены доступа в коде программы. Используйте переменные окружения или защищенные хранилища (например, Azure Key Vault). Утечка токена может привести к несанкционированному доступу к вашей базе.
API можно использовать:
requests — для гибких скриптов.6. Выгрузка через конфигуратор: для администраторов и программистов
.dt или отдельные объекты (документы, справочники) в XML.
в режиме Конфигуратор (удерживайте Shift при запуске).
Администрирование → Выгрузить информационную базу..dt)..dt не предназначен для редактирования — это бинарный формат, который можно только загрузить обратно в 1С. Для анализа данных используйте выгрузку в XML через Администрирование → Выгрузить данные XML.
Общие → Планы обмена).Администрирование → Обмен данными с узлом.Типичные ошибки и как их избежать
Ошибка
Причина
Решение
Файл
XML не открываетсяНеверная кодировка или поврежденная структура
Проверьте кодировку (
UTF-8) и валидность через xmlvalidation.com
В Excel вместо кириллицы "???"
Конфликт кодировок (
Windows-1251 vs UTF-8)При выгрузке укажите
UTF-8 и откройте файл в Excel через Данные → Из текста
Выгрузка прерывается на 65 536 строке
Ограничение старого формата
.xlsИспользуйте
.xlsx или разбейте данные на несколько файлов
В
JSON пустые поля вместо данныхНеверный формат запроса или права доступа
Проверьте права пользователя и структуру запроса в конфигураторе
Ошибка "Недостаточно памяти"
Слишком большой объем данных для обработки
Выгружайте данные порциями (по датам, группам справочников)
XML квалифицированной электронной подписью (КЭП).
FAQ: Частые вопросы по выгрузке из 1С
Можно ли выгрузить данные из 1С в Google Sheets?
COM-соединение или REST API. Проще всего:
CSV из 1С.Файл → Импорт.1С:Фреш API.Как выгрузить историю изменений документа?
Администрирование → Журнал регистрации.Excel или XML."История изменений" из конфигуратора.Почему при выгрузке в XML теряются ссылки между документами?
"Ссылки" или "Глубина выгрузки". Решение:
"Выгружать ссылки".EnterpriseData (для обмена между базами 1С).XML они поддерживают.Как автоматизировать ежедневную выгрузку данных?
1С:Фреш.Можно ли выгрузить данные из 1С на телефон?
Excel или CSV, затем откройте в Google Sheets или Microsoft Excel Mobile.