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

Справочники и Данные · 12 мин

Как выгрузить данные из 1С в формате CSV

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

Формат CSV — самый простой способ передать данные из 1С в другую систему: табличный редактор, сайт, CRM или программу аналитики. Файл представляет собой обычный текст, где строки — это записи, а значения внутри строки разделены запятой, точкой с запятой или табуляцией. Такой файл открывается в Excel, LibreOffice, Google Таблицах и легко читается скриптами.

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

Ниже разобраны все основные способы с конкретными шагами, настройкой разделителей и кодировки, а также проверкой результата. Инструкции актуальны для типовых конфигураций на управляемых формах (УТ 11, ERP, Бухгалтерия 3.0, Комплексная автоматизация) и платформы 8.3.

Что нужно проверить перед выгрузкой

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

Уточните требования принимающей стороны. Большинство российских систем и Excel в русской локали ожидают разделитель «точка с запятой», тогда как международный стандарт CSV подразумевает запятую. Кодировка чаще всего UTF-8, но старые программы могут требовать Windows-1251.

Также проверьте права доступа. Для выгрузки списков достаточно прав пользователя с доступом к нужному разделу, а вот запуск внешних обработок и выгрузка через «Все функции» могут быть закрыты администратором. Если кнопки недоступны — запросите доступ или попросите выполнить выгрузку того, у кого права есть.

Нужен один отчёт или списокРазовая задача

Достаточно сохранения табличного документа в текстовый формат

Нужен целый справочник или регистрМассовая выгрузка

Потребуется обработка или выгрузка списка с настройкой колонок

Выгрузка повторяется регулярноАвтоматизация

Нужна собственная обработка или регламентное задание

Принимающая система указанаЕсть требования к формату

Уточните разделитель, кодировку и порядок колонок заранее

Способ 1. Сохранение табличного документа в текст с разделителями

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

Далее откройте меню «Файл → Сохранить как» (или нажмите Ctrl+S) и в поле «Тип файла» выберите «Текст с разделителями (*.txt)» либо «Текстовый документ». Платформа сохранит содержимое таблицы построчно, разделяя ячейки символом-разделителем. Полученный файл можно переименовать из .txt в .csv — по сути это один и тот же формат.

Ограничение способа: выгружается только то, что видно в табличном документе, включая шапки, итоги и группировки. Если в отчёте есть объединённые ячейки или многоуровневая шапка, в CSV они превратятся в лишние пустые колонки и строки. Поэтому способ хорош для плоских списков и плохо — для сложных отчётов с иерархией.

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

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

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

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

После вывода списка действуйте как в первом способе: сохраните табличный документ в текстовый формат с разделителями. Перед сохранением уберите из списка служебные колонки вроде пиктограмм состояния — в CSV они дадут пустые столбцы.

Способ 3. Универсальные обработки и обмен данными

Когда штатных средств не хватает, используют внешние обработки. На диске информационно-технологического сопровождения (ИТС) и в составе типовых конфигураций есть инструменты выгрузки данных; кроме того, существуют распространённые обработки «Выгрузка в CSV», которые позволяют выбрать объект метаданных, отбор, состав полей и разделитель.

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

Для обмена между двумя базами 1С формат CSV обычно не нужен — там применяют «Универсальный обмен данными в формате XML». CSV оправдан именно для передачи во «внешний мир»: на сайт, в Excel, в стороннее ПО.

Способ 4. Выгрузка встроенным языком 1С

Для регулярной выгрузки или нестандартных требований пишут собственный код. Во встроенном языке есть объект «ТекстовыйДокумент» и чтение/запись текста с указанием кодировки, что позволяет сформировать CSV любой структуры и сохранить его на диск или отправить по сети.

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

bsl
Запрос = Новый Запрос("ВЫБРАТЬ Код, Наименование, Артикул ИЗ Справочник.Номенклатура");
Выборка = Запрос.Выполнить().Выбрать();
Текст = Новый ЗаписьТекста("C:\Export\nomenklatura.csv", КодировкаТекста.UTF8);
Пока Выборка.Следующий() Цикл
    Строка = Строка(Выборка.Код) + ";" + Выборка.Наименование + ";" + Выборка.Артикул;
    Текст.ЗаписатьСтроку(Строка);
КонецЦикла;
Текст.Закрыть();

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

Разделители, кодировка и экранирование значений

Корректный CSV подчиняется простым правилам. Если значение содержит разделитель, перевод строки или кавычки, всё значение заключается в двойные кавычки, а внутренние кавычки удваиваются. Например, наименование «Труба 3/4", стальная» в файле должно выглядеть как "Труба 3/4"", стальная".

По кодировке ориентируйтесь на принимающую систему. UTF-8 — универсальный выбор; чтобы Excel корректно определял кириллицу при двойном щелчке по файлу, полезно записывать файл в UTF-8 с BOM. Windows-1251 выбирайте только если принимающая программа явно её требует.

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

Проверка результата и типичные ошибки

После выгрузки обязательно откройте файл и сверьте его с источником. Проверьте количество строк (совпадает ли с числом записей в отборе), корректность кириллицы, разбиение по колонкам и отсутствие «разъехавшихся» строк. Удобно открыть файл сначала в простом текстовом редакторе — там видна реальная структура без автоинтерпретации Excel.

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

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

Количество строк
Норма

Совпадает с числом записей в отборе 1С (плюс строка заголовка)

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

Строк меньше — часть данных не выгрузилась или обрезалась

Кириллица
Норма

Текст читается в Excel и в редакторе

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

Кракозябры — несовпадение кодировки файла и программы

Колонки
Норма

Каждое значение в своей ячейке

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

Вся строка в одной ячейке — неверный разделитель при открытии

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

Ведущие нули и длинные коды сохранены

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

Excel обрезал нули или преобразовал код в число/дату

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

Как выбрать подходящий способ

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

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

Нужно разово выгрузить сформированный отчёт или список до нескольких тысяч строкСохраните табличный документ через «Файл → Сохранить как» в текст с разделителями
Нужен справочник или документы с отбором и настраиваемыми колонкамиИспользуйте «Ещё → Вывести список» с настройкой колонок, затем сохраните
Выгрузка повторяется регулярно или объём очень большойЗакажите или напишите обработку на встроенном языке с записью файла порциями
Принимающая система задаёт жёсткий шаблон CSVФормируйте файл кодом, контролируя разделитель, кавычки и порядок полей

При сомнениях начинайте с самого простого способа и проверяйте результат на принимающей стороне. Часто оказывается, что штатного «Сохранить как» достаточно, а сложная обработка не нужна. И наоборот: если файл требуется каждую неделю в строгом виде, один раз вложиться в автоматизацию выгоднее, чем каждый раз собирать его вручную.

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

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

Для разовой выгрузки сохраняйте табличный документ в текст с разделителями, для списков используйте «Вывести список», для регулярных задач — обработку или код. Заранее согласуйте разделитель и кодировку, экранируйте значения и всегда проверяйте файл после выгрузки: число строк, кириллицу и разбиение по колонкам.

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

Можно ли выгрузить из 1С сразу в Excel вместо CSV?

Да. Табличный документ сохраняется и в формат XLSX через «Файл → Сохранить как». Но если принимающая система требует именно CSV, лучше сразу формировать CSV: промежуточное сохранение через Excel может изменить форматы чисел, дат и обрезать ведущие нули.

Почему при открытии CSV в Excel весь текст оказывается в одном столбце?

Excel подставляет разделитель из региональных настроек системы. В русской локали это точка с запятой; если в файле запятая, столбцы слипаются. Решение — импортировать файл через «Данные → Из текстового/CSV-файла» и указать разделитель вручную, либо выгружать из 1С с тем разделителем, который ожидает ваш Excel.

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

Используйте штатные средства: «Вывести список» и сохранение табличного документа доступны большинству пользователей. Если их недостаточно, обратитесь к администратору 1С — он может либо выдать право открытия внешних обработок, либо выполнить выгрузку самостоятельно.

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

Табличный документ держит все строки в памяти, поэтому при больших объёмах выгружайте частями: накладывайте отбор по диапазонам (например, по первым буквам наименования или по датам) и сохраняйте несколько файлов. Альтернатива — обработка с потоковой записью в файл, которая не накапливает данные в памяти.

Как сохранить в CSV ведущие нули в кодах и артикулах?

Сам файл хранит значения как есть — проблема возникает только при открытии в Excel, который трактует «00123» как число. Импортируйте файл через мастер импорта и назначьте таким столбцам текстовый формат, либо проверяйте CSV в текстовом редакторе, где значения отображаются без преобразований.

Подходит ли CSV для переноса данных между двумя базами 1С?

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