Список поставщиков из 1С в Excel, XML и JSON: шесть рабочих способов

· 10 мин

Содержание

Чтобы выгрузить поставщиков из 1С в Excel, откройте список контрагентов (в Бухгалтерии 3.0 — Справочники → Покупки и продажи → Контрагенты, в УТ 11 — Закупки → Поставщики), наложите отбор, нажмите Ещё → Вывести список..., отметьте нужные колонки и сохраните полученную таблицу кнопкой с дискетой в формате .xlsx. На список из 300–500 строк уходит пара минут.

Если нужны не все контрагенты, а только те, у кого были закупки, берите оборотно-сальдовую ведомость по счёту 60 или запрос по документам поступления. Для переноса в другую базу подходит XML, для сайта или внешней системы — JSON через стандартный интерфейс OData или небольшую внешнюю обработку .

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

В Бухгалтерии 3.0 нет отдельного справочника «Поставщики». Покупатели, поставщики, банки и налоговые лежат в одном справочнике «Контрагенты». Поставщиком контрагент становится по факту: по нему есть поступления и обороты по счёту 60.

В УТ 11 и ERP иначе. Там есть справочник «Партнёры» с флажками «Клиент», «Поставщик», «Конкурент», а юридические реквизиты (ИНН, КПП) хранятся у связанных с партнёром контрагентов. Выгружая «поставщиков» из УТ, решите заранее, что вам нужно: партнёры (торговые отношения) или контрагенты (реквизиты для договоров и платежей).

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

  • 🗂️ Группы. Папки справочника попадут в выгрузку как отдельные строки без ИНН. Их проще отключить отбором, чем вычищать потом в Excel.
  • 🗑️ Пометка на удаление. Помеченные элементы видны в списке и тоже выгрузятся. Включите отбор «Пометка удаления = Нет».
  • 👯 Дубли по ИНН. Один и тот же поставщик, заведённый дважды, даст две строки. Найти их можно сортировкой списка по колонке ИНН.
  • 📝 Пустые реквизиты. Если колонка ИНН или КПП пустая у половины строк, выгрузка будет бесполезна для сверки. Заполните реквизиты по ИНН через сервис 1С:Контрагент, если он подключён.
  • 📇 Контактная информация. Адреса и телефоны хранятся в отдельной табличной части. В обычный вывод списка они не попадают, для них нужен запрос (см. ниже).

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

Выгрузка списка поставщиков в Excel из формы списка

Самый быстрый способ, без отчётов и обработок. Работает в любой конфигурации на платформе 8.3 с интерфейсом «Такси».

  1. Откройте справочник: в Бухгалтерии 3.0 — Справочники → Покупки и продажи → Контрагенты, в УТ 11 — Закупки → Поставщики (это список партнёров с уже включённым признаком «Поставщик»).
  2. Если нужна только часть, наложите отбор: строка поиска, отбор по группе слева или Ещё → Расширенный поиск.
  3. Нажмите Ещё → Вывести список....
  4. В открывшемся окне снимите флажки с ненужных колонок и оставьте, например, «Наименование», «ИНН», «КПП», «Полное наименование».
  5. Нажмите ОК. Программа сформирует табличный документ со всеми строками, которые попали под отбор, а не только с видимыми на экране.
  6. Нажмите кнопку сохранения (дискета) или Ctrl+S, в поле «Тип файла» выберите лист Excel 2007 (*.xlsx), укажите имя и папку.

Колонки в окне «Вывести список » — это поля формы списка. Если нужного поля нет (например, «Основной договор»), добавьте его в форму: Ещё → Изменить форму, отметьте поле в дереве элементов и повторите вывод.

Для разового копирования 20–30 строк хватит буфера обмена. Выделите строки в списке с Shift или Ctrl, нажмите Ctrl+C и вставьте в Excel. Скопируются видимые колонки.

Табличный документ сохраняется и в другие форматы: .xls, .ods, .pdf, .html, .docx, текст .txt. Для дальнейшей обработки берите .xlsx: ИНН и КПП сохранятся как текст, без потери ведущих нулей.

Поставщики с реальными закупками: отчёт по счёту 60 и запрос

Справочник показывает всех, кого когда-либо заводили. Если нужен список тех, у кого вы действительно покупали за период, данные берут из учёта.

Оборотно-сальдовая ведомость по счёту 60

В Бухгалтерии 3.0:

  1. Отчеты → Стандартные отчеты → Оборотно-сальдовая ведомость по счету.
  2. Укажите период и счёт 60.
  3. В настройках оставьте детализацию по субконто «Контрагенты», без договоров и документов.
  4. Нажмите Сформировать и сохраните результат в .xlsx.

Получите список поставщиков с сальдо и оборотами за период. Это удобно для сверки с бухгалтерией контрагента и для выборки «с кем работали в прошлом году». Минус: ИНН в отчёте нет, только наименование.

Запрос по документам поступления

Когда нужны и обороты, и реквизиты, и телефоны, пишут запрос. Его выполняют во внешней обработке «Консоль запросов» (её берут с диска ИТС и открывают через Файл → Открыть) или вставляют в собственную обработку.

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

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

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

Документ поступления в Бухгалтерии — не единственный источник. Услуги часто проходят через «Поступление (акт, накладная)» того же типа, а вот поставщики, по которым были только платежи, в выборку не попадут. Для полного охвата используйте ведомость по 60 счёту.

Отбор нужных поставщиков: фильтры и условия

Выгрузка всей базы редко нужна. Чаще просят «поставщиков из группы Сырьё», «тех, у кого не заполнен КПП» или «всех ИП». Отбор настраивается до вывода списка, и вывод учитывает его полностью.

Что и где отбирать:

ЗадачаГде настроитьКак
Только одна группаФорма спискаВыбрать группу в дереве слева или отбор по полю «Родитель»
Без помеченных на удалениеФорма спискаЕщё → Расширенный поиск, поле «Пометка удаления», значение «Нет»
Только ИП или только юрлицаФорма спискаОтбор по полю «Юридическое / физическое лицо»
С пустым ИННФорма спискаРасширенный поиск по полю «ИНН», условие «Не заполнено»
С оборотами за периодОСВ по счёту 60Период отчёта + отбор «Обороты не равны 0»
Только поставщики в УТ 11Список партнёровПризнак «Поставщик» уже стоит в Закупки → Поставщики

Если в расширенном поиске нужного поля нет в выпадающем списке, значит, оно не выведено в форму. Добавьте его через Ещё → Изменить форму, и оно станет доступно для отбора.

Сложные условия (например, «ИП, с которыми работали в прошлом квартале и у которых есть долг») списком не собрать. Здесь выручает запрос из предыдущего раздела: в ГДЕ можно добавить любые условия, а остатки взять из регистра бухгалтерии.

Выгрузка поставщиков в XML и JSON

Excel нужен людям. Программам нужен структурированный файл: XML для другой базы 1С, JSON для сайта, CRM или сервиса закупок.

XML для переноса в другую базу 1С

Классический инструмент — внешняя обработка «Выгрузка и загрузка данных XML» с диска ИТС (файл ВыгрузкаЗагрузкаДанныхXML83.epf).

  1. Откройте обработку через Файл → Открыть в режиме «1С:Предприятие».
  2. На вкладке выгрузки найдите в дереве объектов справочник «Контрагенты» и отметьте его флажком.
  3. Если нужна часть списка, задайте отбор по элементам.
  4. Укажите имя файла и нажмите Выгрузить данные.

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

Между разными конфигурациями (Бухгалтерия → УТ, УТ → ERP) данные переносят через формат EnterpriseData. В типовых конфигурациях для этого есть синхронизация в разделе Администрирование → Синхронизация данных. Справочник контрагентов там передаётся вместе с документами по правилам обмена, без ручной настройки соответствий.

JSON через стандартный интерфейс OData

Если база опубликована на веб-сервере, внешняя система может читать справочник напрямую, без файлов.

  1. В Бухгалтерии 3.0 откройте Администрирование → Общие настройки и найдите ссылку «Настройка стандартного интерфейса OData».
  2. Создайте пользователя для внешнего доступа и отметьте в составе справочник «Контрагенты».
  3. Запросите данные по адресу вида:
http://server/base/odata/standard.odata/Catalog_Контрагенты?$format=json&$select=Description,ИНН,КПП&$filter=IsFolder eq false and DeletionMark eq false

Ответ придёт в JSON: массив объектов с полями, которые указаны в $select. Параметр $filter отсекает группы и помеченные на удаление элементы. Логин и пароль передаются в заголовке базовой авторизации.

OData отдаёт данные всем, у кого есть учётная запись. Дайте пользователю только нужные объекты и не публикуйте базу в интернет без HTTPS.

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

СпособКогда подходитЧто получитеОграничения
Вывести список → ExcelРазовая выгрузка для людейТаблица с выбранными колонкамиТолько поля формы, без контактов
Буфер обмена10–30 строкВидимые колонкиНеудобно на больших списках
ОСВ по счёту 60Поставщики с оборотами за периодНаименования, сальдо, оборотыНет ИНН и КПП
ЗапросНестандартные условия, контактыЛюбые поля и условияНужен навык языка запросов
Обработка XMLПеренос в такую же конфигурациюФайл с объектами и связямиНе годится для другой конфигурации
OData (JSON)Сайт, CRM, регулярный обменЖивые данные по HTTPНужна публикация базы на веб-сервере
Своя обработкаРегулярная выгрузка в свой форматФайл JSON или CSV по расписаниюНужен программист

Для бухгалтера в девяти случаях из десяти хватает первых двух строк таблицы. Остальное — задачи для администратора или программиста.

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

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

Пример процедуры, которая записывает в JSON всех поставщиков с ИНН и КПП:

&НаСервере
Процедура ВыгрузитьПоставщиковВJSON(ИмяФайла)

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

    Выборка = Запрос.Выполнить().Выбрать();
    Список = Новый Массив;

    Пока Выборка.Следующий() Цикл
        Строка = Новый Структура;
        Строка.Вставить("name", Выборка.Наименование);
        Строка.Вставить("inn", Выборка.ИНН);
        Строка.Вставить("kpp", Выборка.КПП);
        Список.Добавить(Строка);
    КонецЦикла;

    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.ОткрытьФайл(ИмяФайла);
    ЗаписатьJSON(ЗаписьJSON, Список);
    ЗаписьJSON.Закрыть();

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

Пара деталей, которые отличают рабочую обработку от учебной:

  • 🔢 В структуру кладите только строки, числа, даты и булевы значения. Ссылку на элемент справочника ЗаписатьJSON не сериализует и выдаст ошибку.
  • 📁 Путь к файлу указывайте на сервере, если процедура выполняется на сервере. Папка пользователя на его компьютере серверу недоступна.
  • 🧾 Чтобы ограничиться реальными поставщиками, замените текст запроса на выборку из документов поступления, как в разделе про запрос.
  • 🕒 Для регламентного запуска обработку регистрируют в Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки и включают расписание у её команды.

Внешние обработки в Бухгалтерии 3.0 открываются с предупреждением о безопасности. Запускайте только файлы, в происхождении которых уверены.

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

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

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

Можно ли выгрузить поставщиков вместе с банковскими реквизитами?
Да, но не через «Вывести список»: банковские счета хранятся в отдельном справочнике, подчинённом контрагенту. Нужен запрос с соединением по владельцу счёта.
Как выгрузить поставщиков из 1С в формат CSV?
Табличный документ в CSV напрямую не сохраняется. Сохраните его в .xlsx и пересохраните в Excel как CSV, либо пишите CSV своей обработкой через объект ЗаписьТекста.
Сколько строк можно выгрузить через «Вывести список»?
Жёсткого предела в несколько сотен нет, выводятся все строки под отбором. На десятках тысяч элементов формирование занимает заметное время, поэтому сужайте отбор.
Как получить список поставщиков с долгами на дату?
Сформируйте оборотно-сальдовую ведомость по счёту 60 на нужную дату и оставьте строки с сальдо. Кредитовое сальдо означает ваш долг поставщику, дебетовое — выданный аванс.
Попадут ли в выгрузку архивные поставщики?
Попадут, если они не помечены на удаление и не отсечены отбором. Если архивных хранят в отдельной группе, исключите её отбором по полю «Родитель».

Источники

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