Справочник 1С в таблицу Excel: четыре рабочих способа

· 10 мин

Содержание

Чтобы выгрузить справочник из 1С в Excel, откройте его список, нажмите Ещё → Вывести список…, отметьте нужные колонки и выведите их в табличный документ. Затем в открывшемся окне выберите в главном меню Файл → Сохранить как… и тип файла «Лист Microsoft Excel 2007-… (*.xlsx)». На справочник из пары тысяч строк уходит минута.

Способ работает в любой типовой конфигурации на платформе 8.3: Бухгалтерии 3.0, ЗУП 3.1, Управлении торговлей 11, УНФ. Если нужны реквизиты, которых нет в колонках списка, или выборка с условиями, подойдут универсальный отчёт и консоль запросов. Для регулярной выгрузки по расписанию понадобится немного кода.

Быстрая выгрузка справочника в Excel через «Вывести список»

Это основной способ. Он выгружает ровно то, что вы видите в форме списка, с учётом поиска и отбора.

  1. Откройте справочник: например, Справочники → Покупки и продажи → Контрагенты в Бухгалтерии 3.0 или через раздел НСИ в других конфигурациях.
  2. Если нужна не вся таблица, сузьте список строкой поиска или отбором.
  3. Нажмите Ещё → Вывести список….
  4. В окне «Вывод списка» снимите флажки с лишних колонок. Поле «Выводить в» оставьте со значением «Табличный документ».
  5. Нажмите ОК. Откроется табличный документ с данными.
  6. Откройте главное меню (кнопка с тремя полосками в левом верхнем углу окна) и выберите Файл → Сохранить как….
  7. В поле «Тип файла» укажите формат и сохраните.
Формат в спискеРасширениеКогда выбирать
Лист Microsoft Excel 2007-….xlsxОсновной вариант, до 1 048 576 строк
Лист Excel 97.xlsТолько для очень старого Excel, лимит 65 536 строк
Электронная таблица OpenDocument.odsLibreOffice, «Мой Офис» и другие свободные редакторы
Текстовый документ / CSV.txt, .csvЗагрузка в сторонние системы, где нужен «плоский» файл

Кнопка Ещё есть почти в каждой форме 1С. В ней собраны все команды формы, даже те, что не поместились на панель. Если «Вывести список» не видно на панели, ищите его там.

Как добавить недостающие колонки

«Вывести список » берёт колонки только из формы списка. Нужен ИНН, а в списке его нет? Добавьте колонку в саму форму.

  1. Ещё → Изменить форму….
  2. В дереве элементов отметьте флажком нужный реквизит. Если его нет, нажмите Добавить поля и выберите реквизит справочника.
  3. Нажмите ОК и повторите вывод списка.

Колонка останется в форме у вас, у других пользователей вид не изменится. Вернуть стандартный вид можно в том же окне командой Ещё → Установить стандартные настройки.

Иерархические справочники

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

Переключите вид: Ещё → Режим просмотра → Список. Группы пропадут, все элементы встанут плоской таблицей, и вывод списка заберёт их целиком. Чтобы в Excel было видно, к какой группе относится элемент, добавьте в форму колонку «Родитель» (в некоторых справочниках она называется «Группа»).

Универсальный отчёт: выгрузка с отбором и любыми реквизитами

Когда нужно больше, чем показывает список, берите универсальный отчёт. Он входит в Библиотеку стандартных подсистем, поэтому есть в Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА 2 и ERP.

Где найти:

  • 📊 в разделе Отчеты (в Бухгалтерии 3.0 он лежит в группе стандартных отчётов);
  • 🔎 через Все функции → Отчеты → Универсальный отчет, если в разделе его нет.

Команда «Все функции» включается в главном меню: Сервис → Параметры → Отображать команду «Все функции».

Как настроить отчёт под справочник:

  1. В шапке укажите «Тип объекта» — Справочник.
  2. В поле «Объект» выберите нужный справочник, например «Номенклатура».
  3. В поле «Таблица» оставьте «Основные данные».
  4. Нажмите Настройки и перейдите на расширенный вид.
  5. На вкладке с полями отметьте реквизиты, на вкладке «Отбор» задайте условия: «Пометка удаления = Нет», «Родитель в группе …», «ИНН заполнено».
  6. Сформируйте отчёт и сохраните его кнопкой сохранения на панели отчёта или через Файл → Сохранить как….

Чем отчёт лучше вывода списка:

  • ✅ доступны все реквизиты, включая реквизиты связанных объектов через точку (Контрагент.ОсновнойДоговор.Валюта);
  • ✅ отбор по любому полю, а не только по видимым колонкам;
  • ✅ можно вывести табличную часть справочника, например контактную информацию или единицы измерения номенклатуры;
  • ✅ настройку можно сохранить под своим именем и формировать тот же файл каждый месяц в два клика.

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

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

Отдельной типовой обработки «Выгрузка данных в формат XLSX» в конфигурациях 1С нет. Под такими названиями обычно ходят внешние обработки от сторонних разработчиков. Самый надёжный инструмент из этой категории — «Консоль запросов»: она входит в набор инструментов разработчика на диске ИТС и подключается как внешняя обработка через Файл → Открыть.

Консоль нужна, когда условия выборки сложнее, чем умеет отчёт: соединение справочника с регистром, остатки, цены на дату.

Пример запроса для выгрузки номенклатуры с артикулом и единицей измерения:

ВЫБРАТЬ
    Номенклатура.Код КАК Код,
    Номенклатура.Наименование КАК Наименование,
    Номенклатура.Артикул КАК Артикул,
    Номенклатура.ЕдиницаИзмерения.Наименование КАК Единица,
    Номенклатура.Родитель.Наименование КАК Группа
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    НЕ Номенклатура.ЭтоГруппа
    И НЕ Номенклатура.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
    Наименование

Имена реквизитов в разных конфигурациях отличаются: где-то артикула нет, где-то единица измерения хранится в другом реквизите или в отдельном справочнике. Перед запуском проверьте имена в конструкторе запроса: он показывает реальную структуру справочника.

Результат запроса консоль выводит в таблицу. Её можно вывести в табличный документ и сохранить в XLSX тем же Файл → Сохранить как….

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

Большие справочники: как выгрузить 100 тысяч строк и больше

Справочник номенклатуры в оптовой базе легко дорастает до 200–500 тысяч позиций. Вывод такого списка за один раз тормозит или обрывается. Что помогает:

  • 🧩 Делите выгрузку. Выгружайте по группам верхнего уровня или по первой букве наименования, а в Excel склеивайте листы. Пять файлов по 80 тысяч строк надёжнее одного на 400 тысяч.
  • 📉 Убирайте лишние колонки. Каждая колонка — это обращение к данным. Двенадцать колонок вместо тридцати ускоряют вывод в разы, особенно если среди них есть реквизиты через точку.
  • 📝 Выводите в текстовый документ. В окне «Вывод списка» выберите «Текстовый документ». Он легче табличного: без форматирования и границ ячеек. В Excel такой файл открывают через импорт текста с выбором разделителя.
  • 🖥️ Работайте ближе к серверу. В клиент-серверной базе данные собираются на сервере, а табличный документ передаётся клиенту. Через медленный VPN это узкое место. Запустите выгрузку в терминальной сессии рядом с сервером.
  • 🧮 Следите за лимитом формата. XLSX держит 1 048 576 строк на лист, XLS — только 65 536. При превышении в XLS лишние строки просто не попадут в файл.

Памяти клиенту на табличный документ на 300 тысяч строк по 15 колонок нужно ощутимо: на 32-битном клиенте процесс упирается в ограничение адресного пространства и падает. Ставьте 64-битный клиент 1С, если выгружаете такие объёмы регулярно.

Автоматическая выгрузка справочника в Excel по расписанию

Если файл нужен каждое утро, например для сайта или склада, ручная работа быстро надоедает. Решение — внешняя обработка, которая формирует табличный документ и записывает его в XLSX без участия человека.

Минимальный рабочий код серверной процедуры:

&НаСервереБезКонтекста
Процедура ВыгрузитьНоменклатуруНаСервере(ПутьКФайлу)

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Н.Код КАК Код,
    |    Н.Наименование КАК Наименование,
    |    Н.Артикул КАК Артикул
    |ИЗ
    |    Справочник.Номенклатура КАК Н
    |ГДЕ
    |    НЕ Н.ЭтоГруппа
    |    И НЕ Н.ПометкаУдаления";

    Таблица = Запрос.Выполнить().Выгрузить();

    ТабДок = Новый ТабличныйДокумент;

    // Шапка
    Для Кол = 1 По Таблица.Колонки.Количество() Цикл
        ТабДок.Область(1, Кол, 1, Кол).Текст = Таблица.Колонки[Кол - 1].Имя;
    КонецЦикла;

    // Строки
    НомерСтроки = 1;
    Для Каждого СтрокаТаблицы Из Таблица Цикл
        НомерСтроки = НомерСтроки + 1;
        Для Кол = 1 По Таблица.Колонки.Количество() Цикл
            ТабДок.Область(НомерСтроки, Кол, НомерСтроки, Кол).Текст =
                Строка(СтрокаТаблицы[Кол - 1]);
        КонецЦикла;
    КонецЦикла;

    ТабДок.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLSX);

КонецПроцедуры

Путь к файлу указывается для сервера 1С: в клиент-серверной базе это папка на машине с рабочим процессом, и у пользователя, под которым работает служба сервера, должны быть права на запись туда. Для файловой базы путь локальный.

Как запустить такую обработку по расписанию:

  1. В конфигурациях на БСП подключите её через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки, если обработка оформлена как дополнительная: с функцией сведений о внешней обработке и командой с типом «Вызов серверного метода».
  2. В карточке обработки у такой команды задайте расписание.
  3. Альтернатива — регламентное задание в расширении конфигурации. Так делают, когда выгрузка нужна сразу в нескольких базах.

Для обмена с сайтом или маркетплейсом Excel часто не лучший формат. Если принимающая сторона умеет читать CSV или JSON, записывайте сразу их: файл меньше, ошибок с форматами ячеек нет.

Какой способ выгрузки подойдёт вам?

Проблемы при выгрузке справочника и их решения

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

В Excel пропали ведущие нули в кодах. Код «000123» превратился в 123. Так бывает, когда файл сохранён как TXT или CSV и открыт двойным щелчком: Excel сам распознаёт числа. Сохраните в XLSX — 1С запишет код как текст — или откройте CSV через импорт данных в Excel, указав для колонки тип «Текстовый».

Кракозябры в CSV или TXT. Excel по умолчанию ждёт кодировку Windows-1251, а 1С может сохранить текст в UTF-8. Загружайте файл через Данные → Из текстового/CSV-файла и выбирайте кодировку вручную.

Даты и суммы в Excel стали текстом. Формулы с ними не считают. Это следствие вывода значений строкой. В XLSX из табличного документа числа приходят числами, если в ячейках 1С они были числовыми. Если файл формируется кодом, включайте у области свойство СодержитЗначение и записывайте данные в Значение, а не в Текст.

Выгрузились не все элементы. Проверьте три вещи:

  • 📁 включён ли режим просмотра «Список», а не «Иерархический список»;
  • 🔍 не осталась ли строка в поле поиска;
  • 🗑️ не скрыты ли помеченные на удаление: в части справочников их показ переключается отдельной командой в меню Ещё.

Файл XLSX не открывается или открывается с ошибкой. Чаще всего его пытались открыть, пока 1С ещё писала данные, или прервали запись. Удалите файл и сохраните заново. Если формат «xlsx» не появляется в списке типов совсем, значит, платформа очень старая: обновите её до актуальной версии 8.3.

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

Можно ли выгрузить справочник сразу с картинками товаров?
Через «Вывести список» и универсальный отчёт — нет, картинки в файл не попадут. Изображения хранятся отдельно, их выгружают кодом в папку, а в Excel пишут имя файла.
Как выгрузить справочник из 1С в Excel без прав администратора?
Достаточно права на вывод в файл и права чтения справочника. Если команды «Вывести список» нет, попросите администратора добавить в ваш профиль роль на вывод на печать и в файл.
Как потом загрузить отредактированный файл обратно?
В конфигурациях на БСП у многих справочников есть команда загрузки из файла в меню Ещё. Перед загрузкой сделайте резервную копию базы: массовая загрузка меняет тысячи элементов сразу, и откатить её вручную тяжело.
Можно ли выгрузить все справочники базы одним файлом?
Одним файлом Excel — нет, это разные таблицы с разными колонками. Для полного переноса справочников между базами используют выгрузку в XML или правила обмена, а не Excel.
Работает ли выгрузка в веб-клиенте и в «1С:Фреш»?
Да. «Вывести список» и универсальный отчёт работают в веб-клиенте, а файл при сохранении скачивается браузером в папку загрузок.