К статье
Практический материал

Администрирование · 12 мин

Как выгрузить базу 1С в CSV

Как выгрузить данные из 1С в CSV: табличные документы, обработки, запросы и внешние обработки. Кодировки, разделители, проверка результата и типичные ошибки.

CSV — простой текстовый формат, в котором данные хранятся построчно, а поля разделяются запятой, точкой с запятой или табуляцией. Выгрузка из 1С в CSV нужна, когда данные требуется передать в другую учётную систему, загрузить в интернет-магазин, обработать в скрипте или импортировать в BI-инструмент, который не понимает форматы Excel и MXL.

В 1С нет единой кнопки «выгрузить всю базу в CSV» — и это важно понимать сразу. CSV описывает одну плоскую таблицу, а база 1С состоит из сотен связанных объектов: справочников, документов, регистров. Поэтому выгружают не «базу целиком», а конкретные наборы данных: номенклатуру, контрагентов, остатки, обороты за период.

Способ выгрузки зависит от конфигурации (УТ, БП, ERP, ЗУП), её режима (обычное или управляемое приложение) и ваших прав. Ниже разобраны основные сценарии: от сохранения табличного документа до выгрузки через обработку и встроенный язык.

Что именно можно выгрузить и как выбрать способ

Перед выгрузкой определите, какой набор данных вам нужен. От этого зависит инструмент: одни способы подходят только для видимых списков, другие позволяют собрать данные из нескольких таблиц с отборами.

Типовые задачи и подходящие методы:

  • Список элементов справочника (номенклатура, контрагенты) — вывод списка в табличный документ и сохранение в CSV.
  • Данные отчёта (остатки, обороты, продажи) — сформировать отчёт и сохранить результат.
  • Произвольная выборка с отборами и соединениями таблиц — консоль запросов или универсальная обработка.
  • Регулярная автоматическая выгрузка — регламентное задание с кодом на встроенном языке.

Сравнение вариантов выгрузки

Вывод списка в табличный документ

Быстро и без прав разработчика, но выгружает только видимые колонки одного списка

Сохранение отчёта

Подходит для итогов и оборотов, но структура колонок зависит от настроек отчёта

Консоль запросов / обработка

Гибкая выборка любых данных, требует прав и навыка работы с запросами

Код на встроенном языке

Полный контроль и автоматизация, но нужен доступ к конфигуратору или внешней обработке

Выгрузка списка через табличный документ

Самый доступный способ — вывести список в табличный документ и сохранить его в нужном формате. Он работает в большинстве типовых конфигураций и не требует программирования.

Порядок действий в управляемом приложении (например, 1С:Бухгалтерия или Управление торговлей):

  1. Откройте нужный список, например «Номенклатура» или «Контрагенты».
  2. Настройте отбор и колонки: через «Ещё → Изменить форму» добавьте нужные поля, установите отбор.
  3. Выберите «Ещё → Вывести список». В появившемся окне отметьте выводимые колонки и нажмите «ОК».
  4. Список откроется как табличный документ. Выберите «Файл → Сохранить как» (или «Ещё → Сохранить»).
  5. В поле «Тип файла» укажите «Текстовый документ» с разделителями (CSV), если он доступен, либо сохраните в TXT с разделителями и задайте расширение .csv.
Порядок действий
  1. 1
    Откройте список и настройте отбор и колонки
  2. 2
    Ещё → Вывести список, отметьте нужные поля
  3. 3
    Сохраните табличный документ через Файл → Сохранить как
  4. 4
    Выберите текстовый формат с разделителями или CSV
  5. 5
    Откройте файл и проверьте кодировку и разделитель

В обычном приложении (старые версии УТ 10.3, БП 1.6/2.0) действия аналогичны: список выводится в табличный документ через кнопку вывода, затем сохраняется через «Файл → Сохранить копию» с выбором текстового формата.

У этого способа есть ограничение: выгружаются только те колонки, что видны в форме списка, и только текущий уровень иерархии. Если нужны поля, недоступные в форме, или данные из связанных таблиц — переходите к запросам и обработкам.

Выгрузка через отчёты и универсальные обработки

Если нужны итоговые данные — остатки на складах, обороты по счетам, продажи за период — удобнее сформировать стандартный отчёт и сохранить его результат. Отчёт уже содержит готовую таблицу, которую остаётся выгрузить тем же способом: «Файл → Сохранить как» с выбором текстового формата.

Для произвольных выборок в типовых конфигурациях часто есть встроенные инструменты. Например, «Универсальный отчёт» позволяет собрать данные по справочнику или документу с отборами, а «Групповая обработка справочников и документов» — выгрузить список с произвольными реквизитами. В конфигурациях на БСП (библиотека стандартных подсистем) может быть доступна обработка «Загрузка и выгрузка данных XML», но она работает с XML, а не с CSV.

Популярный вариант среди специалистов — консоль запросов (входит в состав «Инструментов разработчика» и подобных подсистем). В ней вы пишете запрос на языке запросов 1С, выполняете его и сохраняете результат в табличный документ, а далее — в CSV. Это даёт полный контроль над составом полей и отборами.

Выгрузка в CSV кодом на встроенном языке

Когда выгрузку нужно делать регулярно или выгружать данные, которых нет ни в одном отчёте, используют встроенный язык 1С. Типовой подход — сформировать текст построчно и записать его в файл через объект «ТекстовыйДокумент» или «ЗаписьТекста».

Пример простейшей выгрузки номенклатуры в CSV с разделителем «точка с запятой»:

Текст = Новый ТекстовыйДокумент;

Запрос = Новый Запрос(

"ВЫБРАТЬ

| Номенклатура.Код,

| Номенклатура.Наименование,

| Номенклатура.Артикул

|ИЗ

| Справочник.Номенклатура КАК Номенклатура

|ГДЕ

| НЕ Номенклатура.ПометкаУдаления");

Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл

Строка = Выборка.Код + ";" + Выборка.Наименование + ";" + Выборка.Артикул;

Текст.ДобавитьСтроку(Строка);

КонецЦикла;

Текст.Записать("C:\Export\nomenklatura.csv", КодировкаТекста.UTF8);

Ключевые моменты в этом коде: разделитель выбирается вами явно, кодировка задаётся параметром при записи, а помеченные на удаление объекты исключаются отбором в запросе. Для больших объёмов вместо строковой конкатенации лучше использовать «ЗаписьТекста» с построчной записью — это снижает расход памяти.

Такой код можно оформить как внешнюю обработку (открывается через «Файл → Открыть») или как регламентное задание для автоматической выгрузки по расписанию. Оба варианта требуют соответствующих прав и аккуратности: ошибка в запросе на больших таблицах может надолго нагрузить сервер.

Кодировка, разделитель и форматирование значений

Большинство проблем с CSV возникают не на этапе выгрузки, а при открытии файла. Три параметра определяют, корректно ли прочитается результат: кодировка, разделитель полей и представление значений.

Кодировка. Для русскоязычных данных используйте UTF-8 — её понимают почти все современные программы. Устаревшая ANSI (Windows-1251) тоже работает, но при передаче файла на другую платформу (Linux, веб-сервисы) часто даёт нечитаемые символы. Если в 1С при сохранении не предлагается выбор кодировки, файл обычно пишется в UTF-8 или системной кодировке — проверьте результат открытием в текстовом редакторе.

Разделитель. В русской локали Excel по умолчанию ожидает точку с запятой, а не запятую, потому что запятая — десятичный разделитель чисел. Если выгружаете для Excel — используйте «;». Если для загрузки в стороннюю систему — уточните в её документации, какой разделитель она ожидает, и есть ли требования к кавычкам вокруг текстовых полей.

Форматирование. Числа выгружайте без разделителей групп разрядов (пробел между тысячами ломает парсинг), даты — в едином формате, например ГГГГ-ММ-ДД. Если текстовое поле может содержать разделитель или перевод строки, заключайте его в двойные кавычки, а внутренние кавычки удваивайте — это стандартное правило экранирования CSV.

Типичные ошибки
01
Сохранение в кодировке ANSI и передача файла в веб-систему — русские буквы превращаются в нечитаемые символы
02
Разделитель-запятая при выгрузке для русского Excel — все данные слипаются в одну колонку
03
Числа с пробелами-разделителями разрядов — принимающая система не распознаёт их как числа
04
Выгрузка без фильтра пометок удаления — в файле оказываются удалённые объекты и задвоения
05
Текст с разделителем внутри без кавычек — строки «разъезжаются», количество колонок пляшет от строки к строке

Проверка результата выгрузки

Не считайте задачу выполненной, пока не проверили файл. Минимальная проверка занимает пару минут и избавляет от ситуации, когда выгрузку «сделали», а принимающая сторона её отклонила.

Откройте файл в простом текстовом редакторе (не в Excel — он перекодирует и переформатирует данные при открытии). Убедитесь, что русский текст читается, каждая строка содержит одинаковое число разделителей, а первая строка — это заголовки колонок, если они требуются. Затем сравните количество строк с количеством элементов в исходном списке с учётом отбора.

Контрольные точки

Как проверить результат

Кодировка файла
Норма

Русский текст читается в редакторе и в принимающей системе

Тревожный признак

Символы отображаются как знаки вопроса или «кракозябры»

Структура строк
Норма

Во всех строках одинаковое число разделителей

Тревожный признак

Часть строк смещена, колонки «плывут»

Полнота данных
Норма

Число строк совпадает с количеством элементов в отборе 1С

Тревожный признак

Строк заметно меньше или больше, есть дубли

Числа и даты
Норма

Числа без пробелов, даты в едином формате

Тревожный признак

Разряды с пробелами, даты вперемешку в разных форматах

Если файл предназначен для загрузки в другую систему, сделайте тестовый импорт на небольшом фрагменте — выгрузите 10–20 строк и попробуйте загрузить их. Это выявит несовпадение разделителей, порядка колонок и форматов до того, как вы подготовите полный файл.

Ограничения, альтернативы и безопасность данных

CSV — однотабличный формат без типов данных, поэтому он не подходит, если нужно перенести структуру базы, иерархию справочников со всеми связями или документы с табличными частями «как есть». Для полного переноса данных между базами 1С используют выгрузку в XML (обработка «Выгрузка и загрузка данных XML» или «Конвертация данных»), а для резервной копии — выгрузку информационной базы в файл .dt через конфигуратор.

Маршрут решения

Как выбрать действие

Нужен один список или таблица для Excel или сторонней системыИспользуйте вывод списка в табличный документ с сохранением в CSV
Нужны данные из нескольких таблиц с отборамиСоберите выборку консолью запросов или внешней обработкой
Нужна регулярная автоматическая выгрузкаОформите код выгрузки как регламентное задание
Нужно перенести данные между базами 1С со связямиИспользуйте XML-обмен или Конвертацию данных, а не CSV
Нужна резервная копия всей базыДелайте выгрузку в .dt через конфигуратор или средствами СУБД

Отдельно учитывайте безопасность: в выгрузке могут оказаться персональные данные сотрудников и контрагентов, цены, обороты. Передавайте CSV-файлы только по защищённым каналам, удаляйте лишние колонки до отправки и не храните выгрузки в общедоступных папках. Права на выгрузку данных должны быть только у тех сотрудников, которым это необходимо по работе.

Итог

Что важно запомнить

CSV выгружает одну плоскую таблицу, поэтому «выгрузить всю базу» нельзя — выгружайте конкретные списки и выборки. Простейший путь — «Ещё → Вывести список» и сохранение табличного документа; гибкий путь — запрос или обработка. Контролируйте кодировку UTF-8, разделитель и отсутствие помеченных на удаление объектов, и всегда проверяйте файл до передачи.

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

Можно ли выгрузить всю базу 1С в один CSV-файл?

Нет. CSV описывает одну таблицу, а база 1С — это множество связанных объектов. Выгружайте данные порциями: отдельно номенклатуру, отдельно контрагентов, отдельно обороты. Для полного переноса базы используйте выгрузку в .dt или XML-обмен.

Почему Excel открывает CSV с иероглифами вместо русских букв?

Чаще всего файл сохранён в UTF-8 без маркера BOM, а Excel ожидает ANSI. Решения: сохраняйте файл в кодировке Windows-1251, открывайте CSV через «Данные → Получение данных из текстового файла» с явным указанием кодировки или используйте редактор, который корректно определяет UTF-8.

Все данные после выгрузки оказались в одной колонке Excel. Что делать?

Разделитель в файле не совпадает с ожидаемым. В русской локали Excel по умолчанию разделяет поля точкой с запятой. Либо выгрузите файл с разделителем «;», либо в Excel используйте инструмент «Текст по столбцам» и укажите фактический разделитель вручную.

Как выгрузить данные, если нет прав на конфигуратор и внешние обработки?

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

Как исключить из выгрузки помеченные на удаление объекты?

В запросе добавьте условие «НЕ ПометкаУдаления». При выводе списка в табличный документ включите в форме списка отбор «Скрывать помеченные на удаление» — стандартная команда отбора в большинстве конфигураций.

Чем CSV отличается от сохранения в Excel?

CSV — чистый текст без форматирования, формул и типов данных, его легко читают скрипты и сторонние системы. Excel-файл сохраняет форматирование, но хуже подходит для автоматической обработки и занимает больше места. Для обмена между системами обычно выбирают CSV, для просмотра человеком — Excel.