Массовый импорт контрагентов в 1С:Предприятие из файла

· 9 мин

Содержание

Залить сотню контрагентов из Excel в 1С можно четырьмя-пятью способами, и выбор зависит от того, что у вас на руках. Есть один аккуратный файл — хватит универсальной обработки загрузки из табличного документа. Нужно загрузить реквизиты по одним только ИНН — подключите сервис 1С:Контрагент, он подтянет наименование, КПП и адрес из ЕГРЮЛ. А если контрагентов тысячи и операция повторяется регулярно — пишется загрузка через COM-соединение.

Разберём каждый вариант массового импорта по порядку: от подготовки файла до программной загрузки. Главная засада во всех способах одна — дубли по ИНН и слетевшая кодировка, поэтому проверке данных отведён отдельный раздел.

Чтобы не читать всё подряд, сверьтесь с таблицей — она подскажет, какой способ ваш:

СпособКогда выбираютЧто нужно
Табличный документ (обработка)Разовая загрузка аккуратного Excel-файлаФайл + обработка загрузки
Внешняя обработка / расширениеНестандартный формат, счета и договоры пачкойГотовая обработка под формат
Автозаполнение по ИННВ файле только ИНН, остальное — из реестраСервис 1С:Контрагент (ИТС)
COM-соединениеДесятки тысяч строк, регулярная синхронизацияНавык программирования

С чего начать: готовим файл со списком

Импорт встанет на первой же строке, если в файле бардак. Приведите его к простой таблице: одна строка — один контрагент, в шапке понятные названия колонок.

Минимальный набор колонок для справочника Контрагенты:

  • 🏢 Наименование — рабочее, короткое (как будете искать в списке);
  • 📄 Полное наименование — как в учредительных документах;
  • 🔢 ИНН — 10 знаков для юрлица, 12 для ИП и физлица;
  • 🔢 КПП — 9 знаков, у ИП и физлиц пустой;
  • 👤 Вид контрагента — юридическое лицо, физическое лицо, обособленное подразделение или госорган;
  • 📁 Группа — папка справочника, куда положить (необязательно).

Числовые коды храните как текст. Если оставить ИНН в формате «Число», Excel срежет ведущий ноль — ИНН вроде 0276... превратится в 276..., и контрагент не найдётся по базе ФНС. Выделите столбцы с ИНН и КПП, задайте им текстовый формат до ввода данных.

Форматы, которые 1С читает напрямую: .xlsx и .xls (через табличный документ), .mxl (внутренний формат 1С), .csv и обычный текст с разделителями. Excel-файл удобнее — не нужно думать про разделитель и кодировку. CSV берите, когда выгрузка пришла из чужой системы (банк, CRM, маркетплейс).

Файл готов к загрузке, если:
Выполнено: 0 / 5

Загрузка из табличного документа штатной обработкой

Готовой кнопки «Загрузить из Excel » в списке контрагентов типовой 1С:Бухгалтерии 3.0 нет — в отличие от номенклатуры. Поэтому массовый импорт делают универсальной обработкой «Загрузка данных из табличного документа». Это внешняя обработка (.epf), она идёт в комплекте сопровождения и подходит для загрузки в любой справочник, не только в контрагентов.

Порядок действий:

  1. Откройте обработку: Файл → Открыть и выберите файл ЗагрузкаДанныхИзТабличногоДокумента.epf.
  2. В поле «Режим загрузки» укажите справочник, в «Вид справочника» — Контрагенты.
  3. На закладке табличного документа нажмите кнопку открытия файла и выберите ваш Excel. Данные подтянутся в таблицу обработки.
  4. Перейдите к настройке колонок: для каждого столбца файла выберите, в какой реквизит справочника он кладётся — это и есть сопоставление полей.
  5. Включите поиск по существующим: отметьте реквизит ИНН как поле поиска, чтобы обработка не плодила дубли, а обновляла найденных.
  6. Нажмите «Загрузить» и дождитесь протокола.

Сопоставление колонок — ключевой шаг. Обработка не угадывает, где у вас ИНН, а где наименование; вы задаёте соответствие вручную:

Сопоставление полей
Колонка «Наименование»→Реквизит Наименование
Колонка «Полное наименование»→Реквизит НаименованиеПолное
Колонка «ИНН»→Реквизит ИНН (поле поиска)
Колонка «КПП»→Реквизит КПП
Колонка «Вид»→Реквизит ЮридическоеФизическоеЛицо

Загрузите сначала 3–5 строк, проверьте результат в справочнике, и только потом запускайте весь файл. Откатить массовую загрузку можно, но это дольше, чем убрать ошибку в сопоставлении на пяти строках.

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

Внешние обработки и расширения для импорта

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

Варианты:

  • Специализированная внешняя обработка под ваш формат файла. Подключается через Сервис → Дополнительные обработки (в типовых на БСП) или открывается напрямую из Файл → Открыть. Умеет то, чего нет в универсальной: загрузку расчётных счетов, контактов, договоров пачкой.
  • Расширение конфигурации (.cfe). Если импорт нужен постоянно и встроенный в интерфейс, логику загрузки оформляют расширением — оно добавляет свою команду прямо в форму списка контрагентов. Расширения работают на платформе начиная с 8.3.6; .cfe подключается в Администрирование → Печатные формы, отчёты и обработки → Расширения, после загрузки выполняется шаг «Обновить конфигурацию базы данных».

Внешние обработки и расширения — исполняемый код. Берите их только из доверенного источника (ваш партнёр 1С, проверенный разработчик). Чужая обработка с правами на запись в справочники — это прямой доступ к вашей базе.

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

Отдельный случай — перенос контрагентов из другой базы 1С (например, из устаревшей конфигурации в новую). Здесь файл Excel вообще не нужен: данные выгружают через типовую синхронизацию или через обработку выгрузки-загрузки в формате XML. Такой перенос сохраняет не только сами карточки, но и связи — договоры, счета, историю взаиморасчётов. Excel-импорт для этого не годится: он тянет только реквизиты из таблицы.

Автозаполнение реквизитов по ИНН и проверка контрагентов

Если в файле только ИНН и, может быть, наименование — остальное 1С заполнит сама через сервис 1С:Контрагент. Он тянет полное наименование, КПП, юридический адрес, ОГРН и код по ОКПО прямо из ЕГРЮЛ и ЕГРИП.

Как подключить сервис:

  1. Зайдите в Администрирование → Интернет-поддержка и сервисы.
  2. Включите интернет-поддержку пользователя (нужен логин и пароль с портала ИТС) и активируйте 1С:Контрагент.

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

У сервиса есть и проверка благонадёжности — «Досье контрагента»: статус в ЕГРЮЛ (действующая организация или в стадии ликвидации), дата регистрации, сведения о дисквалификации руководителя. После массовой загрузки прогоните новых контрагентов через досье — так отсеете «мёртвые» ИНН до того, как по ним выпишут документы.

Проверку можно запустить и группой из списка контрагентов — выделите загруженные строки и вызовите проверку по ИНН. Сервис вернёт, кто из списка действует, а кто уже исключён из реестра или сменил реквизиты. Это удобнее, чем открывать каждую карточку отдельно, особенно когда файл пришёл от нового поставщика данных и доверия к нему пока нет.

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

Как не наплодить дублей и не словить кракозябры

Две беды массового импорта — задвоение контрагентов и испорченная кодировка. Разберём, откуда они берутся и как лечатся.

Дубли по ИНН. Появляются, когда загрузка создаёт новый элемент, не проверив, нет ли такого контрагента в базе. Лечится на этапе настройки: в универсальной обработке отметьте ИНН (а для подразделений — связку ИНН + КПП) как поле поиска. Тогда найденный контрагент обновляется, а новый создаётся только при отсутствии совпадения.

Если дубли уже загрузились — ищите их по совпадению ИНН через поиск дублей: Администрирование → Обслуживание → Поиск и удаление дублей. Укажите справочник Контрагенты, правило сравнения по ИНН, задайте, какой элемент считать главным, и объедините. Ссылки в документах перепривяжутся на главный элемент автоматически.

Кодировка (кракозябры вместо русских букв). Проблема только у CSV и текстовых файлов — Excel хранит кодировку внутри. Русский текст в CSV бывает в двух кодировках: Windows-1251 и UTF-8. Если при открытии вместо «ООО Ромашка» видно «ÐžÐžÐž» — файл в одной кодировке, а прочитан в другой.

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

Разделитель в CSV тоже важен: в русской локали это чаще точка с запятой ;, а не запятая. Если весь файл загрузился в одну колонку — смените разделитель в настройках обработки на тот, что реально стоит в файле.

Программная загрузка контрагентов через COM-соединение

Когда контрагентов десятки тысяч или загрузка встроена во внешний процесс (ночная синхронизация с CRM, перенос из другой учётной системы) — работают через COM-соединение. Внешняя программа подключается к базе и создаёт элементы справочника напрямую.

Подключение к файловой базе через V83.COMConnector:

Соединение = Новый COMObject("V83.COMConnector");
Сеанс = Соединение.Connect("File=""C:\Bases\Buh"";Usr=""Загрузчик"";Pwd=""***"";");

Для серверной базы вместо File=... указывают Srvr и Ref (имя сервера и базы). Создание одного контрагента с проверкой на дубль по ИНН:

ИНН = "7701234567";
НайденныйКонтрагент = Сеанс.Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", ИНН);

Если НайденныйКонтрагент = Сеанс.Справочники.Контрагенты.ПустаяСсылка() Тогда
    Контрагент = Сеанс.Справочники.Контрагенты.СоздатьЭлемент();
    Контрагент.Наименование = "ООО Ромашка";
    Контрагент.ИНН = ИНН;
    Контрагент.КПП = "770101001";
    Контрагент.ЮридическоеФизическоеЛицо = Сеанс.Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо;
    Контрагент.Записать();
КонецЕсли;

Этот блок оборачивают в цикл по строкам источника — например, по ячейкам табличного документа или по выборке из внешней таблицы. Проверка НайтиПоРеквизиту перед созданием и есть защита от дублей на стороне кода.

COM-загрузка идёт мимо части проверок формы, поэтому легко записать «грязные» данные. Перед записью проверяйте длину ИНН (10 или 12 знаков) и заполненность обязательных реквизитов. И запускайте такой перенос на копии базы, а не сразу на рабочей.

Разрядность имеет значение: V83.COMConnector должен совпадать по битности с внешней программой. 64-битный скрипт не подключится к 32-битному коннектору — для него регистрируют 64-битную версию comcntr.dll из каталога платформы.

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

Можно ли загрузить вместе с контрагентами их банковские счета и договоры?
Универсальная обработка грузит в один объект за проход, то есть в сам справочник контрагентов. Счета и договоры — это подчинённые справочники, их загружают отдельным проходом той же обработкой (вид справочника — БанковскиеСчета или Договоры), связывая строки с контрагентом по ИНН или по уже загруженному наименованию.
Что будет с контрагентами, которые уже есть в базе?
Зависит от настройки поиска. Если поле поиска по ИНН задано — существующие обновятся новыми данными из файла, новые создадутся. Если поиск не настроен — обработка создаст дубли на каждую строку. Поэтому поле поиска указывают всегда.
Нужна ли подписка ИТС для загрузки из Excel?
Для самой загрузки табличным документом — нет, обработка работает автономно. Подписка нужна для сервиса 1С:Контрагент (автозаполнение по ИНН и проверка в ЕГРЮЛ) — это платная функция интернет-поддержки.
Как загрузить контрагентов-физлиц и ИП?
Так же, но в колонке вида укажите «Физическое лицо», ИНН — 12 знаков, КПП оставьте пустым. Для госорганов и обособленных подразделений выбирается соответствующий вид контрагента, у подразделения заполняется свой КПП при общем ИНН головной организации.
Сервис не нашёл организацию по ИНН — что делать?
Проверьте ИНН на опечатку и длину. Если ИНН верный, но компания не находится — она исключена из ЕГРЮЛ или ещё не внесена. Реквизиты в этом случае заполняют вручную из документов контрагента, а саму организацию берут на контроль.