Отчеты и Аналитика · 11 мин
Как выгрузить из 1С файл в формате CSV
Пошаговая инструкция по выгрузке данных из 1С в CSV: типовые отчёты, обработки, кодировка, разделители, проверка результата и решение типичных ошибок.
Выгрузка данных из 1С в CSV — частая задача: файл нужен для загрузки в Excel, передачи в банк, обмена с сайтом или сторонней учётной системой. CSV (Comma-Separated Values) — простой текстовый формат, где значения разделены запятыми или точкой с запятой, а каждая строка файла соответствует строке таблицы.
В 1С нет единой кнопки «выгрузить в CSV» для всех случаев, но есть несколько рабочих путей: сохранение табличного документа, универсальные обработки обмена, выгрузка через встроенные механизмы конфигурации и небольшая доработка кодом. Выбор зависит от того, что именно нужно выгрузить — отчёт, справочник, табличную часть документа или произвольный набор данных.
Ниже разобраны основные способы с точными действиями, настройкой разделителя и кодировки, проверкой результата и разбором типичных ошибок, из-за которых файл «ломается» при открытии в Excel или не принимается сторонней системой.
Что такое CSV и почему важны разделитель и кодировка
CSV — текстовый файл, где столбцы отделены друг от друга символом-разделителем. В англоязычных системах это запятая, в русской локали Windows и Excel чаще используется точка с запятой, потому что запятая в русских числах служит десятичным разделителем. Если разделитель выбран неверно, при открытии файла все данные «свалятся» в один столбец.
Кодировка определяет, как будут отображаться русские буквы. Современный стандарт — UTF-8: его корректно читают большинство систем, сайтов и редакторов. Старые версии Excel могут открывать UTF-8 без BOM с «кракозябрами», поэтому для передачи файла бухгалтеру иногда проще сохранить копию в ANSI (Windows-1251) или открывать файл через импорт данных в Excel, а не двойным щелчком.
Третий нюанс — значения, содержащие сам разделитель или перевод строки. По стандарту такие поля должны заключаться в кавычки. Если выгрузка сделана «вручную» без кавычек, а в наименовании товара есть точка с запятой, структура строки развалится.
Способ 1. Сохранение табличного документа как текста с разделителями
Это самый быстрый способ, если данные уже представлены в виде отчёта или печатной формы. Подходит для отчётов, списков документов, прайсов и любых данных, которые 1С умеет показать как табличный документ.
Порядок действий: сформируйте нужный отчёт или откройте список, затем выберите «Файл → Сохранить как» (или «Сохранить копию»). В диалоге сохранения укажите тип файла «Текстовый документ с разделителями» или «Текстовый документ (TXT)» — в разных версиях платформы название отличается. После сохранения измените расширение файла с .txt на .csv, если этого требует принимающая система.
Перед сохранением уберите из табличного документа лишние строки: заголовки отчёта, шапку с отборами, строки итогов. Иначе они попадут в CSV и нарушат структуру данных. В некоторых отчётах удобно сначала отключить оформление через настройки варианта отчёта.
- 1Сформируйте отчёт или откройте список данных в 1С
- 2Уберите шапку отчёта и строки итогов, оставив только таблицу данных
- 3Выберите Файл → Сохранить как → Текстовый документ с разделителями
- 4При необходимости переименуйте расширение в .csv
- 5Откройте файл в блокноте и проверьте разделитель и кодировку
Способ 2. Выгрузка через типовые обработки обмена данными
Когда нужно выгрузить не отчёт, а данные справочника или документов с отбором, используют обработки. В типовых конфигурациях (например, «Управление торговлей», «Бухгалтерия предприятия») есть встроенные механизмы выгрузки: «Универсальный обмен данными в формате XML», обработки загрузки/выгрузки табличных данных, а в ряде конфигураций — прямая выгрузка прайсов и каталогов в CSV или Excel.
Универсальная обработка «Выгрузка и загрузка данных XML» сама по себе создаёт XML, а не CSV, но для многих задач обмена именно XML оказывается правильным форматом — он сохраняет ссылки и структуру объектов. Если принимающая система требует строго CSV, ищите в разделе «Администрирование» или «Сервис» обработки с выгрузкой в текстовый формат либо используйте внешнюю обработку.
Внешние обработки открываются через «Файл → Открыть» (в тонком клиенте может потребоваться включить возможность открытия внешних файлов в настройках). Перед запуском любой внешней обработки убедитесь, что она получена из надёжного источника, и сделайте резервную копию базы, если обработка что-то записывает, а не только читает данные.
Способ 3. Выгрузка списка и табличной части через «Вывести список»
Малоизвестный, но удобный приём: почти любой динамический список в управляемых формах можно вывести в табличный документ. Откройте список товаров, контрагентов или документов, установите нужные отборы и сортировку, затем через меню «Ещё» выберите «Вывести список». В диалоге отметьте только нужные колонки — они станут столбцами будущего CSV.
Полученный табличный документ сохраняется как текст с разделителями тем же способом, что описан выше. Это самый контролируемый вариант: вы точно видите, какие колонки и строки попадут в файл, и можете заранее настроить порядок колонок, перетащив их в настройке списка.
Ограничение метода — объём. При выгрузке сотен тысяч строк табличный документ формируется долго и потребляет много памяти. Для больших объёмов лучше подходит программная выгрузка порциями.
Способ 4. Программная выгрузка кодом на встроенном языке
Если выгрузка нужна регулярно, по расписанию или со сложной логикой, её пишут на встроенном языке 1С. Базовый подход — объект «ТекстовыйДокумент» или потоковая запись: данные выбираются запросом, каждая строка преобразуется в строку CSV и дописывается в файл.
Ключевые моменты в коде: явно задавать кодировку (КодировкаТекста.UTF8), экранировать кавычки внутри значений удвоением, оборачивать в кавычки поля с разделителем или переводом строки, а числа и даты приводить к нужному формату через Формат(), чтобы не зависеть от региональных настроек сервера.
Текст = Новый ТекстовыйДокумент;
Разделитель = ";";
Запрос = Новый Запрос("ВЫБРАТЬ Код, Наименование ИЗ Справочник.Номенклатура");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Строка = Выборка.Код + Разделитель + """" + СтрЗаменить(Выборка.Наименование, """", """""") + """";
Текст.ДобавитьСтроку(Строка);
КонецЦикла;
Текст.Записать("D:\Обмен\nom.csv", КодировкаТекста.UTF8);Для регулярных выгрузок оформите код как регламентное задание или внешнюю обработку с параметрами: путь к файлу, разделитель, кодировка, отбор по периоду. Так выгрузку сможет запускать пользователь без участия разработчика.
При выгрузке на сервере 1С путь к файлу указывается относительно сервера, а не вашего компьютера. Если файл «не появляется» — проверьте, куда именно он записан и есть ли у учётной записи сервера права на эту папку.
Проверка результата и подготовка файла к передаче
Перед отправкой файла откройте его в простом текстовом редакторе (Блокнот, Notepad++). Проверьте: первая строка содержит заголовки колонок, разделитель одинаков во всех строках, количество разделителей в каждой строке одинаковое, русские буквы читаемы. Это занимает минуту и отсекает большинство проблем.
Затем проверьте открытие в Excel. Если все данные попали в один столбец — разделитель не совпадает с ожиданиями Excel; используйте «Данные → Получение данных из текстового/CSV-файла» и укажите разделитель вручную. Если вместо русских букв символы — при импорте выберите кодировку «Юникод (UTF-8)».
Обратите внимание на числа и даты: Excel может «съесть» ведущие нули в кодах и артикулах, превратить длинные числа в экспоненциальную запись, а текст вида «1-2» — в дату. Если такие поля есть, импортируйте соответствующие столбцы как текст.
Как проверить результат
Во всех строках одинаковое число разделителей
Часть строк «короче» или «длиннее» остальных
Русские буквы читаемы в редакторе и в Excel
Квадраты или нечитаемые символы
Ведущие нули сохранены, значения не превратились в даты
Код 00123 стал 123, артикул стал датой
Типичные ошибки и ограничения
Самая частая ошибка — выгрузка итоговых строк и шапки отчёта вместе с данными. Принимающая система воспринимает их как данные, и загрузка падает или искажает учёт. Второе место — несовпадение разделителя: файл с запятыми открывают в русской локали Excel и получают один сплошной столбец.
Третья группа проблем — форматы данных. Даты должны быть в том формате, который ждёт принимающая система (часто ГГГГ-ММ-ДД), а не в виде «01.02.2026». Числа с пробелами-разделителями разрядов («1 234,56») многие загрузчики не понимают — выгружайте числа без пробелов.
Ограничения самого формата: CSV не хранит типы данных, формулы, оформление и вложенные структуры. Если нужно передать иерархию объектов, ссылки между ними или типизированные значения, используйте XML или JSON вместо CSV.
Выбор способа под задачу
Разовая выгрузка готового отчёта или списка — сохранение табличного документа как текста с разделителями. Регулярный обмен со сторонней системой — программная выгрузка с фиксированными настройками формата. Передача данных между базами 1С — лучше XML-обмен, а не CSV.
Если принимающая сторона прислала образец файла, ориентируйтесь строго на него: порядок колонок, разделитель, кодировка, формат дат и чисел. Любое отклонение — повод для отказа загрузки, даже если файл «выглядит нормально» в Excel.
Как выбрать действие
Что важно запомнить
CSV из 1С получают сохранением табличного документа, выводом списка или программной записью. Успех определяется тремя настройками: правильный разделитель (точка с запятой для русской локали), кодировка UTF-8 и чистые данные без шапок и итогов. Результат всегда проверяйте в текстовом редакторе до передачи.
Частые вопросы
Почему Excel открывает CSV в одном столбце?
Разделитель в файле не совпадает с разделителем списка в региональных настройках Windows. Откройте файл через «Данные → Получение данных → Из текстового/CSV-файла» и укажите разделитель вручную, либо пересохраните файл с точкой с запятой.
Как сохранить ведущие нули в кодах и артикулах?
Выгружайте такие поля как текст, а при импорте в Excel в мастере импорта назначьте этим столбцам текстовый формат. Если просто открыть файл двойным щелчком, Excel обрежет нули автоматически.
Какую кодировку выбрать — UTF-8 или ANSI?
Для сайтов, банковских систем и современных программ — UTF-8. ANSI (Windows-1251) оправдана только когда принимающая сторона — старое ПО, явно требующее эту кодировку. Точное требование всегда берите из инструкции принимающей системы.
Можно ли выгрузить в CSV сразу несколько таблиц?
Нет, CSV — это одна плоская таблица в одном файле. Для нескольких связанных наборов данных выгружайте несколько CSV-файлов либо переходите на XML/JSON, которые поддерживают вложенные структуры.
Файл выгрузился пустым — в чём причина?
Чаще всего сработал отбор, который отфильтровал все данные, либо у пользователя нет прав на просмотр нужных объектов. Проверьте отборы в отчёте или обработке и убедитесь, что в списке реально есть строки за выбранный период.
Чем CSV отличается от выгрузки в Excel (XLSX)?
CSV — простой текст без типов, формул и оформления, его легко читают любые системы. XLSX сохраняет форматирование и типы, но сложнее для машинной обработки. Для обмена между системами обычно требуют именно CSV, для людей — XLSX.