Список контрагентов с телефонами и email: три способа получить файл Excel из 1С

· 10 мин

Содержание

Чтобы выгрузить базу клиентов из 1С в Excel, откройте список контрагентов, нажмите Ещё → Вывести список, отметьте нужные колонки и сохраните полученную таблицу в формате .xlsx. Это две минуты работы. Сложности начинаются, когда в файле нужны контакты: телефоны и email в 1С 8.3 хранятся не в колонках справочника, а в отдельной таблице контактной информации.

Поэтому способов три: быстрый вывод списка, универсальный отчёт с отборами и запрос, который собирает контрагента, ИНН, телефон и почту в одну строку. Ниже каждый способ с примерами для 1С:Бухгалтерии 3.0, а также разбор проблем с кодировкой, «съеденными» нулями в ИНН и правами пользователя.

Где в 1С хранятся клиенты и их контакты

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

КонфигурацияГде лежат клиентыГде лежат контактные лица
Бухгалтерия предприятия 3.0Справочники → Покупки и продажи → КонтрагентыСправочник «Контактные лица», подчинён контрагенту (вкладка в карточке)
Управление торговлей 11Справочник «Партнёры» (клиенты — партнёры с признаком клиента) и подчинённые ему «Контрагенты»Справочник «Контактные лица партнёров»

Главное отличие УТ 11: телефоны и адреса для работы с клиентом обычно заполнены у партнёра, а у контрагента — юридические реквизиты. Если выгрузить только контрагентов, часть контактов потеряется.

Как устроена контактная информация

📞 Телефон, ✉️ email, 🏠 юридический и фактический адрес не являются обычными реквизитами. Это строки табличной части «Контактная информация» внутри каждого контрагента. Каждая строка хранит:

  • тип — телефон, адрес, адрес электронной почты, веб-страница, факс, другое;
  • вид — например, «Телефон» или «Юридический адрес»;
  • представление — сам номер или адрес в виде текста.

Отсюда практическое следствие. Простая команда вывода списка покажет только те колонки, что есть в форме списка. Отдельной колонки «Телефон» там часто нет, и добавить её через настройку формы получится не всегда.

Подготовка справочника перед выгрузкой

Пять минут на чистку сэкономят работу в Excel. Проверьте:

  1. 🗑️ Помеченные на удаление. Они попадают в выгрузку наравне с рабочими. В универсальном отчёте их убирают отбором, в выводе списка — уже в Excel.
  2. 📁 Группы (папки). В иерархическом режиме папки выводятся отдельными строками. Переключите вид: Ещё → Режим просмотра → Список.
  3. 👥 Дубли. Один клиент, заведённый дважды, даст две строки с разными телефонами. Поиск дублей удобнее делать в Excel по колонке ИНН.
  4. 🧾 Поставщики вперемешку с покупателями. В БП 3.0 справочник общий. Если нужны только покупатели, отберите тех, по кому есть обороты по счёту 62 (это можно сделать в оборотно-сальдовой ведомости по счёту и сопоставить списки).
  5. 🔐 Права. Команды вывода и сохранения доступны, только если у роли пользователя есть право «Вывод». Без него пункт Вывести список не появится в меню или будет неактивен.

Выгрузка с телефонами и email физических лиц, ИП и контактных лиц — это обработка персональных данных. Файл нельзя пересылать в открытые чаты и хранить на общих дисках без защиты. Требования к такой обработке установлены законом № 152-ФЗ.

Способ 1. Выгрузить контрагентов из 1С через команду «Вывести список»

Самый быстрый вариант. Подходит, когда нужны наименование, ИНН, КПП и то, что видно в колонках списка.

  1. Откройте Справочники → Покупки и продажи → Контрагенты.
  2. При необходимости сузьте список: строка поиска в правом верхнем углу ищет по наименованию и ИНН.
  3. Если нужны не все строки, выделите их мышью с Ctrl или Shift.
  4. Нажмите Ещё → Вывести список.
  5. В окне настройки:
    • в поле «Выводить в» оставьте «Табличный документ»;
    • снимите галочки с ненужных колонок;
    • отметьте «Только выделенные», если выделяли строки на шаге 3.
  6. Нажмите «ОК». Откроется таблица в отдельном окне.
  7. Нажмите Ctrl+S или откройте главное меню (кнопка с тремя полосками в заголовке окна) → Файл → Сохранить как.
  8. В поле «Тип файла» выберите «Лист Microsoft Excel 2007-…» (*.xlsx) и укажите имя.

💡 Не выбирайте старый формат *.xls. В нём ограничение 65 536 строк, а у крупной базы контрагентов их может быть больше. Формат .xlsx вмещает 1 048 576 строк.

Как добавить колонки в список

Если в списке не хватает реквизита (например, «Основной договор» или «Полное наименование»), добавьте его до вывода:

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

Добавленная колонка сохранится в настройках формы для вашего пользователя. Команда «Вывести список » её подхватит.

Способ 2. Отчёт с отборами: выгрузка клиентов из 1С без лишних строк

Когда нужен аккуратный список с фильтрами, удобнее универсальный отчёт. В БП 3.0 он находится в Отчеты → Стандартные отчеты → Универсальный отчет.

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

Если в настройках отчёта можно выбрать табличную часть контактной информации, отчёт выведет её построчно: контрагент — вид — представление. Такой «длинный» формат легко развернуть в Excel сводной таблицей, где виды контактов станут колонками.

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

Способ 3. Прямая выгрузка контактов запросом: телефон и email в одной строке

Когда руководитель просит «таблицу: клиент, ИНН, телефон, почта, адрес» — самый надёжный путь это запрос. Его выполняют в «Консоли запросов» — внешней обработке, которая выводит результат таблицей. Для запуска нужны права на открытие внешних обработок; обычно это делает администратор или 1С-ник.

Запрос ниже собирает по каждому контрагенту первый найденный телефон, email и адрес:

ВЫБРАТЬ
    Контрагенты.Наименование КАК Клиент,
    Контрагенты.ИНН КАК ИНН,
    Контрагенты.КПП КАК КПП,
    МАКСИМУМ(ВЫБОР
            КОГДА КИ.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)
                ТОГДА ПОДСТРОКА(КИ.Представление, 1, 200)
        КОНЕЦ) КАК Телефон,
    МАКСИМУМ(ВЫБОР
            КОГДА КИ.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)
                ТОГДА ПОДСТРОКА(КИ.Представление, 1, 200)
        КОНЕЦ) КАК Email,
    МАКСИМУМ(ВЫБОР
            КОГДА КИ.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
                ТОГДА ПОДСТРОКА(КИ.Представление, 1, 500)
        КОНЕЦ) КАК Адрес
ИЗ
    Справочник.Контрагенты КАК Контрагенты
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.КонтактнаяИнформация КАК КИ
        ПО Контрагенты.Ссылка = КИ.Ссылка
ГДЕ
    НЕ Контрагенты.ПометкаУдаления
    И НЕ Контрагенты.ЭтоГруппа

СГРУППИРОВАТЬ ПО
    Контрагенты.Наименование,
    Контрагенты.ИНН,
    Контрагенты.КПП

УПОРЯДОЧИТЬ ПО
    Клиент

Пояснения к запросу:

  • ЛЕВОЕ СОЕДИНЕНИЕ оставляет в выгрузке и тех клиентов, у кого контактов нет вовсе — у них будут пустые ячейки.
  • ПОДСТРОКА нужна потому, что по строкам неограниченной длины в 1С нельзя группировать и брать максимум.
  • МАКСИМУМ выбирает одно значение, если телефонов несколько. Если нужны все номера, уберите группировку и поле КИ.Тип выведите отдельной колонкой — тогда каждый телефон будет отдельной строкой.

Результат консоли выводится в табличный документ. Сохраняется он так же, как в способе 1: Ctrl+S → тип файла *.xlsx.

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

Выгрузка контактных лиц

Для БП 3.0 аналогичный запрос строится по справочнику «Контактные лица»: поле Владелец даёт контрагента, а табличная часть КонтактнаяИнформация — телефон и почту конкретного человека. Структура запроса та же, меняется только источник в разделе ИЗ.

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

Какие поля включить в выгружаемый файл

Состав колонок зависит от задачи. Ориентир:

ЗадачаМинимальный набор полей
Рассылка или обзвонНаименование, контактное лицо, телефон, email
Перенос в CRMНаименование, ИНН, КПП, телефон, email, адрес, менеджер
Сверка с налоговой или банкомПолное наименование, ИНН, КПП, ОГРН, юридический адрес
Анализ клиентской базыНаименование, ИНН, группа, дата создания, оборот за период

💡 Для переноса в другую систему всегда добавляйте ИНН и КПП. Это единственный надёжный ключ, по которому принимающая программа найдёт дубли. Наименования «ООО Ромашка» и «Ромашка ООО» для неё разные клиенты.

Оборот за период в справочнике не хранится. Его берут из оборотно-сальдовой ведомости по счёту 62 с разворотом по контрагентам, сохраняют отдельным файлом и соединяют с выгрузкой в Excel по наименованию или ИНН.

Решение проблем с кодировкой и форматированием

Большинство проблем возникает не в 1С, а при открытии файла в Excel.

СимптомПричинаЧто сделать
Вместо русских букв «кракозябры»Файл сохранён как текст или CSV, Excel открыл его не в той кодировкеСохраняйте сразу в .xlsx. Для CSV — в Excel Данные → Из текстового/CSV-файла, кодировка 65001: Юникод (UTF-8) или 1251: Кириллица (Windows)
ИНН вида 7.71E+09Excel принял ИНН за числоПри импорте CSV задайте столбцу ИНН формат «Текстовый»
У ИНН пропал ведущий нольТа же причина: число не хранит нули в началеФормат «Текстовый» до импорта; потерянный ноль восстанавливается формулой =ТЕКСТ(A2;"0000000000") для 10-значных ИНН
Телефон +7 495… превратился в ошибкуExcel посчитал строку с плюсом формулойИмпорт со столбцом «Текстовый»
Объединённые ячейки, сортировка не работаетВ отчёте были группировки или многострочная шапкаУбрать группировки в настройках отчёта, шапку оставить в одну строку
Все данные в одном столбцеCSV с разделителем «;», а Excel ждёт «,» (или наоборот)При импорте указать разделитель вручную

Формат .xlsx из 1С обычно не даёт ни кракозябр, ни превращения ИНН в числа, потому что строки записываются как текст. Все перечисленные сбои почти всегда связаны с CSV или с копированием через буфер обмена.

Формула =ТЕКСТ(...) возвращает правильный вид ИНН, но если ноль уже был отброшен при сохранении исходного файла, проверьте пару ИНН по карточкам в 1С. ИНН юрлица — 10 цифр, ИП и физлица — 12. Для 12-значных используйте маску из двенадцати нулей.

Автоматизация выгрузки клиентов с помощью внешней обработки

Если файл нужен регулярно, запрос из способа 3 стоит упаковать во внешнюю обработку. Пользователь открывает её через Файл → Открыть, нажимает кнопку и получает готовый .xlsx.

Каркас кода формы обработки:

&НаСервере
Функция СформироватьТаблицуНаСервере()

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

    ТД = Новый ТабличныйДокумент;
    ТД.Область(1, 1, 1, 1).Текст = "Клиент";
    ТД.Область(1, 2, 1, 2).Текст = "ИНН";

    НомерСтроки = 1;
    Пока Выборка.Следующий() Цикл
        НомерСтроки = НомерСтроки + 1;
        ТД.Область(НомерСтроки, 1, НомерСтроки, 1).Текст = Выборка.Клиент;
        ТД.Область(НомерСтроки, 2, НомерСтроки, 2).Текст = Выборка.ИНН;
    КонецЦикла;

    Возврат ТД;

КонецФункции

&НаКлиенте
Процедура Выгрузить(Команда)

    ТД = СформироватьТаблицуНаСервере();
    ТД.Показать("Клиенты");

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

Сервер собирает таблицу, клиент её показывает. Пользователь сохраняет файл через Ctrl+S в .xlsx. Чтобы добавить телефон и email, подставьте в Запрос.Текст полный запрос из способа 3 и добавьте колонки по тому же образцу.

Для полностью автоматической выгрузки по расписанию (например, каждый понедельник в общую папку для отдела продаж) нужен уже не внешний модуль, а расширение конфигурации с регламентным заданием. Файл в этом случае пишется методом ТД.Записать(Путь, ТипФайлаТабличногоДокумента.XLSX) на стороне сервера, и путь должен быть доступен учётной записи, от которой работает сервер 1С.

Частые ошибки при переносе клиентской базы в Excel

  • ❌ Выгрузили контрагентов вместо партнёров в УТ 11. Юридические лица на месте, а телефонов менеджеров нет: они заполнены у партнёра.
  • ❌ Взяли «Наименование» вместо «Полное наименование» для писем и договоров. В рабочем наименовании часто сокращения и пометки вроде «(не работаем)».
  • ❌ Не сняли выделение строк. Галочка «Только выделенные» осталась включённой после прошлой выгрузки — в файле три клиента вместо трёхсот.
  • ❌ Склеили файлы по наименованию. При соединении выгрузки с оборотами одинаковые наименования разных контрагентов дают ложные совпадения. Склеивайте по ИНН + КПП.
  • ❌ Отправили файл подрядчику без договора. Передача контактов физлиц и ИП третьим лицам без оснований — нарушение режима персональных данных.
Можно ли выгрузить клиентов из 1С без прав администратора?
Да. Для вывода списка и универсального отчёта достаточно обычной роли с правом «Вывод». Для консоли запросов и внешних обработок нужно отдельное право на их интерактивное открытие — его выдаёт администратор.
Почему в выгрузке нет телефонов, хотя в карточках они есть?
Телефоны хранятся в табличной части контактной информации, а не в колонках списка. Используйте отчёт с этой табличной частью или запрос.
Как выгрузить клиентов из 1С в формате для CRM?
Сохраните таблицу в .xlsx с колонками ИНН, КПП, наименование, телефон, email, затем в CRM сопоставьте колонки при импорте. Большинство CRM принимают xlsx или CSV в UTF-8.
Можно ли выгрузить только клиентов, с которыми работали за год?
Да. Сформируйте оборотно-сальдовую ведомость по счёту 62 за год с разворотом по контрагентам и сохраните её в Excel. Строки с оборотами — это активные клиенты.
Работает ли «Вывести список» в веб-клиенте и облаке 1С:Фреш?
Да, команда платформенная. Сохранение файла в веб-клиенте идёт через загрузку браузера.

Источники

  • Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных»