Как в 1С загрузить данные из Excel без ошибок
Содержание
Загрузить данные из Excel в 1С можно штатной обработкой «Загрузка данных из табличного документа» или встроенной кнопкой «Загрузить из файла» в списках справочников. Файл открывается, колонки сопоставляются с реквизитами, 1С показывает результат проверки, и только потом записывает элементы. Для типовых задач (номенклатура, контрагенты, остатки, строки документа) этого хватает без программиста.
Главное правило: 80% успеха — это подготовленный файл. Если в таблице объединённые ячейки, числа записаны текстом, а названия товаров отличаются от справочника на пробел, загрузка пройдёт с ошибками или создаст дубли. Разберём всё по порядку: от файла до автоматического обмена.
Подготовка исходного файла: что проверить до загрузки
Первым делом приведите таблицу к «плоскому» виду. 1С читает данные построчно, поэтому всё, что красиво для глаз, мешает машине.
Структура таблицы
- ✅ Одна строка таблицы — одна запись (один товар, один контрагент, одна строка документа).
- ✅ Заголовки колонок — в одной строке, без объединённых ячеек.
- ✅ Нет промежуточных итогов, пустых строк и «шапки» с реквизитами организации над таблицей.
- ✅ Один лист на один вид данных. Если на листе две таблицы, разнесите их.
Если файл выгружен из другой программы и содержит шапку, просто удалите лишние строки сверху. Номер первой строки с данными можно указать и в обработке, но чистый файл надёжнее.
Формат ячеек
Типичная засада — числа и даты, которые Excel показывает правильно, а хранит как текст. Признак: зелёный уголок в ячейке и выравнивание влево. 1С такое значение не преобразует в число.
| Что в ячейке | Как должно быть | Как исправить |
|---|---|---|
Количество 1 250,50 с неразрывным пробелом | Число | Заменить пробел на пустую строку, формат ячейки «Числовой» |
Дата 05.03.24 текстом | Дата | Формат «Дата», проверить, что день и месяц не поменялись |
ИНН 7707083893 | Текст, 10 или 12 знаков | Формат «Текстовый», иначе потеряются ведущие нули |
Артикул 00123 | Текст | Формат «Текстовый» до ввода, а не после |
Сумма с точкой 15.5 | Число с запятой | Заменить разделитель согласно региональным настройкам |
Перед массовой загрузкой сделайте резервную копию базы или проверьте всё на тестовой копии. Откатить сотни созданных элементов вручную долго.
Однозначность значений
Если в колонке «Единица измерения» встречаются «шт», «шт.» и «штука», 1С воспринимает их как три разных значения. Приведите к одному написанию. То же с наименованиями контрагентов: «ООО Ромашка» и «Ромашка ООО» дадут два элемента.
💡 Добавьте в файл колонку-идентификатор: артикул, ИНН или код. По ней обработка найдёт уже существующий элемент и обновит его, а не создаст дубль.
Сохраните файл в формате .xlsx или .xls. Старый .xls читается через установленный Excel или встроенный механизм, в зависимости от платформы, поэтому .xlsx практичнее.
Стандартная обработка «Загрузка данных из табличного документа»
Это основной инструмент. Он есть в типовых конфигурациях (Бухгалтерия предприятия, УТ, Розница, ЗУП в разных вариантах поставки) либо подключается как внешняя обработка с диска ИТС. Если пункта нет в меню, найдите его через поиск по командам в верхней части окна: введите слово «Загрузка» и посмотрите, что предложит программа.
Пошаговая загрузка
- Откройте обработку и выберите, что именно загружаем: справочник или табличную часть документа. Для справочника укажите вид (например, «Номенклатура»), для документа — сам документ.
- Откройте вкладку с данными и вставьте таблицу. Проще всего скопировать нужный диапазон в Excel и вставить в окно обработки через
Ctrl+V. Многие версии умеют и открывать файл целиком. - Укажите номер первой строки данных. Если в таблице есть строка заголовков, данные начинаются со второй.
- Сопоставьте колонки с реквизитами. В шапке каждой колонки выберите, куда идут данные: «Наименование», «Артикул», «Единица», «Цена» и так далее.
- Задайте поле поиска существующих элементов. Это тот самый идентификатор: артикул, код или ИНН.
- Нажмите «Проверить» или «Контроль» (название зависит от версии). Обработка пометит строки, где что-то не так.
- Исправьте ошибки в таблице и запустите загрузку.
Режимы: создать, обновить, пропустить
Обычно доступны три поведения при совпадении по полю поиска:
- 🔹 Создавать новые, существующие пропускать. Безопасно для первичного наполнения.
- 🔹 Обновлять найденные. Подходит для массового изменения цен или реквизитов.
- 🔹 Создавать только если нет, ничего не менять. Для дозагрузки дополнений к уже заведённому списку.
Для первой загрузки выбирайте самый осторожный режим и сначала прогоните 5–10 строк. Если результат устроил, грузите остальное.
Встроенная кнопка в списках
В новых релизах типовых конфигураций во многих справочниках и табличных частях документов есть команда загрузки из файла прямо в форме списка: она находится в меню «Ещё» или рядом с кнопкой «Создать». Принцип тот же: файл, сопоставление колонок, проверка, запись. Если кнопки нет, значит, в вашем релизе её не реализовали, и нужна внешняя обработка.
CSV и текстовые файлы: когда Excel не нужен
Excel тяжёл, а выгрузки из банков, кассовых систем и интернет-магазинов часто приходят в CSV. Это обычный текст, где значения разделены символом, чаще всего точкой с запятой.
Главные проблемы CSV: кодировка и разделитель. Русский текст, сохранённый в UTF-8, при открытии в Excel «по двойному клику» превращается в «кракозябры». Правильно открывать так: в Excel на ленте «Данные» → «Из текста/CSV», выбрать кодировку 65001 UTF-8 и разделитель «точка с запятой».
| Параметр | Типичное значение | На что влияет |
|---|---|---|
| Кодировка | UTF-8 или Windows-1251 | Читаемость русских букв |
| Разделитель колонок | ; | Если в тексте есть ;, значение берут в кавычки |
| Десятичный разделитель | , или . | Преобразование сумм в числа |
| Разделитель строк | CRLF | Обычно не требует вмешательства |
Если нужно просто загрузить CSV, откройте его в Excel с правильной кодировкой, сохраните как .xlsx и работайте как с обычной таблицей. Для регулярных выгрузок лучше настроить чтение текстового файла в обработке: 1С умеет читать его построчно, и Excel в цепочке не понадобится.
Если файл большой (десятки тысяч строк), CSV обрабатывается заметно быстрее, чем Excel: у него нет форматирования и формул, только данные.
Табличный документ и макеты: что происходит внутри
Окно, в которое вставляются данные, — это «табличный документ» 1С. Он умеет принимать вставку из буфера обмена и читать файлы .xlsx. Знать это полезно в двух случаях.
Первый: данные вставились, но «съехали». Так бывает, когда в Excel скрыты колонки или есть объединённые ячейки. В табличный документ попадёт то, что скопировано, поэтому смотрите на результат глазами до запуска проверки.
Второй: вы пишете собственную обработку или отчёт. Тогда файл читается через объект «Табличный документ» методом чтения, а данные забираются по номерам строк и колонок. Простейший пример на встроенном языке:
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ПутьКФайлу);
Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
Артикул = СокрЛП(ТабДок.Область(НомерСтроки, 1, НомерСтроки, 1).Текст);
Наименование = СокрЛП(ТабДок.Область(НомерСтроки, 2, НомерСтроки, 2).Текст);
// дальше: поиск элемента по артикулу и запись
КонецЦикла;
Этот способ хорош, когда стандартной обработки не хватает: нужна нестандартная логика, например разбор составных значений в одной ячейке. Всё остальное быстрее закрывается типовой обработкой.
Макеты используют в обратной задаче: когда нужно выгрузить данные в заранее оформленный Excel-шаблон. Для загрузки они обычно не нужны.
Сопоставление колонок и преобразование данных
Здесь решается, как «Ромашка» из таблицы превратится в ссылку на контрагента в базе. Колонка Excel хранит текст, а реквизит 1С часто ссылочный: контрагент, номенклатура, единица измерения, ставка НДС.
Как 1С находит ссылку
Для ссылочных реквизитов обработка ищет элемент по тексту: чаще по наименованию, иногда по коду. Если найдено ровно одно совпадение — всё хорошо. Если не найдено, есть варианты: создать новый, оставить пустым или пометить строку ошибкой. Если найдено несколько — возьмётся первый или будет ошибка, в зависимости от настроек.
Практический вывод: перед загрузкой заведите справочные значения (единицы, группы, ставки НДС), а потом грузите основные данные. Порядок такой:
- Группы и виды (группы номенклатуры, виды цен).
- Единицы измерения.
- Сами элементы (товары, контрагенты).
- Цены и остатки.
- Документы.
Что можно преобразовать до загрузки
Не обязательно править файл руками. Часть преобразований делается формулами Excel в соседней колонке:
| Задача | Формула Excel |
|---|---|
| Убрать лишние пробелы | =СЖПРОБЕЛЫ(A2) |
| Привести к верхнему регистру | =ПРОПИСН(A2) |
| Склеить фамилию и имя | =A2&" "&B2 |
| Отрезать первые 3 знака | =ПСТР(A2;4;100) |
| Заменить точку на запятую | =ПОДСТАВИТЬ(A2;".";",") |
Потом скопируйте колонку с результатом и вставьте «только значения», иначе в 1С уйдёт формула, а не результат.
Таблица соответствий
Если в файле поставщика ставка НДС указана как «20%», а в 1С она называется иначе, составьте таблицу соответствий и сделайте подстановку в Excel функцией ВПР. Пример для плана работы:
Регулярные загрузки: правила обмена и внешние источники
Если один и тот же файл приходит каждую неделю (прайс поставщика, выписка, отчёт торговых точек), ручная вставка надоест. Есть три пути автоматизации, от простого к сложному.
Сохранённые настройки
Часть обработок позволяет сохранить сопоставление колонок и режим загрузки как настройку. В следующий раз вы выбираете её из списка, вставляете новый файл и нажимаете «Загрузить». Это закрывает 70% повторяющихся задач.
Правила обмена и внешние обработки
Для постоянных обменов с другими системами в 1С используют механизм правил обмена (конвертация данных) или отдельную внешнюю обработку, которую разработчик подключает через справочник дополнительных отчётов и обработок. Такая обработка может сама находить файл в папке, читать его и создавать документы по расписанию.
Внешние источники
Данные можно не загружать в базу вообще, а читать напрямую из Excel как из внешнего источника, если платформа и конфигурация это позволяют. Подходит для справочной информации, которая меняется чаще, чем нужна в учёте. Для учётных данных (остатки, документы) такой подход не годится: они должны быть в базе.
Автоматическая загрузка без контроля опасна: если поставщик поменял порядок колонок, обработка молча загрузит цены в поле количества. Добавьте проверку заголовков и лог загрузки.
Типичные ошибки при загрузке и как их устранить
После любой массовой загрузки проверьте выборочно 5–10 записей и итоги: количество созданных элементов должно совпасть с числом строк в файле минус пропущенные.
Частые вопросы
Сколько строк можно загрузить за один раз?
Можно ли загрузить фото или файлы, а не только текст?
Что делать, если нужной обработки нет в меню?
Загрузка перезаписала правильные данные. Можно откатить?
Работает ли загрузка без установленного Excel?
.xlsx современные платформы читают собственными средствами. Для старого .xls и в отдельных сценариях требуется установленный Excel или конвертация файла в .xlsx заранее.