Как загрузить данные из Excel в 1С
Содержание
Таблица на 3000 строк лежит в Excel, а в 1С её нужно получить сегодня. Набирать вручную долго, а встроенной кнопки «Загрузить из Excel » нет почти нигде. Есть три рабочих пути: вставка из буфера обмена в табличную часть, внешняя обработка загрузки и свой обмен через COM или файл. Для разовой загрузки до нескольких сотен строк хватает первого, для справочников и больших объёмов нужен второй.
Ниже порядок действий от подготовки файла до автоматической регулярной загрузки. Примеры даны для 1С 8.3 на управляемых формах, но логика одинакова для Бухгалтерии, УТ, ЗУП и УНФ.
Подготовьте Excel-файл до загрузки
Девять загрузок из десяти ломаются не в 1С, а в файле. Потратьте десять минут на чистку, это сэкономит часы.
Что проверить в таблице:
- 📌 Заголовки в одной строке, без объединённых ячеек. Объединение сдвигает колонки при чтении.
- 📌 Одна строка — одна запись. Никаких итогов, подзаголовков групп и пустых строк посередине.
- 📌 Единый формат в колонке. Если в «Количестве» часть значений числа, а часть текст «5 шт.», загрузка либо остановится, либо запишет ноль.
- 📌 Лишние пробелы в начале и конце. Название «Болт М8 » и «Болт М8» для 1С — разные элементы, и вы получите дубль.
- 📌 ИНН и коды как текст. Excel любит превращать
0012345678в число12345678и терять ведущие нули. Задайте колонке текстовый формат до ввода, а не после. - 📌 Дробная часть. Десятичный разделитель должен совпадать с региональными настройками компьютера, иначе
12,5превратится в дату.
Хорошая привычка: сохраните копию как .xlsx без макросов. Старый .xls читается медленнее и чаще даёт ошибки при работе через COM. А ещё лучше для больших файлов — формат .csv в кодировке UTF-8: он читается без Excel вообще.
Перед массовой загрузкой сделайте резервную копию информационной базы или потренируйтесь на тестовой копии. Откатить 3000 созданных элементов вручную намного дольше, чем развернуть копию.
Добавьте в файл колонку с уникальным идентификатором строки (артикул, ИНН, код из учётной системы). По ней обработка сможет найти существующий элемент и обновить его, а не создавать второй.
Вставка через буфер обмена: самый быстрый способ для небольших объёмов
В управляемых формах 1С табличные части умеют принимать данные из буфера. Это способ для документов: поступление, реализация, ввод остатков, заказ.
Порядок такой:
- Откройте документ и добавьте одну пустую строку, чтобы увидеть, какие колонки есть в табличной части.
- Расположите колонки в Excel в том же порядке, что и в 1С. Если порядок отличается, переставьте столбцы в файле.
- Выделите в Excel только ячейки с данными, без заголовков, и нажмите
Ctrl+C. - В 1С встаньте в первую пустую ячейку табличной части и нажмите
Ctrl+V. - Проверьте, что номенклатура подтянулась по наименованию, а не осталась пустой.
Тонкость в том, что 1С сопоставляет вставленный текст со справочником по наименованию. Если в справочнике «Болт М8х30», а в файле «Болт M8х30» (латинская M), строка не найдётся. На практике это самая частая причина пустых ячеек после вставки.
Что делает способ хорошим, а что плохим:
| Плюс | Минус |
|---|---|
| Не нужны обработки и права администратора | Не создаёт новые элементы справочников |
| Работает за минуту | Ломается на больших объёмах (тысячи строк) |
| Видно результат сразу в документе | Нет протокола ошибок |
Когда справочник пуст, сначала загрузите его другим способом (раздел ниже), а уже потом вставляйте документы.
Универсальная обработка загрузки: когда нужен справочник или много строк
Для номенклатуры, контрагентов, цен и остатков в тысячи строк используют обработку «Загрузка данных из табличного документа». Она входит в набор типовых внешних обработок на диске ИТС и в ряде конфигураций доступна из меню, а в остальных её подключают как внешнюю.
Как найти её у себя. Откройте раздел администрирования или настроек и введите в поиск по меню слово «загрузка». Если встроенной нет, подключите внешнюю обработку
: Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки (название раздела может немного отличаться по версии). Нужно право на их использование.
Общий порядок работы одинаков:
- Выберите, что загружаем: справочник, документ, регистр сведений .
- Укажите файл или вставьте данные в табличное поле обработки.
- Задайте соответствие колонок реквизитам (следующий раздел).
- Укажите режим: только создавать новые, обновлять существующие или и то и другое.
- Нажмите кнопку проверки или «Загрузить».
Если загружаете справочник с иерархией, добавьте колонку «Родитель» и отдельно загрузите группы. Иначе всё попадёт в корень.
Режим «Обновлять существующие» перезаписывает реквизиты. Пустая ячейка в Excel может затереть заполненное поле в 1С. Загружайте в режиме обновления только те колонки, которые действительно хотите менять.
Сопоставьте колонки с реквизитами
Это главный экран любой обработки. Слева — колонки файла, справа — поля 1С. Их надо связать.
Три правила, которые экономят нервы:
- 🔹 Ссылочные поля (единицы, ставки, виды номенклатуры, группы) сопоставляются со справочником. Значение в файле должно совпадать с наименованием в 1С один в один. Проверьте, какие значения вообще используются:
шт,шт.иштука— три разных строки. - 🔹 Для каждого ссылочного поля решите, что делать, если значение не найдено: создать новый элемент, оставить пустым или остановить загрузку. Для служебных справочников безопаснее остановить.
- 🔹 Ключ поиска выбирайте самый надёжный. Для контрагентов это ИНН вместе с КПП, для номенклатуры — артикул. Поиск по наименованию годится только если вы уверены в чистоте названий.
Сохраняйте настроенное соответствие, если обработка это позволяет. Следующая загрузка того же файла займёт минуту вместо получаса.
Дубли и правила поиска существующих элементов
Дубли — главный риск при повторной загрузке. Загрузили прайс в понедельник, в пятницу прислали обновлённый, и половина позиций задвоилась.
Решения по убыванию надёжности:
- Поиск по уникальному коду или артикулу. Самый чистый вариант.
- Поиск по ИНН и КПП для контрагентов. Помните, что у филиалов один ИНН и разные КПП.
- Поиск по наименованию. Работает, если вы предварительно нормализовали названия в файле: убрали двойные пробелы, привели регистр и раскладку.
Если дубли уже появились, воспользуйтесь штатной обработкой поиска и замены дублей: в типовых конфигурациях она есть в разделе администрирования (ищите «Поиск и удаление дублей» через поиск по меню). Она найдёт элементы с совпадающими реквизитами и заменит ссылки в документах на один выбранный элемент.
Чтобы не плодить дубли заново, перед загрузкой сделайте контрольную проверку на стороне Excel:
- отсортируйте колонку-ключ и включите условное форматирование «Повторяющиеся значения»;
- сверьте количество строк в файле с числом новых и обновлённых элементов в итоге загрузки: сумма должна совпасть.
Например, в файле 1200 строк. После загрузки 1100 новых и 80 обновлённых. Остаётся 20 строк, которые пропущены, и их причину надо найти в протоколе.
Протокол загрузки и разбор ошибок
После запуска не закрывайте окно сразу. Хорошая обработка выдаёт протокол: сколько строк обработано, что создано, что пропущено и почему. Если протокола нет, скопируйте сообщения из панели «Сообщения» (внизу окна 1С) в текстовый файл.
Что чаще всего встречается:
| Симптом | Причина | Что делать |
|---|---|---|
| Элемент не найден | Расхождение в написании, лишний пробел, латиница вместо кириллицы | Исправить значение в файле или в справочнике |
| Поле «Количество» равно нулю | В ячейке текст, а не число | Преобразовать колонку в числовой формат |
| ИНН обрезан | Excel убрал ведущие нули | Колонку в текстовый формат, загрузить заново |
| Ошибка преобразования значения | Дата в виде текста, разделитель в числе | Привести к формату даты и числа |
| Загрузка зависла на середине | Нехватка памяти, слишком большой файл | Разбить файл на части по 1000–2000 строк |
| Нет прав на запись | Не хватает роли у пользователя | Загружать под пользователем с нужными правами |
После загрузки обязательно выборочно проверьте результат: откройте 5–10 случайных элементов и сверьте все реквизиты с файлом. Затем сравните итоги. Если загружали остатки, суммарное количество и сумма по оборотно-сальдовой ведомости должны совпасть с итогом в Excel.
Свой загрузчик: когда выгрузка нужна регулярно
Если файл приходит каждую неделю (прайс поставщика, выгрузка из банка, реестр от филиала), ручная работа с обработкой надоедает. Есть три пути.
Обработка с заранее сохранёнными настройками. Самый простой вариант. Один раз настроили соответствие, дальше каждый раз выбираете новый файл и жмёте «Загрузить». Подходит, если формат файла не меняется.
Регламентное задание с чтением файла из папки. Программист пишет процедуру, которая раз в сутки смотрит в сетевую папку, читает новые файлы и загружает их. Для этого лучше использовать csv или чтение xlsx без запуска Excel, потому что COM-объект на сервере капризен и требует установленного Office. Результат работы пишется в журнал регистрации, ошибки уходят на почту ответственному.
Обмен через формат XML или веб-сервис. Если данные идут из другой системы, не гоняйте их через Excel вообще. Правильнее настроить обмен или интеграцию. Excel в этой цепочке лишнее звено, которое ломается первым.
Критерий выбора простой:
- загрузка разовая, до 500 строк — буфер обмена;
- справочник на тысячи строк или нерегулярная загрузка — обработка;
- файл приходит по расписанию — регламентное задание или обмен.