Справочники в 1С:Предприятие — это основа любой учетной системы, содержащая нормативно-справочную информацию: номенклатуру, контрагентов, сотрудников, единицы измерения и другие объекты. Без доступа к этим данным невозможно вести учет, формировать отчеты или интегрировать систему с внешними сервисами. Однако не всегда понятно, как именно извлечь нужный справочник — особенно если требуется передать его в другую программу, проанализировать в Excel или использовать в стороннем ПО.

В этой статье мы разберем все актуальные способы получения справочников из — от ручных методов через интерфейс программы до автоматизированных решений с использованием встроенного языка и REST API. Особое внимание уделим нюансам для разных версий платформы (1С:Предприятие 8.3 и 7.7), а также типичным ошибкам, которые возникают при выгрузке данных. Если вам нужно не просто посмотреть справочник, а экспортировать его для дальнейшей обработки — здесь вы найдете пошаговые инструкции с примерами кода и скриншотами.

Прежде чем приступить, уточните: какой именно справочник вам нужен? От этого зависит выбор метода. Например, для разовой выгрузки номенклатуры в Excel подойдет стандартный отчет, а для автоматической синхронизации с сайтом потребуется настройка обмена данными или написание скрипта.

📊 Для чего вам нужен справочник из 1С?
Анализ данных в Excel
Интеграция с сайтом/CRM
Перенос в другую базу 1С
Автоматизация отчетов
Другое

1. Получение справочника через интерфейс 1С (ручные методы)

Самый простой способ — использовать встроенные инструменты 1С:Предприятие. Он подходит для разовых задач и не требует знаний программирования. Рассмотрим два основных варианта: просмотр непосредственно в базе и выгрузка в Excel/PDF.

Чтобы открыть справочник в интерфейсе программы:

  • 📌 Перейдите в раздел меню, соответствующий нужному справочнику (например, Справочники → Номенклатура или Справочники → Контрагенты).
  • 🔍 Используйте поле поиска вверху списка, если справочник содержит тысячи записей.
  • 📄 Для просмотра детальной информации дважды кликните по строке или нажмите Enter.

Если требуется выгрузить данные в файл:

  1. Откройте нужный справочник (например, Справочники → Организации).
  2. Нажмите кнопку Ещё (или Действия в старых версиях) → Вывести список.
  3. В открывшемся окне выберите формат: Excel, PDF, HTML или TXT.
  4. Укажите путь для сохранения файла и нажмите Сохранить.
💡

В 1С:Предприятие 8.3 при выгрузке в Excel можно настроить состав колонок: кликните по заголовку столбца правой кнопкой и выберите Настройка списка.

Ограничения ручного метода:

  • ⚠️ Выгружаются только видимые в интерфейсе поля (скрытые реквизиты не экспортируются).
  • ⚠️ В больших справочниках (более 10 000 записей) выгрузка может занять несколько минут.
  • ⚠️ Нет возможности автоматизировать процесс — каждый раз приходится повторять действия вручную.
Как выгрузить справочник с иерархией?

Чтобы сохранить структуру подчиненности (например, группы номенклатуры), в окне выгрузки отметьте галочку Сохранять иерархию. В Excel группы будут отображаться с отступами.

2. Выгрузка справочника через «Универсальный отчет»

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

Инструкция по настройке отчета:

  1. Перейдите в Отчеты → Универсальный отчет (в некоторых конфигурациях путь может отличаться, например, Сервис → Универсальные отчеты).
  2. В поле Объект выберите нужный справочник (например, Справочник.Номенклатура).
  3. На вкладке Поля отметьте галочками все необходимые колонки (название, артикул, группа, цены и т.д.).
  4. Примените фильтры, если нужно выгрузить только часть данных (например, номенклатуру определенной группы).
  5. Нажмите Сформировать, затем Вывести в Excel или другой формат.

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

ПометкаУдаления = Ложь И ЭтоГруппа = Ложь

Преимущества универсального отчета:

  • 🔹 Гибкая настройка состава данных (можно добавить даже расчетные поля).
  • 🔹 Возможность сохранять шаблоны отчетов для повторного использования.
  • 🔹 Поддержка выгрузки в Excel, ODS, XML и другие форматы.

Проверить права доступа (требуется роль с правом на просмотр справочника)

Уточнить состав полей (включить все необходимые реквизиты)

Применить фильтры (например, по дате создания или группе)

Выбрать формат выгрузки (Excel рекомендуется для дальнейшей обработки)

-->

3. Программная выгрузка справочника (1С:Предприятие 8.3)

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

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

// Получаем данные справочника

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Номенклатура.Ссылка КАК Ссылка,

| Номенклатура.Наименование КАК Наименование,

| Номенклатура.Артикул КАК Артикул,

| Номенклатура.Группа КАК Группа

|ИЗ

| Справочник.Номенклатура КАК Номенклатура

|ГДЕ

| НЕ Номенклатура.ЭтоГруппа

| И НЕ Номенклатура.ПометкаУдаления";

Результат = Запрос.Выполнить;

Выборка = Результат.Выбрать;

// Создаем файл CSV

ИмяФайла ="C:\Temp\Номенклатура.csv";

Текст = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.UTF8, Истина);

// Записываем заголовки

Текст.ЗаписатьСтроку("Ссылка;Наименование;Артикул;Группа");

// Записываем данные

Пока Выборка.Следующий Цикл

Текст.ЗаписатьСтроку(СтрШаблон("%1;%2;%3;%4",

Выборка.Ссылка.УникальныйИдентификатор,

Выборка.Наименование,

Выборка.Артикул,

Выборка.Группа.Наименование));

КонецЦикла;

Текст.Закрыть;

Сообщить("Выгрузка завершена:" + ИмяФайла);

Где разместить этот код:

  • 🖥️ В конфигураторе: создайте внешнюю обработку или добавьте код в модуль объекта.
  • 📄 В пользовательском режиме: используйте Отладчик (клавиша F5 в конфигураторе) или создайте Внешнюю обработку и подключите ее через Файл → Открыть.

Важно: при выгрузке больших справочников (более 50 000 записей) разбейте запрос на части с помощью параметра ПАКЕТНЫЙ или используйте Позиционирование, чтобы избежать таймаута.

💡

Для выгрузки иерархических справочников (например, групп номенклатуры) используйте рекурсивный обход или запрос с параметром ИЕРАРХИЯ.

4. Обмен данными через XML (универсальный формат)

Формат XML — стандарт для обмена данными между системами. В предусмотрены встроенные механизмы для выгрузки справочников в XML, которые затем можно импортировать в другие программы или базы данных.

Пошаговая инструкция:

  1. Откройте конфигуратор (1С:Предприятие в режиме Конфигуратор).
  2. Перейдите в Администрирование → Обмен данными → Универсальный обмен данными в формате XML.
  3. Нажмите Выгрузить данные и выберите нужный справочник (например, Контрагенты).
  4. Укажите путь для сохранения файла (расширение .xml).
  5. Запустите выгрузку кнопкой Выполнить.

Пример структуры полученного XML-файла для справочника Контрагенты:

<?xml version="1.0" encoding="utf-8"?>

<Документ>

<Контрагенты>

<Контрагент Ссылка="123e4567-e89b-12d3-a456-426614174000">

<Наименование>ООО"Ромашка"</Наименование>

<ИНН>7701234567</ИНН>

<КПП>770101001</КПП>

</Контрагент>

<!-- Другие записи -->

</Контрагенты>

</Документ>

Преимущества выгрузки в XML:

Плюс Минус
🔹 Сохраняется структура данных (иерархия, ссылки между объектами) ⚠️ Файлы могут быть очень большими при экспорте крупных справочников
🔹 Поддерживается большинством систем (1С, CRM, ERP) ⚠️ Требуется знание XSD-схемы для корректного импорта в другие программы
🔹 Можно выгружать связанные данные (например, контрагенты + их банковские счета) ⚠️ Медленнее, чем бинарные форматы (например, DT)
💡

Для уменьшения размера XML-файла используйте архивацию (например, ZIP) или выгружайте данные порциями по 1000 записей.

5. Автоматизированный обмен через REST API (для 1С:Предприятие 8.3.20+)

С появлением REST API в 1С:Предприятие 8.3.20 появилась возможность получать данные справочников по HTTP-запросам. Это удобно для интеграции с веб-сервисами, CRM-системами или мобильными приложениями.

Пример запроса для получения списка номенклатуры:

GET /hs/exchange/rest/Справочник_Номенклатура?$top=100

Host: ваш-сервер:порт

Authorization: Basic base64-кодированный-логин-пароль

Ответ сервера будет в формате JSON:

{

"value": [

{

"Ref_Key":"123e4567-e89b-12d3-a456-426614174000",

"DeletionMark": false,

"Description":"Стул офисный'Эрго'",

"Article":"ART-001",

"Parent_Key":"00000000-0000-0000-0000-000000000000"

},

// Другие записи

]

}

Как настроить REST-сервис в :

  1. В конфигураторе откройте Администрирование → Публикация на веб-сервере.
  2. Установите флажок Опубликовать REST-сервис и укажите путь (например, /hs/exchange/rest).
  3. Настройте аутентификацию (обычно используется Basic Auth или OAuth 2.0).
  4. Перезапустите веб-сервер (Apache или IIS).
Ограничения REST API в 1С

Максимальное количество записей в одном запросе — 1000 (используйте пагинацию с параметром $skip).

Не все реквизиты справочников доступны по умолчанию — может потребоваться донастройка прав.

Для больших объемов данных рекомендуется использовать ODATA-протокол вместо REST.

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

import requests

import base64

Кодируем логин и пароль

auth = base64.b64encode(b"admin:password").decode("ascii")

Запрашиваем данные

url ="http://localhost:8080/hs/exchange/rest/Справочник_Контрагенты"

headers = {"Authorization": f"Basic {auth}"}

response = requests.get(url, headers=headers)

Сохраняем в файл

with open("контрагенты.json","w", encoding="utf-8") as f:

f.write(response.text)

💡

REST API — самый современный способ интеграции, но требует настройки веб-сервера и защиты канала (рекомендуется использовать HTTPS).

6. Выгрузка через внешние обработки и расширения

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

  • 📊 Выгрузка справочника с дополнительными расчетными полями.
  • 🔄 Синхронизация с Google Sheets или Yandex Диском.
  • 📦 Архивация данных с историей изменений.

Где взять готовые решения:

Источник Примеры решений Стоимость
Инфостарт Обработки для выгрузки в Excel, JSON, SQL От 500 до 5000 руб.
Кодерлайн Расширения для обмена с Bitrix24, АмоCRM От 1000 руб.
Гитхаб (GitHub) Бесплатные скрипты для выгрузки через COM-соединение Бесплатно

Пример подключения внешней обработки:

  1. Скачайте файл обработки (расширение .epf или .erf).
  2. В перейдите в Файл → Открыть и выберите скачанный файл.
  3. Следуйте инструкциям обработки (обычно нужно указать справочник и путь для сохранения).
💡

Перед использованием сторонних обработок проверьте их на тестовой базе — некоторые решения могут содержать вредоносный код.

7. Особенности работы со справочниками в 1С:Предприятие 7.7

Если вы работаете со старой версией 1С:Предприятие 7.7, то многие современные методы (например, REST API или универсальный отчет) недоступны. Однако есть альтернативные способы:

Способы выгрузки в 1С 7.7:

  • 📑 Текстовый файл (TXT/CSV): через встроенный механизм Выгрузка данных в меню Сервис.
  • 📥 DBF-файлы: используйте обработку ВыгрузкаВDBF.ert (поставляется с дистрибутивом).
  • 🔌 COM-соединение: для автоматизации из внешних программ (например, VBA в Excel).

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

Процедура ВыгрузитьВDBF

Если Не ВыбратьСправочник("Номенклатура",, Спр) Тогда

Прервать;

КонецЕсли;

ИмяФайла ="C:\Temp\Номенклатура.dbf";

Если ВыгрузитьДанные(Спр, ИмяФайла) = 1 Тогда

Сообщить("Выгрузка завершена:" + ИмяФайла);

Иначе

Сообщить("Ошибка выгрузки!");

КонецЕсли;

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

Ограничения 1С 7.7:

⚠️ Внимание: В версии 7.7 отсутствует поддержка UTF-8 в текстовых файлах — при выгрузке кириллических данных используйте кодировку Windows-1251. Также нет встроенной поддержки JSON или XML (требуются внешние компоненты).

8. Типичные ошибки и их решения

При работе со справочниками в пользователи часто сталкиваются счными проблемами. Разберем самые распространенные и способы их устранения.

Ошибка 1:"Недостаточно прав для просмотра справочника"

  • 🔐 Решение: Запросите у администратора роль с правом на чтение нужного справочника (например, ЧтениеСправочников).
  • 🔐 В конфигураторе проверьте настройки ролей: Администрирование → Пользователи → Настройка прав.

Ошибка 2:"Превышен лимит памяти при выгрузке"

  • 🗑️ Решение: Разбейте выгрузку на части (например, по 5000 записей) или используйте пакетный режим:
Запрос.ПакетныйРежим = Истина;

Ошибка 3:"Файл не найден при сохранении"

  • 📁 Решение: Убедитесь, что путь для сохранения существует и у программы есть права на запись. В Windows проверьте разрешения для папки.
  • 📁 Используйте относительные пути (например, ".\Data\Export\") вместо абсолютных.

Ошибка 4:"Некорректная кодировка в выгруженном файле"

  • 🔤 Решение: Явно укажите кодировку при сохранении:
Текст = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.UTF8);

Ошибка 5:"Не удается подключиться к REST-сервису"

  • 🌐 Решение:
  • Проверьте, что сервис опубликован на веб-сервере (Apache/IIS).
  • Убедитесь, что порт открыт в брандмауэре (80 или 443 для HTTPS).
  • Проверьте логин/пароль в заголовке Authorization.
Как устранить ошибку"Объект не найден" при работе с REST API?

Эта ошибка возникает, если неверно указано имя справочника в URL. Проверьте регистр и синтаксис:

- Правильно: /hs/exchange/rest/Справочник_Номенклатура

- Неправильно: /hs/exchange/rest/номенклатура или /СправочникНоменклатура

FAQ: Частые вопросы по работе со справочниками 1С

Можно ли выгрузить справочник с историей изменений (кто и когда редактировал записи)?

Да, для этого нужно использовать журнал регистрации или подписку на события:

  1. В конфигураторе откройте Администрирование → Журналы регистрации.
  2. Настройте регистрацию изменений для нужного справочника.
  3. Выгрузите данные журнала через запрос:
ВЫБРАТЬ

ЖурналДокументов.Дата,

ЖурналДокументов.Пользователь,

ЖурналДокументов.Событие,

ЖурналДокументов.ПредставлениеОбъекта

ИЗ

РегистрСведений.ЖурналРегистрации КАК ЖурналДокументов

ГДЕ

ЖурналДокументов.Объект = ВЫБРАТЬ Справочник.Номенклатура.Ссылка

Как выгрузить справочник вместе с картинками (изображениями номенклатуры)?

Картинки в хранятся в бинарных данных. Чтобы их выгрузить:

  1. Используйте запрос с полем Картинка (если оно есть в справочнике).
  2. Сохраните бинарные данные в файл:
Картинка = Выборка.Картинка.Получить;

Картинка.Записать("C:\Temp\image.jpg");

Для пакетной выгрузки используйте обработку ВыгрузкаИзображений (доступна на Инфостарте).

Можно ли автоматически обновлять справочник в 1С из Excel?

Да, для этого:

  1. Создайте обработку загрузки данных из Excel (например, ЗагрузкаИзExcel.epf).
  2. Настройте соответствие колонок файла полям справочника.
  3. Используйте метод НайтиПоНаименованию или НайтиПоРеквизиту для поиска существующих записей.

Пример кода для обновления цены номенклатуры:

Таблица = ПолучитьДанныеИзExcel("C:\Temp\цены.xlsx");

Для Каждого Строка Из Таблица Цикл

Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Строка.Наименование);

Если Номенклатура <> Неопределено Тогда

Номенклатура.Цена = Строка.Цена;

Номенклатура.Записать;

КонецЕсли;

КонецЦикла;

Как перенести справочник из одной базы 1С в другую?

Есть несколько способов:

  1. Через обмен данными: настройте план обмена между базами (Администрирование → Обмен данными).
  2. Через XML: выгрузите справочник в XML в первой базе и загрузите во второй.
  3. Через DT-файл: используйте обработку ВыгрузкаЗагрузкаДанныхXML (поставляется с платформой).

Для больших объемов данных рекомендуется использовать распределенную информационную базу (РИБ).

Почему при выгрузке в Excel русские буквы отображаются кракозябрами?

Проблема связана с неверной кодировкой. Решения:

  • При сохранении файла явно укажите кодировку UTF-8 или Windows-1251.
  • В Excel при открытии файла выберите кодировку вручную:
    1. Откройте ExcelФайл → Открыть.
    2. Выберите файл CSV → нажмите Импорт.
    3. На шаге"Формат данных" укажите кодировку 1251 или UTF-8.
  • Если используете 1С 7.7, выгружайте данные в DBF — этот формат не имеет проблем с кодировкой.