Перенос данных из Microsoft Excel в 1С:Предприятие — одна из самых востребованных операций среди бухгалтеров, кладовщиков и менеджеров. Даже при наличии автоматизированных систем многие бизнес-процессы по-прежнему начинаются с Excel: прайс-листы поставщиков, инвентаризационные описи, ведомости по зарплате или списки контрагентов. Вручную вводить сотни строк — нерационально, а ошибки при копировании обходятся компании в реальные деньги.
В этой статье разберём 8 рабочих методов импорта — от простейшего копирования через буфер обмена до автоматизированного обмена с помощью COM-соединения и REST API. Особое внимание уделим типичным ошибкам (например, Ошибка заполнения объекта: Недопустимое значение) и способам их устранения. Все инструкции актуальны для 1С:Предприятие 8.3 (включая последние релизы 2026 года) и популярных конфигураций: Управление торговлей 11, Бухгалтерия предприятия 3.0, Зарплата и управление персоналом 3.1.
Если вы никогда не занимались переносом данных, начните с метода 1 (ручное копирование) — он не требует технических навыков. Опытным пользователям и программистам 1С будут полезны разделы про обмен через XML и автоматизацию на Python.
1. Ручное копирование через буфер обмена (для небольших таблиц)
Самый быстрый способ — скопировать данные из Excel и вставить их непосредственно в табличную часть документа или справочника 1С. Подходит для переноса до 50-100 строк (при большем объёме высок риск ошибок форматирования).
Как это работает:
- 📋 Выделите диапазон ячеек в Excel (например,
A1:D50) и скопируйте его (Ctrl+C). - 🖱️ В 1С откройте документ (например,
Поступление товаров) или справочник (Номенклатура). - 📑 Перейдите в табличную часть (например, вкладка
Товары) и нажмитеCtrl+V. - ⚡ Если формат данных совпадает (например, числа остаются числами), 1С автоматически распознает столбцы.
Ограничения метода:
- ❌ Не работает для иерархических справочников (например, группы номенклатуры).
- ❌ Может "сломать" формат дат (Excel хранит даты как числа, 1С — как объекты
Дата). - ❌ Не подходит для создания новых элементов справочников (только для заполнения существующих).
Перед вставкой проверьте, совпадают ли названия столбцов в Excel и 1С. Если в 1С столбец называется "Количество", а в Excel — "Кол-во", данные попадут не туда.
2. Импорт через «Загрузку данных из табличного документа»
Встроенный механизм Загрузка данных из табличного документа позволяет импортировать данные из Excel в 1С с минимальными настройками. Работает в большинстве типовых конфигураций (УТ 11, БП 3.0, ERP 2.5).
Пошаговая инструкция:
- В 1С откройте раздел, куда нужно загрузить данные (например,
Справочники → Номенклатура). - Нажмите
Ещё → Загрузка данных из табличного документа(илиФайл → Открытьв старых версиях). - Выберите файл Excel (
.xlsxили.xls) и укажите лист. - Сопоставьте столбцы Excel с полями 1С (например, столбец
Наименованиев Excel → полеНаименованиев 1С). - Нажмите
Загрузитьи дождитесь завершения операции.
Преимущества:
- ✅ Поддерживает создание новых элементов справочников.
- ✅ Можно настроить правила преобразования данных (например, округление чисел).
- ✅ Сохраняет иерархию (если в Excel есть столбец с путь к группе, например,
Электроника/Телефоны).
| Тип данных в Excel | Соответствие в 1С | Возможные проблемы |
|---|---|---|
Текст (abc123) |
Строка, Поле ввода |
Символы #, $, % могут восприниматься как формулы |
Число (100.50) |
Число, Количество |
Разделитель дробной части (в Excel ,, в 1С .) |
Дата (15.05.2026) |
Дата |
Excel хранит даты как числа (например, 45456 = 15.05.2026) |
Формула (=SUM(A1:A10)) |
Не поддерживается | 1С импортирует только значение формулы, а не саму формулу |
Удалите объединённые ячейки|Преобразуйте формулы в значения (выделите → Копировать → Специальная вставка → Значения)|Проверьте формат дат (должен быть ДД.ММ.ГГГГ)|Убедитесь, что в первой строке — заголовки столбцов|Сохраните файл в формате .xlsx (не .csv)
-->
3. Использование обработки «Универсальный обмен данными»
Для сложных задач (например, перенос справочников с иерархией или документов с табличными частями) удобно использовать обработку Универсальный обмен данными. Она входит в состав многих типовых конфигураций (например, УТ 11, ERP 2.5) и позволяет гибко настраивать правила импорта.
Алгоритм работы:
- Скачайте обработку из
Все функции → Стандартные обработки(или найдите в каталоге1Cv8\extforms). - Запустите обработку и выберите
Загрузка данных из файла. - Укажите файл Excel и лист, затем сопоставьте столбцы с полями 1С.
- Настройте правила загрузки:
- Для справочников: укажите, создавать новые элементы или обновлять существующие.
- Для документов: выберите тип документа (например,
Реализация товаров).
- Запустите загрузку и проверьте протокол ошибок.
- 🔑 Для работы COM-соединения в 1С должна быть включена опция
Разрешить управление через COM(настройка вАдминистрирование → Настройки программы). - 🔐 Пользователь, от имени которого запускается скрипт, должен иметь права на создание и редактирование документов.
- ⚡ Если 1С работает в файловом режиме, путь к базе указывается как
File=C:\path\to\base. Для клиент-серверного —Srvr=""имя_сервера"";Ref=""имя_базы"". - 📊 Поддерживает многоуровневые заголовки (например, объединённые ячейки в Excel).
- 🔄 Может обновлять существующие данные в 1С без дублирования.
- 📈 Умеет работать с связанными справочниками (например, при загрузке номенклатуры автоматически создаёт недостающие группы).
- 🛠️ Встроенный отладчик для поиска ошибок.
- Скачайте обработку с сайта Инфостарт (требуется регистрация).
- Откройте её в 1С через
Файл → Открыть. - Выберите файл Excel и укажите правила сопоставления полей.
- Настройте параметры загрузки:
- Создавать новые элементы или только обновлять существующие.
- Игнорировать пустые строки.
- Преобразувать регистр (например, приводить наименования к верхнему регистру).
- Запустите загрузку и проверьте лог ошибок.
- Экспортируйте данные из Excel в XML:
- В Excel:
Файл → Сохранить как → Тип файла: XML-данные (*.xml). - Или используйте Power Query для преобразования.
- В Excel:
- Создайте в 1С правило обмена:
- Перейдите в
Администрирование → Обмен данными → Настройка обмена. - Создайте новый обмен с типом
XML. - Укажите структуру файла (соответствие тегов XML полям 1С).
- Перейдите в
- Загрузите XML в 1С через
Файл → Открытьили автоматизируйте процесс с помощью регламентного задания. - ❌ Несовпадение кодировки (1С ожидает
UTF-8, а Excel сохраняет вWindows-1251). - ❌ Отсутствие обязательных тегов (например, если в 1С поле
Артикулпомечено как обязательное, а в XML его нет). - ❌ Неправильный формат чисел (в XML числа могут быть с точкой или запятой в качестве разделителя).
- ✅ Работает вне 1С (можно запускать по расписанию через Планировщик задач Windows).
- ✅ Поддерживает библиотеки для Excel (например, OneScript.Excel).
- ✅ Можно интегрировать с другими системами (например, сначала скачать файл с FTP, затем загрузить в 1С).
- ❌ Требует знаний программирования.
- ❌ Для работы с клиент-серверной базой 1С нужно настраивать права доступа.
- Получите токен доступа в личном кабинете 1С:Fresh (раздел
API и интеграции). - Используйте Postman или Python для отправки запросов:
- Для создания данных используйте метод
POST. - Для обновления —
PUTилиPATCH. - Для удаления —
DELETE.
- Для создания данных используйте метод
- Настройте вебхуки (если нужно, чтобы 1С отправляла данные обратно в Excel или другую систему).
- 🔒 Доступно только для облачных версий 1С (1С:Fresh, 1С:ЭДО).
- 📉 Лимиты на количество запросов (например, 1000 запросов в час).
- 🔐 Требуется HTTPS (не работает с локальными файлами).
- 🔄 Если данные не загружаются, попробуйте разбить файл на части (например, по 500 строк).
- 📊 Для больших таблиц (>10 000 строк) используйте промежуточный формат (например,
.csvили.xml). - 🔍 Включите журнал регистрации в 1С (
Администрирование → Журналы регистрации), чтобы увидеть детальные логи ошибок. - 📝 Чтение справочников (если нужно найти существующие элементы).
- ➕ Создание или редактирование объектов (например, документов или элементов справочников).
- 📁 Загрузку внешних файлов (если используете обработки).
- 🔢 Преобразуйте формулы в значения:
- Выделите ячейки с формулами в Excel.
- Нажмите
Ctrl+C(копировать). - Правой кнопкой →
Специальная вставка → Значения.
Пример настройки для справочника Контрагенты:
Имя поля в 1С | Столбец в Excel | Правило
---------------------|-----------------|-------------------------------
Наименование | A | Как есть
ИНН | B | Преобразовать в строку (10/12 символов)
КПП | C | Преобразовать в строку (9 символов)
Адрес | D | Объединить с ячейкой E (если адрес в двух столбцах)
Группа | F | Создать группу, если не существует
Что делать, если обработка не видит файл Excel?
Проверьте, что файл сохранён в формате .xlsx (не .csv или .xls для старых версий 1С).
Убедитесь, что путь к файлу не содержит кириллических символов (например, C:\Temp\data.xlsx вместо C:\Документы\данные.xlsx).
Если используется сетевой диск, скопируйте файл на локальный диск — 1С может не иметь прав на чтение по сети.
4. Обмен через COM-соединение (для опытных пользователей)
Если вам нужно автоматизировать регулярный импорт (например, ежедневную выгрузку прайс-листов), можно использовать COM-соединение между Excel и 1С. Этот метод требует знаний VBA (для Excel) и 1С:Предприятие.
Пример кода на VBA для экспорта данных из Excel в 1С:
Sub ExportTo1C()
Dim App1C As Object
Set App1C = CreateObject("V83.ComConnector") ' Для 1С 8.3
' Подключение к базе
If App1C.Connect("File=C:\Bases\Trade;Usr=""Администратор""") Then
' Открытие документа "Поступление товаров"
Dim Doc As Object
Set Doc = App1C.NewObject("Документ.ПоступлениеТоваровУслуг")
' Заполнение шапки документа
Doc.Дата = Range("B1").Value
Doc.Контрагент = App1C.Sправочники.Контрагенты.НайтиПоНаименованию(Range("B2").Value)
' Заполнение табличной части
Dim i As Integer
i = 1
While Cells(i + 2, 1).Value <> ""
Dim NewRow As Object
Set NewRow = Doc.Товары.Добавить()
NewRow.Номенклатура = App1C.Sправочники.Номенклатура.НайтиПоНаименованию(Cells(i + 2, 1).Value)
NewRow.Количество = Cells(i + 2, 2).Value
NewRow.Цена = Cells(i + 2, 3).Value
i = i + 1
Wend
' Сохранение и проведение документа
Doc.Записать()
Doc.Провести()
MsgBox "Документ успешно перенесён в 1С!"
Else
MsgBox "Ошибка подключения к 1С!"
End If
End Sub
Важно:
COM-соединение — самый гибкий способ автоматизации, но требует навыков программирования. Для одноразовых задач проще использовать методы 1-3.
5. Перенос через внешние обработки (например, «Excel21C»)
Если стандартные инструменты 1С не справляются с задачей (например, нужно перенести сложные формулы или данные с условиями), можно воспользоваться внешними обработками. Одна из самых популярных — Excel21C (разработчик: Инфостарт).
Преимущества Excel21C:
Как пользоваться:
В Excel21C можно сохранять шаблоны настроек для повторного использования. Например, если вы ежемесячно загружаете ведомость по зарплате, достаточно один раз настроить правила и потом только выбирать файл.
6. Обмен через XML-файлы (для интеграции с другими системами)
Если данные из Excel нужно сначала преобразовать в промежуточный формат (например, для интеграции с CRM или WMS), удобно использовать XML. Этот метод универсален и работает даже с нетиповыми конфигурациями 1С.
Шаги для переноса:
Пример структуры XML для справочника Номенклатура:
<?xml version="1.0" encoding="utf-8"?>
<Данные>
<Номенклатура>
<Наименование>Ноутбук Acer Aspire 5</Наименование>
<Артикул>NT.ASP5.001</Артикул>
<Группа>Электроника/Ноутбуки</Группа>
<Цена>45990.00</Цена>
</Номенклатура>
<Номенклатура>
<Наименование>Монитор Samsung 24"</Наименование>
<Артикул>LS24A300N</Артикул>
<Группа>Электроника/Мониторы</Группа>
<Цена>12990.50</Цена>
</Номенклатура>
</Данные>
Типичные ошибки при работе с XML:
Как проверить XML на ошибки?
Откройте файл в блокноте или Notepad++ — если есть ошибки форматирования, они будут видны сразу (например, не закрытые теги).
Используйте онлайн-валидаторы вроде XML Validator (например, https://www.xmlvalidation.com/).
В 1С включите режим отладки обмена (Администрирование → Обмен данными → Настройки → Вести журнал обмена).
7. Автоматизация с помощью 1Script и OneScript
Для программистов 1С, которые хотят полностью автоматизировать перенос данных, подойдёт OneScript — открытый язык для написания скриптов вне 1С. С его помощью можно создавать консольные утилиты, которые будут парсить Excel и загружать данные в 1С по расписанию.
Пример скрипта на OneScript для импорта номенклатуры:
#Использовать OneScript.Excel
Процедура ЗагрузитьНоменклатуруИзExcel(ПутьКФайлу)
// Подключаем Excel
Excel = Новый ExcelПриложение();
Книга = Excel.Kниги.Открыть(ПутьКФайлу);
Лист = Книга.Листы[1];
// Подключаемся к 1С
Соединение = Новый COMОбъект("V83.ComConnector");
Если Не Соединение.Подключиться("File=C:\Bases\Trade;Usr=Администратор") Тогда
Сообщить("Ошибка подключения к 1С!");
Возврат;
КонецЕсли;
// Чтение данных из Excel
Строка = 2; // Начинаем со второй строки (первая - заголовки)
Пока Лист.Ячейки[Строка, 1].Значение <> Неопределено Цикл
Наименование = Лист.Ячейки[Строка, 1].Значение;
Артикул = Лист.Ячейки[Строка, 2].Значение;
Группа = Лист.Ячейки[Строка, 3].Значение;
// Поиск или создание элемента в 1С
Элемент = Соединение.Справочники.Номенклатура.НайтиПоАртикулу(Артикул);
Если Элемент = Неопределено Тогда
Элемент = Соединение.Справочники.Номенклатура.СоздатьЭлемент();
Элемент.Наименование = Наименование;
Элемент.Артикул = Артикул;
Элемент.Родитель = Соединение.Справочники.Номенклатура.НайтиПоНаименованию(Группа);
Элемент.Записать();
КонецЕсли;
Строка = Строка + 1;
КонецЦикла;
Сообщить("Загрузка завершена!");
КонецПроцедуры
Плюсы OneScript:
Минусы:
8. Перенос через REST API (для облачных решений)
Если ваша 1С работает в облаке (например, 1С:Fresh или 1С:ЭДО), для импорта данных можно использовать REST API. Этот метод подходит для интеграции с внешними сервисами (например, CRM, маркетплейсами или банковскими системами).
Пример запроса для создания номенклатуры через API:
POST /hs/exchange/rest/Номенклатура HTTP/1.1
Host: api.1cfresh.com
Authorization: Bearer ваш_токен_доступа
Content-Type: application/json
{
"Наименование": "Смартфон Xiaomi Redmi Note 12",
"Артикул": "XM.RN12.BLK",
"Группа": {
"Наименование": "Электроника/Смартфоны"
},
"Цена": 18990.00,
"Валюта": {
"Наименование": "Рубль"
}
}
Как настроить обмен через API:
Ограничения API в 1С:
REST API — самый современный способ интеграции, но требует знаний работы с HTTP-запросами. Для локальных баз 1С лучше использовать COM-соединение или OneScript.
Частые ошибки и их решения
Даже при правильной настройке импорта могут возникать ошибки. Разберём TOP-5 проблем и способы их устранения:
⚠️ Внимание: Если при загрузке вы видите ошибку Ошибка заполнения объекта: Недопустимое значение (Поле: Контрагент), проверьте, существует ли контрагент в справочнике. 1С не может создать документ с несуществующим контрагентом!
| Ошибка | Причина | Решение |
|---|---|---|
Ошибка формата потока |
Файл Excel повреждён или сохранён в неподдерживаемом формате. | Сохраните файл в формате .xlsx (не .xls или .csv). |
Не удалось найти колонку "Наименование" |
Названия столбцов в Excel и 1С не совпадают. | Проверьте сопоставление полей в настройках загрузки. |
Ошибка контроля заполнения: Пустое значение |
В 1С поле помечено как обязательное, а в Excel оно пустое. | Заполните пропущенные ячейки или настройте правило игнорирования пустых значений. |
Ошибка преобразования типа |
Excel передаёт число как текст (например, "100" вместо 100). |
В Excel преобразуйте данные в нужный формат (Формат ячеек → Числовой). |
Доступ запрещён |
У пользователя нет прав на создание/редактирование данных. | Настройте права в 1С (Администрирование → Пользователи). |
Дополнительные советы:
Если вы регулярно переносите одни и те же данные (например, прайс-листы), создайте в Excel шаблон с заранее настроенными столбцами. Это сэкономит время на сопоставление полей.
FAQ: Ответы на частые вопросы
Можно ли перенести данные из Excel в 1С без прав администратора?
Да, но с ограничениями. Пользователь должен иметь права на:
Если прав недостаточно, обратитесь к администратору 1С или попробуйте методы, не требующие изменений в базе (например, ручное копирование).
Как перенести данные из Excel в 1С, если в таблице есть формулы?
1С не умеет обрабатывать формулы Excel. Варианты решения: