Массовый импорт контрагентов в 1С:Предприятие из файла
Содержание
Залить сотню контрагентов из Excel в 1С можно четырьмя-пятью способами, и выбор зависит от того, что у вас на руках. Есть один аккуратный файл — хватит универсальной обработки загрузки из табличного документа. Нужно загрузить реквизиты по одним только ИНН — подключите сервис 1С:Контрагент, он подтянет наименование, КПП и адрес из ЕГРЮЛ. А если контрагентов тысячи и операция повторяется регулярно — пишется загрузка через COM-соединение.
Разберём каждый вариант массового импорта по порядку: от подготовки файла до программной загрузки. Главная засада во всех способах одна — дубли по ИНН и слетевшая кодировка, поэтому проверке данных отведён отдельный раздел.
Чтобы не читать всё подряд, сверьтесь с таблицей — она подскажет, какой способ ваш:
| Способ | Когда выбирают | Что нужно |
|---|---|---|
| Табличный документ (обработка) | Разовая загрузка аккуратного Excel-файла | Файл + обработка загрузки |
| Внешняя обработка / расширение | Нестандартный формат, счета и договоры пачкой | Готовая обработка под формат |
| Автозаполнение по ИНН | В файле только ИНН, остальное — из реестра | Сервис 1С:Контрагент (ИТС) |
| COM-соединение | Десятки тысяч строк, регулярная синхронизация | Навык программирования |
С чего начать: готовим файл со списком
Импорт встанет на первой же строке, если в файле бардак. Приведите его к простой таблице: одна строка — один контрагент, в шапке понятные названия колонок.
Минимальный набор колонок для справочника Контрагенты:
- 🏢 Наименование — рабочее, короткое (как будете искать в списке);
- 📄 Полное наименование — как в учредительных документах;
- 🔢 ИНН — 10 знаков для юрлица, 12 для ИП и физлица;
- 🔢 КПП — 9 знаков, у ИП и физлиц пустой;
- 👤 Вид контрагента — юридическое лицо, физическое лицо, обособленное подразделение или госорган;
- 📁 Группа — папка справочника, куда положить (необязательно).
Числовые коды храните как текст. Если оставить ИНН в формате «Число», Excel срежет ведущий ноль — ИНН вроде 0276... превратится в 276..., и контрагент не найдётся по базе ФНС. Выделите столбцы с ИНН и КПП, задайте им текстовый формат до ввода данных.
Форматы, которые 1С читает напрямую: .xlsx и .xls (через табличный документ), .mxl (внутренний формат 1С), .csv и обычный текст с разделителями. Excel-файл удобнее — не нужно думать про разделитель и кодировку. CSV берите, когда выгрузка пришла из чужой системы (банк, CRM, маркетплейс).
Загрузка из табличного документа штатной обработкой
Готовой кнопки «Загрузить из Excel
» в списке контрагентов типовой 1С:Бухгалтерии 3.0 нет — в отличие от номенклатуры. Поэтому массовый импорт делают универсальной обработкой «Загрузка данных из табличного документа». Это внешняя обработка (.epf), она идёт в комплекте сопровождения и подходит для загрузки в любой справочник, не только в контрагентов.
Порядок действий:
- Откройте обработку:
Файл → Открытьи выберите файлЗагрузкаДанныхИзТабличногоДокумента.epf. - В поле «Режим загрузки» укажите справочник, в «Вид справочника» —
Контрагенты. - На закладке табличного документа нажмите кнопку открытия файла и выберите ваш Excel. Данные подтянутся в таблицу обработки.
- Перейдите к настройке колонок: для каждого столбца файла выберите, в какой реквизит справочника он кладётся — это и есть сопоставление полей.
- Включите поиск по существующим: отметьте реквизит
ИННкак поле поиска, чтобы обработка не плодила дубли, а обновляла найденных. - Нажмите «Загрузить» и дождитесь протокола.
Сопоставление колонок — ключевой шаг. Обработка не угадывает, где у вас ИНН, а где наименование; вы задаёте соответствие вручную:
Загрузите сначала 3–5 строк, проверьте результат в справочнике, и только потом запускайте весь файл. Откатить массовую загрузку можно, но это дольше, чем убрать ошибку в сопоставлении на пяти строках.
Реквизит «Вид контрагента» 1С хранит не текстом, а значением перечисления. Если в файле написано «Юридическое лицо», настройте в обработке режим подстановки — либо заранее замените в Excel текст на нужные значения, либо выставьте одно значение для всего файла, когда все строки однотипны.
Внешние обработки и расширения для импорта
Когда штатной обработки не хватает — формат файла нестандартный, нужно заполнять дополнительные реквизиты, банковские счета или контактные лица — задачу решают готовые внешние обработки и расширения конфигурации .
Варианты:
- Специализированная внешняя обработка под ваш формат файла. Подключается через
Сервис → Дополнительные обработки(в типовых на БСП) или открывается напрямую изФайл → Открыть. Умеет то, чего нет в универсальной: загрузку расчётных счетов, контактов, договоров пачкой. - Расширение конфигурации
(
.cfe). Если импорт нужен постоянно и встроенный в интерфейс, логику загрузки оформляют расширением — оно добавляет свою команду прямо в форму списка контрагентов. Расширения работают на платформе начиная с 8.3.6;.cfeподключается вАдминистрирование → Печатные формы, отчёты и обработки → Расширения, после загрузки выполняется шаг «Обновить конфигурацию базы данных».
Внешние обработки и расширения — исполняемый код. Берите их только из доверенного источника (ваш партнёр 1С, проверенный разработчик). Чужая обработка с правами на запись в справочники — это прямой доступ к вашей базе.
Для разовой загрузки расширение избыточно — хватит универсальной обработки. Расширение оправдано, когда контрагенты приезжают файлом каждую неделю и загрузку доверяют оператору без навыков настройки сопоставления.
Отдельный случай — перенос контрагентов из другой базы 1С (например, из устаревшей конфигурации в новую). Здесь файл Excel вообще не нужен: данные выгружают через типовую синхронизацию или через обработку выгрузки-загрузки в формате XML. Такой перенос сохраняет не только сами карточки, но и связи — договоры, счета, историю взаиморасчётов. Excel-импорт для этого не годится: он тянет только реквизиты из таблицы.
Автозаполнение реквизитов по ИНН и проверка контрагентов
Если в файле только ИНН и, может быть, наименование — остальное 1С заполнит сама через сервис 1С:Контрагент. Он тянет полное наименование, КПП, юридический адрес, ОГРН и код по ОКПО прямо из ЕГРЮЛ и ЕГРИП.
Как подключить сервис:
- Зайдите в
Администрирование → Интернет-поддержка и сервисы. - Включите интернет-поддержку пользователя (нужен логин и пароль с портала ИТС) и активируйте
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С:Контрагент (автозаполнение по ИНН и проверка в ЕГРЮЛ) — это платная функция интернет-поддержки.