Справочники и Данные · 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Сформируйте отчёт или выведите список через «Ещё → Вывести список»
- 2Отметьте только нужные колонки и нажмите «ОК»
- 3Откройте «Файл → Сохранить как» и выберите тип «Текст с разделителями»
- 4Укажите имя файла и сохраните
- 5Переименуйте расширение в .csv при необходимости и откройте файл в Excel для проверки
Способ 2. Выгрузка списка справочника или документов
Если нужно выгрузить, например, всю номенклатуру или контрагентов, откройте список, настройте отбор и состав колонок. В типовых конфигурациях список выводится командой «Ещё → Вывести список»: в диалоге можно снять лишние колонки, добавить недостающие реквизиты и задать порядок сортировки. Выгрузится только то, что прошло отбор, — это удобно для частичной выгрузки.
Обратите внимание: команда «Вывести список» выводит ограниченное число строк за раз, а при очень больших объёмах формирование табличного документа может занять заметное время и потребовать много памяти. Для справочников в сотни тысяч записей надёжнее использовать обработку, которая пишет файл порциями.
После вывода списка действуйте как в первом способе: сохраните табличный документ в текстовый формат с разделителями. Перед сохранением уберите из списка служебные колонки вроде пиктограмм состояния — в CSV они дадут пустые столбцы.
Способ 3. Универсальные обработки и обмен данными
Когда штатных средств не хватает, используют внешние обработки. На диске информационно-технологического сопровождения (ИТС) и в составе типовых конфигураций есть инструменты выгрузки данных; кроме того, существуют распространённые обработки «Выгрузка в CSV», которые позволяют выбрать объект метаданных, отбор, состав полей и разделитель.
Внешнюю обработку открывают через «Файл → Открыть» (в режиме предприятия) — для этого нужно право «Открытие внешних отчетов и обработок». В файловых базах без дополнительной защиты обработка запускается сразу; в клиент-серверных может потребоваться отключение защиты от опасных действий.
Для обмена между двумя базами 1С формат CSV обычно не нужен — там применяют «Универсальный обмен данными в формате XML». CSV оправдан именно для передачи во «внешний мир»: на сайт, в Excel, в стороннее ПО.
Способ 4. Выгрузка встроенным языком 1С
Для регулярной выгрузки или нестандартных требований пишут собственный код. Во встроенном языке есть объект «ТекстовыйДокумент» и чтение/запись текста с указанием кодировки, что позволяет сформировать CSV любой структуры и сохранить его на диск или отправить по сети.
Типовая схема кода: выполнить запрос к данным, обойти выборку, собрать каждую строку через разделитель, экранировав значения, содержащие разделитель или кавычки, и записать результат в файл. Ниже минимальный пример выгрузки справочника номенклатуры.
Запрос = Новый Запрос("ВЫБРАТЬ Код, Наименование, Артикул ИЗ Справочник.Номенклатура");
Выборка = Запрос.Выполнить().Выбрать();
Текст = Новый ЗаписьТекста("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 обрезал нули или преобразовал код в число/дату
Как выбрать подходящий способ
Как выбрать действие
При сомнениях начинайте с самого простого способа и проверяйте результат на принимающей стороне. Часто оказывается, что штатного «Сохранить как» достаточно, а сложная обработка не нужна. И наоборот: если файл требуется каждую неделю в строгом виде, один раз вложиться в автоматизацию выгоднее, чем каждый раз собирать его вручную.
Перед первой передачей файла контрагенту или загрузкой на сайт сделайте тестовый прогон на 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 или правила конвертации — они сохраняют структуру и сопоставляют объекты по уникальным идентификаторам.