Справочник 1С в таблицу Excel: четыре рабочих способа
Содержание
Чтобы выгрузить справочник из 1С в Excel, откройте его список, нажмите Ещё → Вывести список…, отметьте нужные колонки и выведите их в табличный документ. Затем в открывшемся окне выберите в главном меню Файл → Сохранить как… и тип файла «Лист Microsoft Excel 2007-… (*.xlsx)». На справочник из пары тысяч строк уходит минута.
Способ работает в любой типовой конфигурации на платформе 8.3: Бухгалтерии 3.0, ЗУП 3.1, Управлении торговлей 11, УНФ. Если нужны реквизиты, которых нет в колонках списка, или выборка с условиями, подойдут универсальный отчёт и консоль запросов. Для регулярной выгрузки по расписанию понадобится немного кода.
Быстрая выгрузка справочника в Excel через «Вывести список»
Это основной способ. Он выгружает ровно то, что вы видите в форме списка, с учётом поиска и отбора.
- Откройте справочник: например,
Справочники → Покупки и продажи → Контрагентыв Бухгалтерии 3.0 или через разделНСИв других конфигурациях. - Если нужна не вся таблица, сузьте список строкой поиска или отбором.
- Нажмите
Ещё → Вывести список…. - В окне «Вывод списка» снимите флажки с лишних колонок. Поле «Выводить в» оставьте со значением «Табличный документ».
- Нажмите
ОК. Откроется табличный документ с данными. - Откройте главное меню (кнопка с тремя полосками в левом верхнем углу окна) и выберите
Файл → Сохранить как…. - В поле «Тип файла» укажите формат и сохраните.
| Формат в списке | Расширение | Когда выбирать |
|---|---|---|
| Лист Microsoft Excel 2007-… | .xlsx | Основной вариант, до 1 048 576 строк |
| Лист Excel 97 | .xls | Только для очень старого Excel, лимит 65 536 строк |
| Электронная таблица OpenDocument | .ods | LibreOffice, «Мой Офис» и другие свободные редакторы |
| Текстовый документ / CSV | .txt, .csv | Загрузка в сторонние системы, где нужен «плоский» файл |
Кнопка Ещё есть почти в каждой форме 1С. В ней собраны все команды формы, даже те, что не поместились на панель. Если «Вывести список» не видно на панели, ищите его там.
Как добавить недостающие колонки
«Вывести список » берёт колонки только из формы списка. Нужен ИНН, а в списке его нет? Добавьте колонку в саму форму.
Ещё → Изменить форму….- В дереве элементов отметьте флажком нужный реквизит. Если его нет, нажмите
Добавить поляи выберите реквизит справочника. - Нажмите
ОКи повторите вывод списка.
Колонка останется в форме у вас, у других пользователей вид не изменится. Вернуть стандартный вид можно в том же окне командой Ещё → Установить стандартные настройки.
Иерархические справочники
У номенклатуры, контрагентов, статей затрат элементы разложены по группам. В режиме «Иерархический список» 1С выводит только содержимое открытой группы. Получите файл с двадцатью строками вместо двух тысяч.
Переключите вид: Ещё → Режим просмотра → Список. Группы пропадут, все элементы встанут плоской таблицей, и вывод списка заберёт их целиком. Чтобы в Excel было видно, к какой группе относится элемент, добавьте в форму колонку «Родитель» (в некоторых справочниках она называется «Группа»).
Универсальный отчёт: выгрузка с отбором и любыми реквизитами
Когда нужно больше, чем показывает список, берите универсальный отчёт. Он входит в Библиотеку стандартных подсистем, поэтому есть в Бухгалтерии 3.0, ЗУП 3.1, УТ 11, КА 2 и ERP.
Где найти:
- 📊 в разделе
Отчеты(в Бухгалтерии 3.0 он лежит в группе стандартных отчётов); - 🔎 через
Все функции → Отчеты → Универсальный отчет, если в разделе его нет.
Команда «Все функции» включается в главном меню: Сервис → Параметры → Отображать команду «Все функции».
Как настроить отчёт под справочник:
- В шапке укажите «Тип объекта» —
Справочник. - В поле «Объект» выберите нужный справочник, например «Номенклатура».
- В поле «Таблица» оставьте «Основные данные».
- Нажмите
Настройкии перейдите на расширенный вид. - На вкладке с полями отметьте реквизиты, на вкладке «Отбор» задайте условия: «Пометка удаления = Нет», «Родитель в группе …», «ИНН заполнено».
- Сформируйте отчёт и сохраните его кнопкой сохранения на панели отчёта или через
Файл → Сохранить как….
Чем отчёт лучше вывода списка:
- ✅ доступны все реквизиты, включая реквизиты связанных объектов через точку (
Контрагент.ОсновнойДоговор.Валюта); - ✅ отбор по любому полю, а не только по видимым колонкам;
- ✅ можно вывести табличную часть справочника, например контактную информацию или единицы измерения номенклатуры;
- ✅ настройку можно сохранить под своим именем и формировать тот же файл каждый месяц в два клика.
Если справочник большой, а в отчёте включена группировка по иерархии, 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С: в клиент-серверной базе это папка на машине с рабочим процессом, и у пользователя, под которым работает служба сервера, должны быть права на запись туда. Для файловой базы путь локальный.
Как запустить такую обработку по расписанию:
- В конфигурациях на БСП подключите её через
Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки, если обработка оформлена как дополнительная: с функцией сведений о внешней обработке и командой с типом «Вызов серверного метода». - В карточке обработки у такой команды задайте расписание.
- Альтернатива — регламентное задание в расширении конфигурации. Так делают, когда выгрузка нужна сразу в нескольких базах.
Для обмена с сайтом или маркетплейсом 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.
Частые вопросы
Можно ли выгрузить справочник сразу с картинками товаров?
Как выгрузить справочник из 1С в Excel без прав администратора?
Как потом загрузить отредактированный файл обратно?
Ещё. Перед загрузкой сделайте резервную копию базы: массовая загрузка меняет тысячи элементов сразу, и откатить её вручную тяжело.