Выгрузка справочников из 1С 8.3: пять рабочих способов

· 9 мин

Содержание

Выгрузить справочник из 1С проще всего через список: откройте нужный справочник (например, Номенклатура или Контрагенты), в командной панели нажмите Еще → Вывести список, выведите данные в табличный документ и сохраните его как файл Excel. Для переноса в такую же базу 1С берут обработку «Выгрузка и загрузка данных XML», для сторонних программ — текст или DBF.

Способ зависит от того, куда данные поедут. Человеку на почту или в налоговую подойдёт Excel. В такую же конфигурацию 1С нужна полная выгрузка справочников в XML со всеми ссылками. В старую учётную программу или госсистему — DBF либо текстовый файл в её формате.

Все перечисленные способы работают в типовых конфигурациях на платформе 1С 8.3 с интерфейсом «Такси»: 1С:Бухгалтерия 3.0, 1С:Зарплата и управление персоналом 3.1, 1С:Управление торговлей 11.

Куда нужно передать справочник?

Коротко — чем способы отличаются:

СпособФормат файлаЧто переноситДля чего
Вывод спискаXLSX, ODS, TXTвидимые колонки, без ссылокоткрыть у человека, распечатать
Выгрузка/загрузка XMLXMLэлементы со ссылками и GUIDперенос в такую же базу
Универсальный обменXMLданные по правилам конвертацииперенос в другую конфигурацию
DBF / текстDBF, TXTполя под формат приёмникасторонние и старые программы
Код и расписаниелюбойчто опишете в кодерегулярная автоматическая выгрузка

Быстрый экспорт списка справочника в Excel

Это штатный механизм платформы, он есть в любой конфигурации и не требует прав разработчика.

  1. Откройте список справочника: Справочники → Номенклатура (или Контрагенты, Физические лица — по задаче).
  2. Настройте видимые колонки. Выгрузятся только те столбцы, что показаны в списке. Добавить их можно через Еще → Изменить форму или Еще → Настроить список.
  3. Нажмите Еще → Вывести список.
  4. В окне выбора отметьте колонки и укажите вывод в Табличный документ.
  5. В полученном табличном документе: Файл → Сохранить как, тип файла — Лист Excel 2007 (*.xlsx). Для таблицы OpenOffice/LibreOffice выберите Таблица ODF (*.ods).

Если нужен не весь справочник, а часть — сначала поставьте отбор в списке (см. раздел про фильтры ниже), и Вывести список выгрузит только отфильтрованные строки.

Коды номенклатуры и ИНН контрагентов Excel нередко превращает в числа и обрезает ведущие нули. Чтобы сохранить коды как есть, в самом Excel задайте формату ячеек тип «Текстовый» до вставки либо открывайте файл через «Данные → Из текста» с указанием текстового формата столбца.

В окне вывода обычно есть выбор: выгрузить все колонки или только текущую, а также вывести все элементы или только выделенные мышью. Для выборочной выгрузки отметьте нужные строки в списке (с зажатым Ctrl) и укажите вывод только выделенных.

Табличный документ можно сохранить и в родном формате 1С — .mxl. Его открывает любая база 1С без потери оформления, но сторонние программы такой файл не читают — для них берите XLSX или текст.

Плюс способа — скорость и наглядность. Минус — это плоская выгрузка: иерархия групп, картинки и ссылки на другие справочники в файл не попадут, только значения видимых колонок.

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

Когда справочник нужно перенести в точно такую же конфигурацию той же версии — например, из рабочей базы в копию или в базу филиала, — список в Excel не годится: потеряются внутренние идентификаторы и ссылки. Здесь работает типовая обработка «Выгрузка и загрузка данных XML», которую 1С поставляет вместе с конфигурациями.

Порядок работы:

  1. Откройте обработку через Файл → Открыть и выберите файл обработки (ВыгрузкаЗагрузкаДанныхXML).
  2. На закладке выгрузки в дереве метаданных отметьте галочками нужные справочники.
  3. При необходимости включите выгрузку подчинённых данных по ссылкам, чтобы вместе с элементами уехали связанные объекты.
  4. Укажите имя XML-файла и запустите выгрузку.
  5. В базе-приёмнике откройте ту же обработку, перейдите на закладку загрузки, выберите файл и загрузите.

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

Главное преимущество — элементы переносятся с сохранением уникальных идентификаторов (GUID), поэтому ссылки из документов в приёмнике не «рвутся».

Перенос справочников в другую конфигурацию по правилам обмена

Если приёмник — другая конфигурация (скажем, из Управления торговлей в Бухгалтерию), прямая выгрузка XML не подойдёт: структуры справочников отличаются. Для таких случаев используют универсальный обмен данными в формате XML, который работает по правилам конвертации.

Логика такая:

  • Правила обмена — это отдельный файл (.xml), где описано, какой справочник источника во что превращается в приёмнике и как сопоставляются реквизиты.
  • Правила либо берут готовые из типовой поставки обмена, либо создают в конфигурации «Конвертация данных ».
  • Обработка универсального обмена читает правила, выгружает данные в XML, а на стороне приёмника — загружает их по тем же правилам.

Для популярных пар программ (например, обмен между торговой и бухгалтерской конфигурациями) правила уже готовы и идут в типовой поставке обмена — создавать их с нуля не нужно. Нестандартное сопоставление реквизитов описывают вручную в «Конвертации данных».

Этот путь сложнее и обычно требует специалиста, зато переносит справочники между разными программами без потери связей. Для разовой задачи «достать список» он избыточен — тогда вернитесь к выводу списка в Excel.

Выгрузка справочника в DBF и текстовый файл

DBF и текст нужны, когда данные принимает сторонняя программа: старый складской учёт, банковское ПО, импорт в госсистему. Формат и состав полей диктует приёмник — сначала узнайте его требования, потом формируйте файл.

Текстовый файл проще всего получить тем же Еще → Вывести список, но на шаге вывода указать Текстовый документ и сохранить как .txt. Разделителем будет табуляция.

Для DBF штатной кнопки нет — файл формируют кодом через объект платформы XBase. Пример выгрузки номенклатуры в консоли кода или внешней обработке:

Экспорт = Новый XBase;
Экспорт.Кодировка = КодировкаXBase.OEM; // cp866 — для старых DBF-приёмников
Экспорт.Поля.Добавить("CODE", "S", 11);
Экспорт.Поля.Добавить("NAME", "S", 150);
Экспорт.СоздатьФайл("C:\Обмен\nomenkl.dbf");

Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
    Экспорт.Добавить();
    Экспорт.CODE = Выборка.Код;
    Экспорт.NAME = Выборка.Наименование;
    Экспорт.Записать();
КонецЦикла;

Экспорт.ЗакрытьФайл();

Имена полей DBF — не длиннее 10 символов и латиницей. Кодировку выбирайте под приёмник: OEM даёт cp866 (классический DBF), ANSI — windows-1251. Ошибётесь с кодировкой — получите «кракозябры» в принимающей программе.

При обратном чтении DBF перебор строк идёт в цикле с проверкой конца файла методом ВКонце() — учтите это, если позже будете загружать такой файл назад.

Отбор элементов перед выгрузкой справочника

Выгружать весь справочник целиком нужно редко. Чаще требуется часть: только активные контрагенты, номенклатура одной группы, элементы, созданные за период.

Для списка и вывода в Excel:

  • 🔎 Поставьте отбор в самом списке: Еще → Настроить список → Отбор, задайте условие (например, по реквизиту или группе). После этого Вывести список отдаст только отобранные строки.
  • 📁 Для иерархических справочников перейдите внутрь нужной группы — выведется её содержимое.
  • 📅 По дате создания отбор в типовом списке не всегда доступен; тогда отберите через универсальный отчёт или список документов, где элемент впервые появился.

Для выгрузки в XML отбор задаётся в самой обработке: в «Выгрузке и загрузке данных XML» можно ограничить состав элементов условиями по реквизитам, чтобы не тянуть весь справочник.

Перед большой выгрузкой проверьте отбор на экране: ровно те строки, что видите в списке после фильтра, и уедут в файл.

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

Когда выгрузка нужна регулярно — ночью, по расписанию, в один и тот же файл для внешней программы — ручной «Вывести список » не подходит. Задачу закрывают кодом.

Два рабочих подхода:

Табличный документ из кода. Формируете ТабличныйДокумент программно и сохраняете в файл нужного формата:

ТабДок = Новый ТабличныйДокумент;
// ... заполнение строк данными выборки ...
ТабДок.Записать("C:\Обмен\spravochnik.xlsx",
    ТипФайлаТабличногоДокумента.XLSX);

Для DBF используйте показанный выше XBase, для текста — ЗаписьТекста.

Регламентное задание. Код выгрузки оформляют в общий модуль и вызывают из регламентного задания по расписанию. Настройка расписания — в разделе Администрирование → Обслуживание → Регламентные и фоновые задания (в клиент-серверной базе задания выполняет сервер).

Регламентные задания в файловой базе работают только при открытом сеансе, который их обслуживает. Для стабильной выгрузки по расписанию держите базу в клиент-серверном варианте.

Если выгрузку инициирует внешняя программа, применяют COM-соединение (V83.COMConnector): внешнее приложение подключается к базе и вызывает процедуру выгрузки. Это требует настройки прав и установленного COM-компонента на машине-источнике.

В клиент-серверной базе код регламентного задания выполняется на сервере, и путь вроде C:\Обмен\ — это диск сервера, а не вашего компьютера. Указывайте каталог, доступный серверу 1С, иначе файл «потеряется» или задание упадёт на записи. Для выгрузки в сетевую папку проверьте, что у учётной записи службы 1С есть права на запись в неё.

Типичные ошибки и как их избежать

Короткий разбор того, на чём чаще спотыкаются именно при выгрузке справочников — без повтора шагов из инструкций выше.

Диагностика: выберите симптом

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

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