Перенос данных из Excel в 1С 8.3: копирование, загрузка из файла и обработка
Содержание
Таблицу из Excel в 1С 8.3 вставляют тремя способами. Для справочника номенклатуры или табличной части документа в типовых конфигурациях есть встроенная команда Загрузить: копируете диапазон в Excel через Ctrl+C, вставляете в открывшуюся форму через Ctrl+V, сопоставляете колонки и жмёте загрузку. Для нестандартных объектов берут универсальную обработку «Загрузка данных из табличного документа». А если таблицу нужно только посмотреть или сохранить внутри 1С, файл открывают через Файл → Открыть и сохраняют в формате MXL.
Какой способ выбрать, зависит от того, куда идут данные и сколько их. Короткий список из 20 строк проще вставить руками. Прайс на 5 000 позиций, который приходит каждую неделю, лучше один раз настроить в обработке и потом загружать в два клика.
| Способ | Когда подходит | Что нужно | Ограничения |
|---|---|---|---|
Встроенная команда Загрузить | Номенклатура, товары в документах поступления и реализации | Только права пользователя | Набор полей фиксирован формой |
| Универсальная обработка | Любой справочник, табличная часть, регистр сведений | Внешняя обработка .epf и права на её открытие | Нужна аккуратная настройка колонок |
| Открытие файла как табличного документа | Просмотр, печать, сохранение в MXL | Ничего | Данные в учёт не попадают |
| Своя обработка или код | Регулярный обмен по одному шаблону | Программист | Требует поддержки при смене шаблона |
Подготовка таблицы Excel перед вставкой в 1С
Почти все сбои при загрузке рождаются в исходном файле, а не в 1С. Пять минут на чистку таблицы экономят повторную загрузку и удаление дублей.
Что проверить в файле:
- 📌 Одна строка заголовков. Над ней не должно быть шапки документа, логотипа и пустых строк. Если шапку убрать нельзя, запомните номер первой строки с данными — его придётся указать в обработке.
- 🔗 Нет объединённых ячеек. Объединение ломает сопоставление: 1С видит значение только в первой ячейке, остальные остаются пустыми.
- 🧮 Формулы заменены значениями. Скопируйте лист и вставьте его через «Специальную вставку → Значения». Иначе при открытии файла в 1С можно получить пустоты вместо чисел.
- 🔢 Числа хранятся как числа. Цены и количества без пробелов-разделителей тысяч, без «руб.» и «шт.» в той же ячейке. Дробная часть — через запятую, как в русской локали.
- 🏷️ Артикулы и коды — как текст. Код
00123Excel превратит в123. Задайте колонке текстовый формат до ввода данных. - 📏 Единицы измерения и ставки НДС записаны так же, как в справочниках базы: «шт», а не «штука» и «шт.». Ставку пишите как «20%».
- 🧹 Нет пустых строк в середине и итоговой строки внизу. Строка «Итого» загрузится как товар с названием «Итого».
Добавьте в таблицу колонку с артикулом, даже если 1С ищет по наименованию. По артикулу проще найти уже существующую позицию и не создать дубль из-за лишнего пробела в названии.
Сохраните файл в .xlsx и закройте его в Excel. Открытый в Excel файл иногда не читается: он занят другим процессом.
Как вставить таблицу через команду «Загрузить» в Бухгалтерии и УТ
В типовых конфигурациях на платформе 8.3 (Бухгалтерия предприятия 3.0, Управление торговлей 11, Комплексная автоматизация) есть общий механизм загрузки данных из файла. Он работает и в списке номенклатуры, и в табличной части документов.
Загрузка в справочник «Номенклатура»
- Откройте список номенклатуры. В БП 3.0 это
Справочники → Товары и услуги → Номенклатура, в УТ 11 —НСИ и администрирование → Номенклатура. - Выберите папку, куда должны попасть новые позиции.
- В командной панели списка нажмите
Загрузить. Если кнопки не видно, она спрятана в менюЕщё. - Откроется форма-шаблон с колонками. В Excel выделите диапазон с данными без заголовка, нажмите
Ctrl+C. - Встаньте в первую ячейку шаблона в 1С и нажмите
Ctrl+V. - Нажмите
Далее. Программа сравнит строки с существующей номенклатурой и покажет, какие позиции найдены, а какие будут созданы. - Проверьте результат сопоставления и завершите загрузку.
Загрузка товаров в документ
В документах «Поступление (акты, накладные, УПД)» и «Реализация (акты, накладные, УПД)» над табличной частью «Товары» есть команда Загрузить. Порядок тот же: шаблон, вставка через буфер обмена, проверка, перенос строк в документ.
Здесь появляется ещё один шаг. Если товара из файла нет в справочнике, программа предложит создать его или сопоставить вручную с уже существующим. Не создавайте новые карточки, если в базе есть та же позиция под чуть другим именем: потом придётся объединять дубли.
Загруженные строки попадают в документ, но документ не проводится автоматически. Сверьте итоговую сумму с исходной таблицей и только потом нажимайте «Провести».
Универсальная обработка «Загрузка данных из табличного документа»
Когда встроенной кнопки нет, выручает универсальная внешняя обработка. Её файл обычно называется ЗагрузкаДанныхИзТабличногоДокумента.epf. Она распространяется в составе информационно-технологического сопровождения и есть у большинства обслуживающих партнёров.
Обработка умеет загружать данные в три типа объектов:
- 📚 справочник — создание новых элементов и обновление реквизитов существующих;
- 📄 табличную часть выбранного документа или элемента справочника;
- 🗂️ регистр сведений — например, цены или курсы.
Запуск и первый прогон
- Сделайте резервную копию базы . Обработка пишет в базу напрямую и не имеет кнопки «отменить».
- Откройте файл через главное меню:
Файл → Открыть, выберите.epf. Если пункт недоступен или 1С пишет о нарушении прав, внешние обработки для вашего пользователя запрещены — это решает администратор базы. - Выберите режим загрузки и объект: например, справочник «Номенклатура».
- Откройте вкладку с табличным документом и вставьте в неё таблицу из Excel через
Ctrl+Vили прочитайте файл командой открытия. - Настройте колонки (об этом в следующем разделе).
- Нажмите
Контроль заполнения. Обработка подсветит строки, где значение не найдено или не подходит по типу. - Исправьте ошибки и нажмите
Загрузить.
Сначала загрузите 3-5 строк в тестовую копию базы. Если всё легло правильно, загружайте полный файл в рабочую.
Для старых обработок с обычными формами нужен толстый клиент. В тонком клиенте и в веб-клиенте используйте версию обработки для управляемых форм.
Сопоставление колонок Excel с реквизитами 1С
Это главный шаг, на котором ошибаются чаще всего. Обработка не понимает, что колонка «Цена опт» в вашем файле — это реквизит «Цена». Связь задаёте вы.
Как устроена настройка:
- Номер первой строки. Если в файле одна строка заголовков, ставите 2. Если над таблицей шапка из пяти строк, — 7.
- Ручная нумерация колонок. С этой галкой вы указываете для каждого реквизита номер колонки в файле. Без неё обработка ждёт колонки строго в порядке своего списка.
- Ключевой реквизит (поиск). Галка «Поле поиска» отмечает, по какому реквизиту искать существующий элемент: код, артикул или наименование. Найден — элемент обновится. Не найден — будет создан новый.
- Режим загрузки значения. Для ссылочных реквизитов (единица измерения, ставка НДС, группа) значение ищется в справочнике по представлению. Можно задать и константу: все строки получат одну ставку или одну папку.
Пример сопоставления для прайса поставщика:
Если поиск стоит по наименованию, «Бумага А4» и «Бумага А4» с двойным пробелом — разные товары. Перед загрузкой уберите лишние пробелы функцией СЖПРОБЕЛЫ() в Excel.
Настройки можно сохранить в файл и подгружать при следующей загрузке того же шаблона. Для еженедельного прайса это экономит больше всего времени.
Ошибки при загрузке таблицы из Excel и что с ними делать
Ниже симптомы, которые встречаются на практике, и их причины. Начните с того, что видите на экране.
Если после загрузки обнаружилось, что строки легли неверно, не исправляйте сотню карточек вручную. Пометьте созданные элементы на удаление, поправьте файл и настройки колонок и загрузите заново. Отбор созданных элементов удобно сделать по дате создания или по папке, в которую шла загрузка.
Ещё одна неочевидная причина — скрытые строки и автофильтр в Excel. При копировании отфильтрованного диапазона в буфер иногда попадают и скрытые строки. Снимите фильтр или скопируйте нужные строки на новый лист.
Сохранение таблицы в формате MXL и автоматизация загрузки
MXL — родной формат табличного документа 1С. Он нужен, когда таблицу надо хранить внутри базы, передать другому пользователю 1С или подать на вход обработке без зависимости от Excel.
Как получить MXL из Excel без программирования:
- В 1С откройте главное меню и выберите
Файл → Открыть. - Укажите тип файлов «Лист Excel» и выберите
.xlsx. Платформа 8.3 откроет его как табличный документ. - Проверьте, что числа и даты отображаются правильно.
- Выберите
Файл → Сохранить каки тип «Табличный документ (*.mxl)».
Если загрузка повторяется каждый день по одному шаблону, её автоматизируют. Программист пишет обработку, которая читает файл и сразу создаёт документы. Основа такой обработки — чтение табличного документа по ячейкам:
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяФайла); // .mxl или .xlsx
Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
Артикул = СокрЛП(ТабДок.Область(НомерСтроки, 1).Текст);
Наименование = СокрЛП(ТабДок.Область(НомерСтроки, 2).Текст);
ЦенаТекст = СтрЗаменить(ТабДок.Область(НомерСтроки, 4).Текст, " ", "");
Если ПустаяСтрока(Артикул) Тогда
Продолжить; // пропускаем пустые строки
КонецЕсли;
Цена = 0;
Попытка
Цена = Число(ЦенаТекст);
Исключение
Сообщить("Строка " + Формат(НомерСтроки, "ЧГ=0") + ": не число в колонке цены");
КонецПопытки;
// здесь поиск номенклатуры по артикулу и запись данных
КонецЦикла;
Цикл начинается со второй строки, потому что первая — заголовки. ВысотаТаблицы возвращает номер последней заполненной строки, поэтому пустой хвост файла не мешает. Для чтения .xlsx методом Прочитать() нужна платформа 8.3 актуальной версии; на старых сборках файл сначала пересохраняют в MXL.
Если поставщик присылает файл в одном и том же виде, договоритесь с ним о постоянном шаблоне колонок. Тогда настройка сопоставления делается один раз и больше не меняется.
Частые вопросы
Можно ли просто скопировать таблицу из Excel и вставить в документ 1С без кнопки «Загрузить»?
Загрузятся ли картинки товаров из Excel?
Работает ли загрузка из Excel в 1С:Фреш и через веб-клиент?
Загрузить работает, она часть конфигурации. Внешние обработки в облаке подключают только после проверки на стороне сервиса, поэтому универсальную обработку там запустить обычно нельзя.Нужен ли установленный Excel на компьютере?
.xlsx средствами платформы 8.3 Excel не требуется.