Справочники и Данные · 11 мин
Как выгрузить товары из 1С в CSV
Способы выгрузки товаров из 1С в CSV: универсальная обработка, табличный документ, обмен с сайтом. Настройка кодировки, разделителей и проверка результата.
Выгрузка товаров из 1С в CSV — одна из самых частых задач при переносе каталога на маркетплейс, в интернет-магазин, в прайс-агрегатор или в другую учётную систему. CSV (Comma-Separated Values) — это текстовый формат, где строки таблицы разделены переносами, а колонки — разделителем (запятой, точкой с запятой или табуляцией). Такой файл открывается в Excel, Google Таблицах и загружается практически любой системой.
В 1С нет единой кнопки «выгрузить в CSV» для всех конфигураций, поэтому способ зависит от того, с чем вы работаете: «Управление торговлей», «Управление нашей фирмой», «Комплексная автоматизация», «Розница» или самописная конфигурация. Ниже разобраны рабочие варианты: от штатных обработок до выгрузки через табличный документ и встроенный язык.
Перед выгрузкой определите, какие данные нужны принимающей системе: обычно это наименование, артикул, цена, остаток, единица измерения и штрихкод. Лишние колонки лучше не выгружать — многие загрузчики на стороне сайта отказываются принимать файл с незнакомыми полями или обрезают данные.
Подготовка: что проверить перед выгрузкой
Сначала выясните требования принимающей стороны. Уточните у разработчика сайта или в документации маркетплейса: какой разделитель ожидается (запятая, точка с запятой, табуляция), какая кодировка файла (UTF-8 или Windows-1251), нужна ли строка заголовков и как называются обязательные колонки. Несовпадение хотя бы одного параметра — самая частая причина того, что файл «не загружается».
Проверьте полноту данных в самой базе. Если у части товаров не заполнены артикулы, штрихкоды или цены нужного типа, в CSV попадут пустые ячейки, и принимающая система может отклонить строки. Удобно заранее построить отчёт «Остатки товаров» или список номенклатуры с отбором и визуально оценить заполненность.
Также определите объём выгрузки. Для каталога в несколько тысяч позиций подойдёт любой способ, включая ручной. Для каталога в сотни тысяч строк ручная выгрузка через табличный документ может привести к зависанию клиента 1С — тогда нужна обработка с порционной записью файла.
Способ 1. Универсальная обработка выгрузки в табличный документ
Самый доступный вариант без программирования — обработка «Универсальный подбор и обработка объектов» или аналогичные «Выгрузка номенклатуры в CSV/Excel», которые входят в состав диска ИТС или поставляются с типовыми конфигурациями. В «1С:Управление торговлей» и «1С:Управление нашей фирмой» также есть встроенные механизмы работы с прайсами и обмена данными.
Общий порядок действий: откройте обработку через меню «Файл → Открыть», выберите источник данных (справочник «Номенклатура»), настройте отбор — например, только товары из определённой группы или с ненулевым остатком. Затем укажите, какие реквизиты выводить в колонки: наименование, артикул, код, цена, остаток.
После формирования результата обработка обычно предлагает сохранить данные в файл. Если предлагается только Excel или MXL — сохраните в этот формат, а затем пересохраните в CSV средствами Excel («Файл → Сохранить как → CSV (разделители — запятые)»). Учтите, что Excel сохраняет CSV в кодировке, зависящей от версии, и русские буквы могут «сломаться» — проверяйте кодировку после сохранения.
- 1Откройте обработку выгрузки через «Файл → Открыть»
- 2Выберите справочник «Номенклатура» и задайте отбор
- 3Отметьте нужные реквизиты для колонок CSV
- 4Сформируйте результат и сохраните файл
- 5Откройте CSV в блокноте и проверьте разделитель и кодировку
Способ 2. Сохранение табличного документа как текст с разделителями
Любой список или отчёт в 1С можно вывести в табличный документ, а табличный документ — сохранить как текстовый файл. Это работает во всех конфигурациях без доработок. Сформируйте нужный отчёт (например, «Список товаров» или прайс-лист), либо выделите строки списка номенклатуры и выведите их через «Ещё → Вывести список».
Затем нажмите «Файл → Сохранить как» (или Ctrl+S в табличном документе) и выберите тип файла «Текстовый документ» или «Текст с разделителями» — в зависимости от версии платформы название отличается. В диалоге сохранения укажите разделитель колонок: точку с запятой или табуляцию. Полученный файл переименуйте из .txt в .csv — по сути это тот же формат.
Ограничение способа: объём. Табличный документ держится в памяти клиентского приложения, и при выводе сотен тысяч строк 1С может надолго зависнуть или завершиться с ошибкой нехватки памяти. Для больших каталогов используйте выгрузку порциями или программный способ.
Способ 3. Программная выгрузка через встроенный язык
Если нужен точный контроль над форматом — кавычки вокруг значений, экранирование разделителей внутри наименований, собственный порядок колонок — надёжнее написать небольшую процедуру на встроенном языке. Её можно выполнить через внешнюю обработку или консоль кода.
Логика простая: запросом выбираются товары, затем каждая строка результата записывается в текстовый файл через объект «ЗаписьТекста» с указанием кодировки. Важно экранировать значения, содержащие разделитель или кавычки: стандарт CSV требует оборачивать такие значения в двойные кавычки, а внутренние кавычки удваивать.
Запись = Новый ЗаписьТекста("C:\Обмен\tovary.csv", КодировкаТекста.UTF8);
Запись.ЗаписатьСтроку("Артикул;Наименование;Цена;Остаток");
Пока Выборка.Следующий() Цикл
Строка = Выборка.Артикул + ";" + Выборка.Наименование + ";"
+ Формат(Выборка.Цена, "ЧРД=.; ЧГ=0") + ";"
+ Формат(Выборка.Остаток, "ЧРД=.; ЧГ=0");
Запись.ЗаписатьСтроку(Строка);
КонецЦикла;
Запись.Закрыть();Обратите внимание на форматирование чисел: по умолчанию 1С выводит числа с разделителем групп (неразрывным пробелом), и «1 250,50» в CSV сломает разбор колонок. Используйте конструкцию Формат() с параметрами «ЧРД=.» и «ЧГ=0», чтобы получить «1250.50» без пробелов.
Способ 4. Штатный обмен с сайтом и регулярная выгрузка
Если CSV нужен не разово, а по расписанию — например, ежедневная выгрузка каталога и остатков на сайт, — используйте типовой модуль обмена с сайтом («Администрирование → Обмен с сайтами» в УТ и КА) или настройте регламентное задание. Типовой обмен чаще формирует CommerceML (XML), но многие конфигурации и расширения позволяют выгружать и CSV-прайсы.
Для регулярной CSV-выгрузки без доработок можно настроить узел обмена данными или написать регламентное задание, которое вызывает процедуру формирования файла и складывает его в сетевую папку или отправляет по FTP. Ключевое требование: процедура должна выполняться на сервере, а путь к файлу должен быть доступен серверу 1С, а не вашему локальному компьютеру.
Сравнение способов выгрузки
Подходит для разовой выгрузки без программирования. Ограничение: нужно уметь настраивать отборы и реквизиты, формат колонок не всегда гибкий.
Работает в любой конфигурации, быстро для малых объёмов. Ограничение: зависает на больших списках, нет экранирования спецсимволов.
Полный контроль над форматом, кодировкой и экранированием, подходит для расписания. Ограничение: нужны навыки встроенного языка или помощь специалиста.
Автоматизация регулярной выгрузки. Ограничение: дольше настраивается, требует доступа к серверу.
Проверка результата и типичные ошибки
После выгрузки обязательно откройте файл в текстовом редакторе (Notepad++, Блокнот), а не только в Excel — Excel автоматически интерпретирует данные и скрывает проблемы формата. Проверьте первую строку заголовков, разделитель, кодировку (в Notepad++ она показана в статусной строке) и количество строк: оно должно совпадать с количеством выгруженных товаров плюс строка заголовка.
Отдельно проверьте товары, в наименованиях которых есть запятые, кавычки или точки с запятой, — именно на них ломается разбор файла. Если такие символы встречаются, значение должно быть обёрнуто в двойные кавычки по правилам CSV, иначе принимающая система сдвинет колонки в этой строке.
Как проверить результат
UTF-8 или Windows-1251 — та, что требует принимающая система; русский текст читается
Кракозябры вместо русских букв при открытии
Одинаковый символ во всех строках, колонки не «съезжают»
В части строк запятые, в части — точки с запятой
Формат 1250.50 без пробелов и символов валюты
Пробелы-разделители разрядов, знак рубля, запятая как дробный разделитель там, где ждут точку
Число строк файла = число товаров + строка заголовка
Строк меньше — выгрузка оборвалась; больше — попали служебные строки
Ограничения и когда нужна помощь специалиста
Простые способы выгрузки не решают задачи со сложной структурой данных: иерархические категории, характеристики товаров (размеры, цвета), несколько типов цен в одном файле, картинки. Картинки в CSV в принципе не выгружаются — передаются только ссылки на них, поэтому для каталога с изображениями нужен отдельный механизм выгрузки файлов на сервер.
Обращайтесь к специалисту по 1С, если нужна выгрузка по расписанию на внешний сервер, если конфигурация сильно доработана и типовые обработки не видят нужных реквизитов, или если принимающая система требует строгий формат с валидацией. Ошибка в регулярной автоматической выгрузке может массово испортить цены и остатки на сайте — это уже риск для продаж, а не просто техническая неполадка.
Что важно запомнить
Для разовой выгрузки используйте универсальную обработку или сохранение табличного документа в текст с разделителями, для точного формата — программную запись через ЗаписьТекста, для регулярного обмена — регламентное задание. Всегда заранее уточняйте разделитель, кодировку и состав колонок у принимающей системы и проверяйте готовый файл в текстовом редакторе.
Частые вопросы
Чем CSV отличается от XLSX при выгрузке из 1С?
CSV — простой текстовый формат без форматирования, формул и нескольких листов: только строки и разделители. Его легко читают любые загрузчики сайтов и маркетплейсов. XLSX содержит оформление и типы данных, но многие системы его не принимают или требуют конвертации. Для обмена между системами почти всегда запрашивают именно CSV.
В какой кодировке сохранять CSV для сайта?
Большинство современных сайтов и маркетплейсов ожидают UTF-8, старые самописные загрузчики — Windows-1251. Точное требование смотрите в документации принимающей системы. Признак неверной кодировки — иероглифы вместо русских букв после загрузки.
Как выгрузить только товары с остатком больше нуля?
В обработке выгрузки добавьте отбор по остатку или сформируйте сначала отчёт по остаткам с отбором «Остаток > 0» и выгружайте его результат. В программном способе условие добавляется в текст запроса через ГДЕ Остаток > 0.
Почему Excel открывает CSV в одну колонку?
Excel ожидает разделитель, заданный в региональных настройках Windows — обычно точку с запятой. Если в файле запятая, весь текст попадает в первую колонку. Откройте файл через «Данные → Из текстового/CSV-файла» и укажите разделитель вручную, либо выгружайте с точкой с запятой.
Можно ли выгрузить товары вместе с категориями (иерархией)?
Да, но иерархия в CSV передаётся плоско: в отдельной колонке указывают полный путь группы, например «Электроника/Телефоны/Смартфоны», или код родительской группы. Уточните у принимающей системы, в каком виде она ожидает структуру каталога.
Что делать, если товаров очень много и 1С зависает при выгрузке?
Разбейте выгрузку на порции — по группам номенклатуры или диапазонам кодов — и объедините файлы после. Либо используйте программную выгрузку на сервере с построчной записью в файл: она не держит весь результат в памяти и справляется с каталогами любого размера.