Справочники и Данные · 10 мин
Как загрузить данные из табличного документа в 1С
Как загрузить данные из табличного документа в 1С: подготовка Excel-файла, типовые обработки, сопоставление колонок, проверка результата и типичные ошибки.
Загрузка данных из табличного документа — типовая задача при переходе на 1С, массовом обновлении цен, пополнении справочника номенклатуры или переносе остатков. Чаще всего исходником служит файл Excel (xlsx, xls) или таблица CSV, которую нужно превратить в элементы справочников, документы или записи регистров сведений.
В большинстве конфигураций на управляемых формах (УТ 11, ERP, КА, Бухгалтерия 3.0, Розница) уже есть встроенные механизмы загрузки, а для нестандартных случаев используются внешние обработки или самописный код на встроенном языке. Выбор способа зависит от того, что именно загружаете: простой список в справочник, табличную часть документа или связанные данные с поиском по ключевым полям.
Главные причины неудач при загрузке — неподготовленный файл (объединённые ячейки, формулы, лишние строки), неверное сопоставление колонок и отсутствие контроля дублей. Ниже разобраны подготовка файла, типовые и внешние инструменты, программная загрузка и проверка результата.
Подготовка файла Excel перед загрузкой
Качество загрузки на 80% определяется состоянием исходного файла. 1С читает таблицу построчно, поэтому структура должна быть «плоской»: первая строка — заголовки колонок, далее только данные, без промежуточных итогов, шапок отчёта и пустых разделительных строк.
Перед загрузкой уберите объединённые ячейки, замените формулы значениями (копировать → вставить как значения), удалите скрытые листы с мусором и проверьте, что числа хранятся как числа, а не как текст. Коды и артикулы с ведущими нулями, наоборот, приведите к текстовому формату, иначе Excel обрежет нули и поиск в 1С не сработает.
Даты приводите к единому формату, понятному 1С (например, ДД.ММ.ГГГГ). Если в колонке встречаются разные типы данных — строки и числа вперемешку, — обработка может прочитать колонку целиком как текст, и сопоставление с числовым реквизитом даст ошибку или пустые значения.
Типовые средства загрузки в конфигурациях 1С
В конфигурациях на БСП (Библиотека стандартных подсистем) есть универсальная обработка «Загрузка данных из файла». Она находится в разделе «Администрирование» → «Переносы и загрузка данных» либо вызывается из формы списка конкретного справочника по кнопке «Загрузить данные из файла». Обработка умеет читать xlsx, xls, mxl, csv и сопоставлять колонки с реквизитами объекта.
Для отдельных задач есть специализированные механизмы: загрузка номенклатуры и цен поставщика в УТ 11 («Покупки» → «Сервис»), загрузка выписок из клиент-банка, загрузка адресного классификатора. Специализированные обработки уже знают структуру целевых объектов и часто умеют искать существующие элементы по наименованию, артикулу или ИНН, что снижает риск дублей.
- 1Откройте список нужного справочника и нажмите «Ещё» → «Загрузить данные из файла» (или найдите обработку в разделе «Администрирование»)
- 2Укажите файл Excel и лист с данными, проверьте, что заголовки колонок распознаны
- 3Сопоставьте каждую колонку файла реквизиту 1С; лишние колонки пометьте как «не загружать»
- 4Задайте режим поиска существующих элементов (по коду, наименованию, артикулу) или выберите «создавать новые»
- 5Запустите загрузку и изучите протокол: сколько создано, обновлено, пропущено с ошибками
Внешние обработки и когда они нужны
Когда типовой инструмент не покрывает задачу — например, нужно заполнить табличную часть документа, загрузить данные в регистр сведений или выполнить сложный поиск по нескольким полям — используют внешние обработки. Широко известна обработка «Загрузка данных из табличного документа» с диска ИТС: она открывается через «Файл» → «Открыть» и поддерживает гибкую настройку соответствия колонок, выражения для преобразования значений и режимы поиска.
Внешние обработки открываются в режиме 1С:Предприятие и не требуют изменения конфигурации, но для их запуска у пользователя должно быть право «Интерактивное открытие внешних обработок». В типовых конфигурациях с включённым механизмом профилей безопасности может потребоваться разрешение администратора.
Программная загрузка через встроенный язык
Для регулярных загрузок по расписанию или нестандартной логики пишут собственный код. Классический подход — чтение файла через COM-объект Excel (только на Windows с установленным Excel), более универсальный — через объект ТабличныйДокумент, который умеет читать xlsx, mxl и csv без внешних зависимостей.
Типовой каркас кода выглядит так: прочитать файл в табличный документ, пройти циклом по строкам, найти или создать элемент справочника, заполнить реквизиты и записать. Записи в цикле разумно оборачивать в транзакцию порциями, чтобы при сбое не оставалось частично загруженных данных и не рос журнал транзакций.
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать("C:\data\nomenklatura.xlsx",
СпособЧтенияЗначенийТабличногоДокумента.Значение);
Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
Артикул = ТабДок.Область(НомерСтроки, 1).Текст;
Наименование = ТабДок.Область(НомерСтроки, 2).Текст;
Если ПустаяСтрока(Наименование) Тогда
Продолжить;
КонецЕсли;
Элемент = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);
Если Элемент.Пустая() Тогда
Новый = Справочники.Номенклатура.СоздатьЭлемент();
Новый.Артикул = Артикул;
Новый.Наименование = Наименование;
Новый.Записать();
КонецЕсли;
КонецЦикла;
Для больших файлов чтение через ТабличныйДокумент может быть медленным и требовательным к памяти — в таких случаях файл предварительно конвертируют в CSV и читают через ЧтениеТекста построчно. Это заметно быстрее и позволяет обрабатывать файлы на сотни тысяч строк.
Сопоставление колонок и поиск существующих элементов
Ключевой этап — решить, как загрузчик поймёт, что строка файла соответствует уже существующему элементу базы. Для номенклатуры это обычно артикул или штрихкод, для контрагентов — ИНН и КПП, для физических лиц — ФИО в сочетании с датой рождения. Поиск только по наименованию ненадёжен: расхождения в пробелах, кавычках и регистре порождают дубли.
Если ключевого реквизита в файле нет, лучше сначала выгрузить из 1С существующий справочник, проставить в Excel соответствия вручную или формулами, и только потом загружать. Это дольше на подготовке, но на порядок быстрее, чем потом искать и объединять дубли.
Проверка результата после загрузки
После загрузки сверьте количество строк в файле с количеством созданных и обновлённых элементов из протокола обработки. Расхождение означает, что часть строк пропущена — причины указаны в том же протоколе: пустые ключевые поля, ошибки преобразования типов, нарушение уникальности.
Откройте несколько случайных элементов и проверьте заполнение реквизитов глазами: корректны ли единицы измерения, ставки НДС, группы, даты. Затем постройте простой отчёт или консольный запрос по загруженным данным — например, количество элементов по группам — и сравните с ожиданиями по исходному файлу.
Как проверить результат
Создано + обновлено + пропущено = числу строк файла
Строки «потерялись» без объяснения причины
Реквизиты заполнены, типы и значения корректны
Числа как текст, пустые обязательные реквизиты
Поиск по ключевому полю даёт один элемент
Несколько элементов с одинаковым артикулом или ИНН
Ограничения и альтернативные способы
Загрузка из табличного документа подходит для разовых переносов и периодических обновлений умеренного объёма. Если данные нужно получать регулярно из другой системы, правильнее настроить обмен через планы обмена, универсальный формат EnterpriseData, веб-сервисы или COM-соединение — ручной файл со временем становится источником рассинхронизации.
Учитывайте и технические ограничения: чтение больших xlsx-файлов целиком в память может завершиться ошибкой нехватки памяти, а на сервере Linux COM-объект Excel недоступен. В клиент-серверном режиме файл должен быть доступен с той стороны, где выполняется код, — частая ошибка, когда обработка на сервере пытается прочитать файл с диска C: пользователя.
Сравнение вариантов загрузки
Подходит для справочников и простых объектов; не требует программирования, но ограничена стандартными сценариями
Гибкое сопоставление, выражения, режимы поиска; требует права открытия внешних обработок
Любая логика и автоматизация по расписанию; нужны навыки разработки и тестирование на копии
Быстро и надёжно для больших объёмов; нет форматирования, нужно контролировать разделители и кодировку
Частые вопросы
Почему обработка не видит мой файл Excel?
Чаще всего файл открыт в Excel и заблокирован, либо сохранён в старом формате с повреждённой структурой. Закройте файл, пересохраните его в xlsx и убедитесь, что путь к файлу доступен с того компьютера или сервера, где выполняется загрузка.
Как загрузить данные в табличную часть документа?
Типовая «Загрузка данных из файла» работает в основном со справочниками. Для табличных частей используйте внешнюю обработку «Загрузка данных из табличного документа» с ИТС, где можно указать табличную часть как целевой объект, либо напишите простую обработку с построчным чтением файла.
Что делать, если после загрузки появились дубли?
Не удаляйте элементы вручную по одному — используйте типовую обработку «Поиск и удаление дублей» (в разделе «Администрирование» → «Обслуживание»). Она объединяет элементы с заменой ссылок во всех документах. Перед запуском сделайте копию базы.
Можно ли загружать данные в 1С:Бухгалтерию 3.0 из Excel?
Да. В формах списков справочников (номенклатура, контрагенты и др.) есть команда «Загрузить данные из файла». Для документов есть специализированные механизмы, например загрузка выписок из клиент-банка. Сложные сценарии решаются внешними обработками.
Какая кодировка нужна для CSV-файла?
Наиболее совместимый вариант — UTF-8. Если файл сохранён в ANSI (Windows-1251), при чтении через ЧтениеТекста укажите кодировку явно, иначе кириллица превратится в нечитаемые символы. Excel при сохранении в CSV позволяет выбрать «CSV UTF-8».
Обязательно ли делать резервную копию перед загрузкой?
Да, перед любой массовой загрузкой в рабочую базу. Для файловой базы достаточно скопировать каталог или сделать выгрузку в dt; для клиент-серверной — штатную резервную копию СУБД. Это единственный способ быстро откатить результат ошибочной загрузки.
Что важно запомнить
Успешная загрузка из табличного документа строится на трёх вещах: чистый «плоский» файл без формул и объединений, корректное сопоставление колонок с поиском по надёжному ключу и обязательная проверка протокола после выполнения. Массовую загрузку всегда выполняйте после резервной копии и сначала на тестовых строках.