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

Мы рассмотрим все актуальные способы импорта: от ручной загрузки через типовой функционал до автоматизированных сценариев с использованием Data Exchange и COM-соединения. Особое внимание уделим типичным "подводным камням" — почему при импорте номенклатуры через XML часто теряются свойства товаров, если не указать параметр "ПолнаяВыгрузка=Истина", как избежать дублирования контрагентов и что делать, если 1С "не видит" колонки в вашем файле. Материал будет полезен и бухгалтерам, и программистам 1С, и специалистам по администрированию баз.

1. Подготовка данных к импорту: требования к файлам

Прежде чем загружать данные в 1С, их нужно правильно подготовить. От формата файла и структуры таблиц зависит 80% успеха операции. Система поддерживает несколько основных форматов:

  • 📄 Excel (.xlsx, .xls) — самый популярный вариант для ручного импорта. Подходит для разовых загрузок справочников (номенклатура, контрагенты, сотрудники).
  • 🗃️ CSV/TXT — универсальный формат для автоматизированного обмена. Требует строгого соблюдения разделителей (обычно ";" или ",") и кодировки (лучше UTF-8).
  • 🔄 XML — стандарт для обмена между системами 1С (включая EnterpriseData). Позволяет передавать не только данные, но и метаинформацию (свойства, ссылки).
  • 🗄️ DBF — устаревший формат, но до сих пор используется в некоторых конфигурациях для обмена с 1С 7.7.

Ключевые требования к структуре файла:

  • 🔹 Первая строка должна содержать заголовки колонок (имена реквизитов 1С). Например, для номенклатуры: "Артикул", "Наименование", "ЕдиницаИзмерения".
  • 🔹 Порядок колонок должен соответствовать порядку полей в 1С. При несовпадении данные "перекосит" на другие реквизиты.
  • 🔹 Уникальные идентификаторы (коды, артикулы) обязательны для избежания дублей. Без них 1С создаст новые элементы вместо обновления существующих.
  • 🔹 Пустые ячейки при импорте из Excel могут интерпретироваться как "NULL". Для числовых полей это часто вызывает ошибки.
💡

Если вы импортируете данные из Excel, сохраните файл в формате .xlsx (не .xls) — это уменьшит риск ошибок с кодировкой кириллических символов.

⚠️ Внимание: При импорте справочников с иерархией (например, группы номенклатуры) убедитесь, что родительские элементы уже существуют в базе. 1С не создаст их автоматически — это приведёт к ошибке "Не найден владелец".

2. Способы импорта: от ручного ввода до автоматизации

Выбор метода импорта зависит от объёма данных, частоты операции и ваших технических возможностей. Рассмотрим все варианты от простого к сложному:

2.1. Ручной импорт через типовой функционал

Самый доступный способ — использовать встроенные обработки импорта. Они есть в большинстве конфигураций (Бухгалтерия 3.0, УТ 11, ERP 2.4). Путь к ним:

Все функции → Обмен данными → Загрузка данных из файла

Алгоритм действий:

  1. Выберите тип объекта (например, "Номенклатура").
  2. Укажите файл-источник (Excel, CSV, XML).
  3. Сопоставьте колонки файла с реквизитами 1С (вручную или автоматически).
  4. Задайте параметры загрузки: создавать новые элементы, обновлять существующие или и то, и другое.
  5. Запустите предварительный просмотр и исправьте ошибки.
  6. Подтвердите загрузку.

2.2. Импорт через внешние обработки

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

  • 🔧 "Универсальный обмен данными" (входит в поставку 1С).
  • 🔧 "Загрузка из Excel" (от фирмы "1С").
  • 🔧 Сторонние решения: "ATOL:Обмен данными", "Конвертация данных 2.0".

Преимущества внешних обработок:

  • 📌 Гибкие настройки сопоставления полей.
  • 📌 Возможность предварительной обработки данных (например, очистка артикулов от лишних символов).
  • 📌 Логирование ошибок с указанием строки в исходном файле.

2.3. Программный импорт (для разработчиков)

Если вам нужно автоматизировать регулярный импорт, используйте:

  • 🖥️ COM-соединение (через V83.ComConnector).
  • 🖥️ HTTP-сервисы (REST API в 1С 8.3.14+).
  • 🖥️ Загрузка через ADO (для больших объёмов данных).

Пример кода для загрузки номенклатуры из CSV:

Процедура ЗагрузитьНоменклатуруИзCSV(ПутьКФайлу)

ТаблицаДанных = Новый ТаблицаЗначений;

ТаблицаДанных.ПрочитатьCSV(ПутьКФайлу, ";", Истина);

Для Каждого Строка Из ТаблицаДанных Цикл

Номенклатура = Справочники.Номенклатура.НайтиПоКоду(Строка.Артикул);

Если Номенклатура = СправочникСсылка.ПустаяСсылка Тогда

Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();

КонецЕсли;

Номенклатура.Наименование = Строка.Наименование;

Номенклатура.Записать();

КонецЦикла;

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

📊 Какой способ импорта вы используете чаще?
Ручной через типовой функционал
Внешние обработки
Программный импорт (1C:Enterprise)
Автоматизированный обмен (XML, JSON)
Не занимаюсь импортом
⚠️ Внимание: При программном импорте больших объёмов данных (более 10 000 строк) разбейте операцию на пакеты по 1 000–2 000 записей. Это предотвратит блокировку базы и снизит нагрузку на сервер.

3. Типичные ошибки импорта и как их избежать

Даже опытные пользователи сталкиваются с проблемами при импорте. Вот самые распространённые ошибки и способы их решения:

Ошибка Причина Решение
"Не найден владелец" Отсутствует родительский элемент (например, группа номенклатуры). Сначала импортируйте иерархию справочников.
"Неверный формат данных" Несовпадение типов (например, текст вместо числа в поле "Цена"). Проверьте формат ячеек в Excel (числовые поля должны быть без текста).
"Дубль по уникальному полю" Повторяющийся код/артикул в файле или базе. Используйте параметр "Обновлять существующие" или очистите дубли в файле.
"Не удалось сопоставить колонку" Название колонки в файле не совпадает с реквизитом 1С. Проверьте регистр и пробелы в заголовках (например, "Наименование" ≠ "наименование").

Ещё одна частая проблема — потеря ссылочной целостности. Например, при импорте документов "Поступление товаров" 1С может не найти связанную номенклатуру, даже если она есть в базе. Это происходит из-за:

  • 🔸 Разных форматов кодировки (в файле UTF-8, в базе Windows-1251).
  • 🔸 Лишних пробелов или невидимых символов в кодах.
  • 🔸 Разных типов сравнения (точное совпадение vs. поиск по подстроке).
Почему 1С не видит колонки в моём файле?

Чаще всего это происходит из-за:

1. Скрытых символов в заголовках (например, неразрывный пробел вместо обычного).

2. Несоответствия кодировки — откройте файл в "Блокноте" и сохраните в UTF-8 без BOM.

3. Лишних строк перед заголовками (например, пустая строка в начале файла).

4. Разделителей — если используете CSV, убедитесь, что разделитель в файле и в настройках импорта совпадает (обычно ";").

4. Импорт справочников: номенклатура, контрагенты, сотрудники

Каждый справочник имеет свои нюансы при импорте. Рассмотрим три самых востребованных сценария:

4.1. Импорт номенклатуры

Ключевые поля для сопоставления:

  • 📦 Артикул (обязательно уникальный!).
  • 📦 Наименование (полное и краткое).
  • 📦 ЕдиницаИзмерения (должна существовать в справочнике "Классификатор единиц измерения").
  • 📦 Группа (родительский элемент).
  • 📦 ТипНоменклатуры (Товар, Услуга, Комплект).

Типичная ошибка: при импорте комплектов 1С не создаёт состав автоматически. Для этого нужно:

  1. Сначала импортировать компоненты комплекта.
  2. Затем загрузить сам комплект с указанием состава в отдельной таблице.

4.2. Импорт контрагентов

Особенности:

  • 🏢 Для юридических лиц обязательны ИНН и КПП.
  • 🏢 ПолноеНаименование должно совпадать с ЕГРЮЛ (иначе могут быть проблемы с печатными формами).
  • 🏢 Адреса и банковские реквизиты лучше импортировать отдельно через обработку "Загрузка адресов и банковских счетов".

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

  • 📄 Тип договора (с покупателем/поставщиком) указан корректно.
  • 📄 Валюта договора существует в справочнике валют.
  • 📄 Даты действия договора не противоречат текущей дате.

4.3. Импорт сотрудников

При загрузке физических лиц важно:

  • 👤 Указать ФИО в правильном формате (фамилия, имя, отчество через пробел).
  • 👤 ДатаРождения должна быть в формате ДД.ММ.ГГГГ.
  • 👤 ИНН и СНИЛС проверяются на корректность (1С валидирует контрольные суммы).
  • 👤 Подразделение должно существовать в справочнике "Подразделения организаций".

Убедитесь, что:

✅ Все родительские элементы (группы, организации) существуют в базе

✅ Уникальные поля (коды, артикулы) не повторяются

✅ Формат дат соответствует ДД.ММ.ГГГГ

✅ Числовые поля не содержат текста или символов

✅ Файл сохранён в правильной кодировке (UTF-8 для CSV)

-->

5. Импорт документов: поступления, реализации, платежи

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

  • 📑 Сначала импортируйте справочники (номенклатура, контрагенты, склады), затем документы.
  • 📑 Проверяйте права доступа — для создания документов может потребоваться роль "Полные права".
  • 📑 Учитывайте последовательность: нельзя импортировать "Реализацию" раньше "Поступления" для той же номенклатуры.

Пример структуры файла для импорта "Поступления товаров":

Колонка в файле Тип данных Пример значения Примечание
НомерДокумента Строка ПСТ-000123 Должен быть уникальным в пределах типа документов.
Дата Дата 15.05.2026 Формат ДД.ММ.ГГГГ обязателен.
Контрагент Строка ООО "Ромашка" Должен существовать в справочнике контрагентов.
Номенклатура Строка Стул офисный "Эрго" Сопоставляется по артикулу или наименованию.
Количество Число 5 Дробные значения разделяйте точкой (5.25).

Для документов с табличными частями (например, списки товаров в накладной) используйте один из двух подходов:

  1. Один файл с мастер-деталью: заголовок документа + строки в отдельных листах Excel.
  2. Отдельные файлы: сначала загружаете заголовки документов, затем табличные части с ссылкой на документ.
💡

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

6. Автоматизация импорта: расписания и интеграции

Если импорт данных выполняется регулярно (например, ежедневная выгрузка заказов с сайта), имеет смысл настроить автоматизацию. Варианты:

6.1. Регламентные задания в 1С

Можно создать задание, которое будет запускать обработку импорта по расписанию:

Все функции → Стандартные → Регламентные задания → Создать

Пример настройки:

  • 🕒 Расписание: Ежедневно в 2:00.
  • 📁 Действие: Выполнить обработку "ЗагрузкаЗаказовИзCSV.epf".
  • 🔄 Параметры: Путь к файлу (\\server\share\orders.csv).

6.2. Интеграция с внешними системами

Для обмена с сайтами, CRM или WMS используйте:

  • 🌐 HTTP-сервисы (REST API) — для облачных решений.
  • 📡 RabbitMQ/Kafka — для высоконагруженных систем.
  • 🔌 1C:EDT — для разработки сложных интеграций.

Пример интеграции с Bitrix24 через REST:

Функция ПолучитьЗаказыИзBitrix()

Запрос = Новый HTTPЗапрос("https://yourdomain.bitrix24.ru/rest/1/abcdef/crm.deal.list");

Ответ = Новый HTTPСоединение().Получить(Запрос);

Данные = JSON.Прочитать(Ответ.ПолучитьТекст());

Возврат Данные.result;

КонецФункции

6.3. Облачные сервисы для обмена

Если у вас нет технических ресурсов для настройки интеграции, воспользуйтесь готовыми сервисами:

  • ☁️ 1C:Линк — для обмена с маркетплейсами (Ozon, Wildberries).
  • ☁️ Атол:Обмен — для синхронизации с онлайн-кассами.
  • ☁️ Cleverence — для обмена с мобильными приложениями.
⚠️ Внимание: При настройке автоматического импорта всегда предусматривайте обработку ошибок. Например, если файл не найден или повреждён, система должна отправить уведомление администратору, а не прервать работу.

7. Оптимизация производительности при больших объёмах

Импорт десятков тысяч записей может занять часы и заблокировать базу. Чтобы избежать этого:

  • Отключите индексы перед массовой загрузкой (если работаете напрямую с SQL).
  • Используйте транзакции — фиксируйте изменения пакетами по 500–1000 записей.
  • Выгружайте пользователей из базы на время импорта (через "Администрирование → Пользователи").
  • Настройте сервер 1С: увеличьте лимиты памяти для ragent и rmngr.

Пример оптимизированного кода для пакетной загрузки:

Процедура МассоваяЗагрузкаНоменклатуры(ТаблицаДанных)

НачатьТранзакцию();

Счетчик = 0;

Для Каждого Строка Из ТаблицаДанных Цикл

Попытка

// Логика загрузки одной строки

Счетчик = Счетчик + 1;

Если Счетчик % 1000 = 0 Тогда

ЗафиксироватьТранзакцию();

НачатьТранзакцию();

КонецЕсли;

Исключение

ОтменитьТранзакцию();

ЗаписатьОшибку(ОписаниеОшибки());

НачатьТранзакцию();

КонецПопытки;

КонецЦикла;

ЗафиксироватьТранзакцию();

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

Для ускорения импорта из Excel:

  • 📊 Преобразуйте файл в CSV — он читается быстрее, чем .xlsx.
  • 📊 Удалите лишние колонки и строки (оставьте только необходимые данные).
  • 📊 Используйте ADO вместо OLE-объектов для работы с Excel.

8. Проверка и контроль качества после импорта

Загрузка данных — только половина работы. После импорта обязательно:

  1. Проверьте логи ошибок (если использовали обработку с логированием).
  2. Сверьте количество записей в файле и в 1С.
  3. Просмотрите тестовые документы (например, 1–2 накладные из импорта).
  4. Запустите тестовые отчёты (например, "Ведомость по товарам" для номенклатуры).

Инструменты для контроля:

  • 🔍 Отчёт "Анализ загруженных данных" (входит в обработку "Универсальный обмен").
  • 🔍 Запросы на языке 1С для поиска дублей или некорректных ссылок.
  • 🔍 Сравнение с источником через Beyond Compare или Excel.

Пример запроса для поиска дублей по артикулам:

ВЫБРАТЬ

Номенклатура.Артикул КАК Артикул,

КОЛИЧЕСТВО(*) КАК Количество

ИЗ

Справочник.Номенклатура КАК Номенклатура

СГРУППИРОВАТЬ ПО

Номенклатура.Артикул

ИМЕЮЩИЕ

КОЛИЧЕСТВО(*) > 1

Если после импорта обнаружены ошибки, не спешите перезагружать данные. Часто проще:

  • 🛠️ Исправить ошибочные записи вручную.
  • 🛠️ Дозагрузить только проблемные строки.
  • 🛠️ Использовать обработку "Поиск и замена значений" для массовых исправлений.
💡

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

FAQ: Частые вопросы по импорту в 1С

Можно ли импортировать данные из 1С 7.7 в 1С 8.3?

Да, но потребуется конвертация форматов. Используйте:

  • Стандартную обработку "ВыгрузкаЗагрузкаДанныхXML" (для 7.7 и 8.3).
  • Сторонние утилиты: "Конвертация данных 2.0" или "1C:Переход на 8".

Важно: структура данных в 7.7 и 8.3 отличается (например, нет понятия "планы видов характеристик"), поэтому может потребоваться доработка правил обмена.

Как импортировать данные с учётом версий объектов?

Для работы с версиями (например, при импорте изменений в номенклатуру) используйте:

  1. Поле ПометкаУдаления — если в файле "1", объект будет помечен на удаление.
  2. Поле ЭтоГруппа — для различения групп и элементов справочника.
  3. Поле Родитель — ссылка на родительский элемент (для иерархических справочников).

Пример: если в файле есть колонка "Действие" со значениями "Создать", "Изменить", "Удалить", настройте обработку на соответствующие действия.

Почему при импорте из Excel русские буквы отображаются кракозябрами?

Это проблема кодировки. Решения:

  • Сохраните файл Excel в формате CSV (UTF-8).
  • В настройках импорта укажите кодировку UTF-8.
  • Если используете ADO, добавьте параметр IMEX=1 в строку подключения.

Для диагностики откройте файл в Notepad++ и проверьте текущую кодировку (меню "Кодировки").

Как импортировать изображения для номенклатуры?

Для загрузки картинок:

  1. Поместите изображения в папку (например, \\server\images\).
  2. В файле импорта укажите путь к картинке в колонке Картинка или Изображение.
  3. Используйте обработку, которая поддерживает загрузку вложений (например, "ЗагрузкаИзExcelСКартинками").

Форматы: JPG, PNG (размер не более 5 МБ для стандартных конфигураций).

Можно ли отменить импорт, если что-то пошло не так?

Зависит от метода импорта:

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

Совет: перед массовым импортом делайте резервную копию базы или тестируйте на копии.