Импорт данных в 1С:Предприятие 8.3 из Excel, CSV, XML и выписок банка

· 10 мин

Содержание

Загрузить файл в 1С можно четырьмя путями, и выбор зависит от формата. Таблицу Excel в справочник или документ грузят кнопкой Загрузить в списке или над табличной частью. Выписку банка — через Банк и касса → Банковские выписки → Загрузить. XML из другой базы — обработкой «Универсальный обмен данными в формате XML» или синхронизацией данных. Файл .dt — в Конфигураторе, Администрирование → Загрузить информационную базу.

Типичная ситуация: поставщик прислал прайс на 800 позиций в Excel, а программист соседнего отдела — выгрузку контрагентов в XML. Руками это не перебить. Ниже по порядку: как подготовить файл, какой механизм выбрать для импорта данных и что делать, когда загрузка обрывается на середине.

Какой файл и куда загружать в 1С

Сначала определите, что у вас за файл. От этого зависит инструмент, а не наоборот.

ФайлЧто внутриЧем загружатьГде
.xlsx, .xls, .ods, .mxlТаблица: номенклатура, цены, строки накладнойВстроенная загрузка из файлаСписок справочника или табличная часть документа
.csv, .txt с разделителямиТа же таблица в текстеВстроенная загрузка (через Excel) или своя обработкаТам же
kl_to_1c.txt (1CClientBankExchange)Выписка из клиент-банкаОбмен с банкомБанк и касса → Банковские выписки
.xml формата EnterpriseDataДанные из другой типовой конфигурацииСинхронизация данныхАдминистрирование → Синхронизация данных
.xml из универсальной обработкиДанные по правилам Конвертации данных«Универсальный обмен данными в формате XML»Обработка из меню Все функции
.dtВся информационная база целикомКонфигураторАдминистрирование → Загрузить информационную базу
.epf, .erfВнешняя обработка или отчётОткрытие файла или подключение в справочник обработокФайл → Открыть или раздел администрирования

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

Подготовка файла перед загрузкой

Большая часть сбоев при импорте рождается в исходном файле, а не в 1С. Пять минут на подготовку сэкономят повторную загрузку и чистку дублей.

Таблица Excel

  • 📌 Одна строка — один объект. Без объединённых ячеек, промежуточных итогов и пустых строк в середине.
  • 📌 Шапка в первой строке. Названия колонок короткие: «Наименование», «Артикул», «Цена», «Количество».
  • 📌 Числа должны быть числами. Если в ячейке зелёный треугольник «число сохранено как текст», 1С может прочитать ноль или пропустить значение.
  • 📌 ИНН, КПП, артикулы с ведущими нулями храните как текст. Иначе 0274012345 превратится в 274012345, и контрагент не найдётся.
  • 📌 Единицы измерения и ставки НДС пишите так, как они называются в базе: «шт», «20%». Расхождение в одну букву создаёт новый элемент справочника.
  • 📌 Закройте файл в Excel перед загрузкой. Открытая книга заблокирована, и 1С не сможет её прочитать.

Текстовые файлы CSV и TXT

Для CSV главное — кодировка и разделитель. Excel по умолчанию сохраняет CSV в Windows-1251 с разделителем ;, выгрузки из сайтов и маркетплейсов чаще приходят в UTF-8 с разделителем ,. Если вместо русских букв видны «кракозябры», дело в кодировке.

Дробную часть проверьте отдельно: 1250,50 и 1250.50 1С прочитает по-разному в зависимости от того, как разбирается файл.

Файл выписки банка

Файл клиент-банка начинается со строки 1CClientBankExchange, а в заголовке есть строка Кодировка=Windows или Кодировка=DOS. Если банк выгрузил в другом формате (например, только PDF или XLS), загрузить такую выписку штатным обменом не выйдет — нужно переключить формат выгрузки в самом клиент-банке.

Загрузка из Excel в справочники и документы

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

В справочник номенклатуры

  1. Откройте Справочники → Товары и услуги → Номенклатура (в БП 3.0).
  2. Нажмите Загрузить на панели списка.
  3. Вставьте данные из Excel в открывшуюся таблицу через буфер обмена или выберите файл.
  4. Сопоставьте колонки: укажите, какая колонка — наименование, какая — артикул, единица, ставка НДС.
  5. Выберите, в какую группу класть новые позиции и какой вид номенклатуры им назначить.
  6. Проверьте предпросмотр. Строки, которые программа нашла в базе, и новые строки обычно показаны раздельно.
  7. Нажмите кнопку завершения загрузки и откройте список, чтобы проверить пару позиций.

💡 Сначала загрузите 5–10 строк на пробу. Если сопоставление полей неверное, удалить 10 элементов проще, чем 800.

В табличную часть документа

Строки поступления, реализации или инвентаризации грузят прямо в документ:

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

Поиск по артикулу или штрихкоду надёжнее поиска по наименованию: «Бумага А4 Снегурочка» и «Бумага А4 “Снегурочка”» для программы разные строки.

Встроенные помощники загрузки в разделах программы

Часть данных 1С умеет принимать из файла без всякой настройки — у каждой такой функции свой помощник.

Выписка банка

  1. Выгрузите в клиент-банке файл в формате 1С (чаще всего он называется kl_to_1c.txt).
  2. В 1С откройте Банк и касса → Банковские выписки и нажмите Загрузить.
  3. Выберите банковский счёт организации и укажите путь к файлу.
  4. Программа покажет список платежей. Нераспознанные контрагенты и договоры подсвечены — их можно создать или указать вручную.
  5. Нажмите загрузку. Документы «Поступление на расчётный счёт» и «Списание с расчётного счёта» создадутся и проведутся.

💡 Путь к файлу выписки 1С запоминает в настройках обмена с банком. Если клиент-банк каждый раз кладёт файл в одну и ту же папку, указывать путь заново не придётся.

Обмен в формате EnterpriseData

Между типовыми конфигурациями (например, УТ 11 и БП 3.0) данные передают файлом формата EnterpriseData — это XML с общей схемой для всех типовых решений. Настраивают обмен в Администрирование → Синхронизация данных: включают флаг синхронизации, создают новую настройку и выбирают вариант обмена через файл или каталог. Правила конвертации здесь уже встроены в конфигурации, писать их не нужно.

Информационная база целиком

Файл .dt загружают только через Конфигуратор:

  1. Запустите базу в режиме «Конфигуратор» под пользователем с правами администратора.
  2. Выберите Администрирование → Загрузить информационную базу.
  3. Укажите файл .dt и подтвердите замену данных.

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

Универсальный обмен данными в формате XML

Когда конфигурации нетиповые или сильно доработаны, EnterpriseData не подходит. Тогда используют обработку «Универсальный обмен данными в формате XML» и правила, подготовленные в конфигурации «Конвертация данных ».

Порядок работы:

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

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

Версия обработки должна соответствовать платформе и быть одинаковой в обеих базах. Обработка для 8.2 в базе 8.3 работает нестабильно или не открывается вовсе.

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

Правила конвертации и свои обработчики

Если стандартных средств не хватает, у вас два пути: поправить правила обмена или написать свою обработку загрузки.

Правила обмена

Правила создают в конфигурации «Конвертация данных» (редакция 2.x для универсального обмена). В них задают:

  • 🔗 соответствие объектов: какой справочник источника становится каким справочником приёмника;
  • 🔍 правила поиска: искать контрагента по ИНН, номенклатуру по артикулу, документ по номеру и дате;
  • ⚙️ обработчики событий на встроенном языке: «перед загрузкой», «после загрузки», «при выгрузке».

Правило поиска — самое важное место. Если поиск задан только по наименованию, каждая опечатка порождает дубль. Поиск по ИНН+КПП для контрагентов и по артикулу для номенклатуры почти исключает задвоение.

Своя внешняя обработка

Для простого CSV проще написать обработку, чем настраивать правила. Пример чтения CSV по строкам с разбором полей:

Чтение = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF8);
Строка = Чтение.ПрочитатьСтроку(); // шапка, пропускаем
Строка = Чтение.ПрочитатьСтроку();
НомерСтроки = 1;
Пока Строка <> Неопределено Цикл
    НомерСтроки = НомерСтроки + 1;
    Поля = СтрРазделить(Строка, ";", Истина);
    Если Поля.Количество() < 3 Тогда
        Сообщить("Строка " + Формат(НомерСтроки, "ЧГ=0") + ": мало полей, пропущена");
    Иначе
        Артикул      = СокрЛП(Поля[0]);
        Наименование = СокрЛП(Поля[1]);
        Цена         = Число(СтрЗаменить(СокрЛП(Поля[2]), ",", "."));
        // здесь поиск по артикулу и запись элемента
    КонецЕсли;
    Строка = Чтение.ПрочитатьСтроку();
КонецЦикла;
Чтение.Закрыть();

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

ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);
Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
    Артикул = ТабДок.Область(НомерСтроки, 1).Текст;
    Наименование = ТабДок.Область(НомерСтроки, 2).Текст;
    // обработка строки
КонецЦикла;

Чтение .xlsx табличным документом доступно в платформе с номером не ниже 8.3.6. Подключают обработку через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки или открывают разово через Файл → Открыть.

Автоматическая загрузка файлов по расписанию

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

Через командную строку и планировщик Windows

Платформа запускает базу с внешней обработкой параметром /Execute (в пути подставьте номер своей установленной версии). Строку в /C обработка получает через ПараметрЗапуска:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Trade" /N"Обмен" /P"пароль" /Execute"D:\Scripts\load_price.epf" /C"D:\Inbox\price.xlsx" /DisableStartupMessages

Обработка читает файл, пишет результат в журнал и в конце вызывает ЗавершитьРаботуСистемы(Ложь), чтобы сеанс закрылся сам. Строку запуска ставят в планировщик заданий Windows на нужное время.

💡 Заведите для автоматики отдельного пользователя 1С с минимальными правами. Пароль в bat-файле лучше не держать: ограничьте доступ к папке со скриптом.

Регламентное задание в клиент-серверной базе

В клиент-серверном варианте загрузку оформляют регламентным заданием в расширении или доработке конфигурации. Код выполняется на сервере 1С, поэтому путь к файлу должен быть доступен серверу и пользователю, под которым работает служба 1С. Папка C:\Users\Иван\Desktop на компьютере бухгалтера серверу не видна — используйте сетевой ресурс с правами на чтение для этой учётной записи.

Через COM-соединение

Внешний скрипт (VBScript, PowerShell, Python) подключается к базе через V83.COMConnector и вызывает экспортные процедуры общего модуля. Способ удобен, когда файл уже разбирает внешняя система. Компонента должна быть зарегистрирована той же разрядности, что и вызывающий скрипт.

Ошибки при загрузке файла и как их найти

Ошибку импорта проще всего локализовать по протоколу: универсальный обмен ведёт свой протокол, остальные механизмы пишут в Администрирование → Обслуживание → Журнал регистрации. Отфильтруйте журнал по пользователю и времени загрузки.

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

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

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

Можно ли загрузить в 1С файл PDF?
Нет, данные из PDF 1С не распознаёт. Сам PDF можно прикрепить к документу как присоединённый файл, но строки накладной из него придётся переносить через Excel или электронный документооборот.
Чем загрузка из Excel отличается от загрузки через ЭДО?
Excel — это просто таблица, сопоставление полей делаете вы. Документ через ЭДО приходит в формате ФНС, и 1С сама разбирает реквизиты, контрагента и номенклатуру поставщика.
Нужен ли установленный Excel для загрузки xlsx?
Для встроенной загрузки и для чтения табличным документом — нет, платформа читает формат сама. Excel нужен только старым обработкам, которые открывают файл через COM-объект Excel.Application.
Можно ли отменить загрузку?
Кнопки отмены нет. Созданные объекты помечают на удаление и удаляют через обработку удаления помеченных объектов. Поэтому перед крупной загрузкой делают резервную копию базы.
Сколько строк можно загрузить за раз?
Жёсткого лимита у встроенной загрузки нет, но файлы на десятки тысяч строк удобнее делить на части по 2–5 тысяч: так проще найти ошибку и не держать один сеанс десятки минут.