Загрузка таблицы Excel в 1С 8.3: от подготовки файла до протокола

· 9 мин

Содержание

Подгрузить файл XLS в 1С 8.3 можно двумя путями. Первый — встроенная команда «Загрузить из файла» в списке справочника или в табличной части документа (есть в типовых конфигурациях на БСП: Бухгалтерия 3.0, УТ 11, КА, ERP). Второй — внешняя обработка «Загрузка данных из табличного документа» (ЗагрузкаДанныхИзТабличногоДокумента.epf), которая открывается через Главное меню → Файл → Открыть и грузит данные почти в любой справочник, документ или регистр сведений .

Оба способа читают форматы .xls, .xlsx, .ods и .mxl. Excel на компьютере для этого не нужен: файл читает сама платформа. Успех загрузки на 80 % решает подготовка таблицы, поэтому начнём с неё.

Подготовка таблицы Excel перед загрузкой в 1С

1С не умеет угадывать. Она читает ячейки по строкам и колонкам и сравнивает значения с тем, что уже есть в базе. Любая «красота» в файле превращается в ошибку при загрузке.

Что сделать с файлом заранее:

  1. 📄 Оставьте один лист. Лишние листы, сводные таблицы и диаграммы удалите или перенесите данные на отдельный чистый файл.
  2. 🧱 Уберите объединённые ячейки. Шапка из двух объединённых строк сдвигает колонки, и 1С читает «Наименование» как «Артикул».
  3. 🔢 Одна строка — один объект. Итоговые строки, подзаголовки групп («Канцтовары», «Итого по разделу») удалите.
  4. ✂️ Почистите значения. Уберите пробелы в начале и конце, неразрывные пробелы, переносы строк внутри ячейки. В Excel помогает функция СЖПРОБЕЛЫ и замена Ctrl+H.
  5. 🧮 Замените формулы значениями. Скопируйте колонку и вставьте как «Значения». Иначе в 1С может прийти не то, что вы видите на экране.
  6. 🏷️ Проверьте формат ячеек. Коды, артикулы, ИНН и штрихкоды держите в текстовом формате. Иначе Excel срежет ведущие нули (00125 превратится в 125) или покажет штрихкод как 4,6E+12.
  7. 💰 Числа — без лишнего. В колонках цены и количества не должно быть «руб.», «шт.» и пробелов-разделителей тысяч, записанных текстом.

Ведущие нули теряются ещё при открытии CSV в Excel. Если исходник пришёл в CSV, импортируйте его через «Данные → Из текста/CSV» и задайте колонкам кода тип «Текстовый».

Какие колонки нужны

Минимальный набор зависит от того, что грузите:

Что загружаемОбязательные колонкиЖелательные
НоменклатураНаименованиеАртикул, единица измерения, ставка НДС, вид номенклатуры
КонтрагентыНаименованиеИНН, КПП, полное наименование, адрес
Товары в документНоменклатура (или артикул), количествоЦена, сумма, ставка НДС
ЦеныНоменклатура, ценаЕдиница измерения

Значения ссылочных полей должны совпадать с тем, что есть в 1С. Если в базе единица измерения записана как «шт», а в файле «штука», сопоставления не будет.

Встроенная загрузка из файла в типовых конфигурациях

В конфигурациях на БСП есть механизм «Загрузка данных из файла». Он встроен в списки и табличные части и не требует внешних обработок.

Загрузка в справочник

  1. Откройте список справочника, например Справочники → Товары и услуги → Номенклатура в Бухгалтерии 3.0.
  2. В командной панели найдите кнопку «Загрузить» (в некоторых списках она спрятана в меню «Ещё»).
  3. Откроется форма с пустой таблицей-шаблоном. Колонки в ней уже названы так, как ждёт программа.
  4. Скопируйте данные из Excel и вставьте в шаблон через Ctrl+V. Либо нажмите кнопку загрузки из файла и выберите .xls или .xlsx на диске.
  5. Нажмите «Далее». Программа покажет результат сопоставления.

Загрузка в табличную часть документа

Так удобно заполнять «Поступление (акты, накладные, УПД)» по накладной поставщика в Excel.

  1. Создайте документ, заполните шапку: контрагент, договор, склад.
  2. На вкладке «Товары» нажмите «Загрузить» над табличной частью.
  3. Вставьте строки в шаблон или загрузите файл, нажмите «Далее».
  4. Проверьте сопоставление номенклатуры и перенесите строки в документ.

Встроенная загрузка в документ заполняет только табличную часть. Шапку, договор и счёт-фактуру вы заполняете сами, как обычно.

Если кнопки «Загрузить» в нужном списке нет — значит, конфигурация не поддерживает загрузку для этого объекта. Тогда нужна внешняя обработка.

Универсальная обработка «Загрузка данных из табличного документа»

Это внешняя обработка из пакета для управляемых форм. Её распространяют с материалами ИТС. Файл называется ЗагрузкаДанныхИзТабличногоДокумента.epf. Она грузит данные в справочник, в табличную часть документа или в регистр сведений.

Как открыть

  1. Сохраните .epf на диск.
  2. В 1С откройте Главное меню → Файл → Открыть и выберите файл.
  3. Если появится предупреждение безопасности, подтвердите открытие. Если открыть не даёт совсем, у пользователя включена защита от опасных действий или нет права на открытие внешних обработок. Это настраивает администратор в карточке пользователя (Администрирование → Настройки пользователей и прав).

Не открывайте .epf из непроверенных источников: внешняя обработка выполняет любой код с правами вашего пользователя.

Первые настройки формы

  • Режим загрузки — «В справочник», «В табличную часть» или «В регистр сведений».
  • Вид объекта — выберите конкретный справочник, например «Номенклатура».
  • Табличный документ — на этой вкладке открывается сам файл: кнопка открытия или вставка из буфера.
  • Первая строка данных — номер строки, с которой начинаются данные. Если в файле одна строка шапки, ставьте 2.

Сопоставление колонок файла и реквизитов 1С

Самый важный шаг. На вкладке «Настройка» обработка показывает список реквизитов объекта. Для каждого вы решаете: грузить ли его и откуда брать значение.

Как связать колонку с реквизитом

  1. Включите флажок у реквизитов, которые нужно заполнить.
  2. Укажите номер колонки файла. Если включена ручная нумерация колонок, номер вводите сами; иначе обработка берёт порядок из шаблона.
  3. Выберите режим для каждого реквизита:
РежимЧто делаетПример
ИскатьНаходит ссылку в базе по значению из колонкиЕдиница «шт» → элемент справочника «Классификатор единиц»
УстанавливатьСтавит одно значение всем строкамСтавка НДС 20 % для всей партии
ВычислятьСчитает значение выражением на встроенном языкеСумма = цена × количество

Для ссылочных реквизитов в режиме «Искать» задайте, по какому полю искать: по наименованию, коду или артикулу. Поиск по коду надёжнее — наименования в файле и в базе часто расходятся на одну букву.

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

Сопоставление полей
Колонка A «Артикул»→Артикул (поле поиска)
Колонка B «Наименование»→Наименование
Колонка C «Ед. изм.»→Единица измерения (искать по наименованию)
Колонка D «НДС»→Ставка НДС (искать)
—→Вид номенклатуры (устанавливать «Товар»)
—→Родитель (устанавливать нужную группу)

Сохраните настройку в файл кнопкой сохранения настроек. Следующую партию от того же поставщика загрузите за минуту: восстановили настройки, открыли файл, нажали «Загрузить».

Пробная загрузка

Не грузите сразу 5 000 строк. Оставьте в файле 5–10 строк, загрузите их и откройте созданные элементы. Проверьте наименования, единицы, ставку НДС, группу. Только потом запускайте весь файл.

Дубли: обновлять существующие элементы или создавать новые

Без настройки обработка будет создавать новый элемент на каждую строку. Повторная загрузка того же файла удвоит справочник.

Поле поиска

Отметьте у одного-двух реквизитов флажок «Поле поиска». Обработка сначала ищет элемент с таким значением:

  • нашла — обновляет его;
  • не нашла — создаёт новый.

Хорошие поля поиска: артикул, код, ИНН для контрагентов. Плохое — наименование: «Бумага А4 Снегурочка» и «Бумага A4 Снегурочка» (латинская A) для 1С разные строки.

Стратегия обновления

ЗадачаЧто включить
Только добавить новые позицииПоле поиска + запрет замены существующих
Обновить цены или реквизиты у старыхПоле поиска + флажок «Не создавать новых элементов»
Полная синхронизация с файломПоле поиска, без ограничений

Загрузка в справочник меняет рабочие данные сразу, кнопки «Отменить» нет. Перед массовой загрузкой или обновлением сделайте резервную копию базы.

Если дубли уже появились

Найдите их через поиск дублей: в Бухгалтерии 3.0 обработка «Поиск и удаление дублей» есть в разделе Администрирование → Обслуживание. Она заменяет ссылки на дубль ссылками на оригинал во всех документах и помечает лишний элемент на удаление. Удалять дубли вручную нельзя, если на них уже есть документы.

Ошибки при загрузке XLS и как читать протокол

После нажатия «Загрузить» обработка пишет сообщения внизу формы: какая строка не загрузилась и почему. Встроенная загрузка БСП показывает отчёт о загрузке со статусами строк. Читайте их по номеру строки и сразу правьте файл.

Диагностика: выберите симптом

Проверка после загрузки

  • 🔍 Отфильтруйте список по дате создания или по группе и сверьте количество строк с файлом.
  • 🔍 Отсортируйте по наименованию — дубли встанут рядом.
  • 🔍 В документе сверьте итоговую сумму табличной части с итогом накладной в Excel.

Автоматизация регулярной загрузки файлов Excel в 1С

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

СпособКогда подходитЧто нужно
Сохранённые настройки обработкиРаз в неделю, формат файла не меняетсяНичего, кроме дисциплины
Своя внешняя обработкаСложная логика: пересчёт, проверкиПрограммист 1С
Регламентное задание в расширенииФайл кладут в папку автоматическиСерверная база, программист

Как читает файл программный код

В платформе 8.3 табличный документ сам читает файл Excel. Основа любой своей обработки выглядит так:

ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);

Для НомерСтроки = 2 По ТабДок.ВысотаТаблицы Цикл
    Артикул      = СокрЛП(ТабДок.Область(НомерСтроки, 1).Текст);
    Наименование = СокрЛП(ТабДок.Область(НомерСтроки, 2).Текст);
    Если ПустаяСтрока(Артикул) Тогда
        Продолжить;
    КонецЕсли;
    // поиск элемента по артикулу, создание или обновление
КонецЦикла;

Цикл начинается со второй строки, потому что первая — шапка. Пустые строки пропускаются.

Что учесть при автоматической загрузке

  • 🖥️ Регламентное задание выполняется на сервере 1С. Путь к файлу должен быть доступен учётной записи службы сервера, а не вашему пользователю Windows.
  • 📁 После загрузки переносите файл в папку «Загружено». Иначе следующий запуск обработает его повторно.
  • 🧾 Пишите результат в журнал регистрации или в отдельный регистр: сколько строк загружено, какие пропущены.
  • 🚫 Не используйте COM-объект Excel на сервере. Для него нужен установленный Office, он медленный и плохо работает в службах.

Если поставщик может прислать файл в одном и том же формате, договоритесь о шаблоне: фиксированный порядок колонок, артикул в первой колонке, без шапки на две строки. Это убирает половину ручной работы.

Частые вопросы

Можно ли загрузить XLS в 1С без Excel на компьютере?
Да. Платформа 8.3 читает .xls и .xlsx сама, Excel для загрузки не нужен.
Чем отличается загрузка .xls от .xlsx?
Для 1С разницы нет: оба формата открываются в табличный документ. Если старый .xls читается с ошибками, пересохраните его в .xlsx.
Можно ли загрузить остатки или проводки из Excel?
Не напрямую в проводки. Остатки вводят документами ввода начальных остатков: создают документ и загружают в его табличную часть строки из файла.
Загрузятся ли картинки товаров из Excel?
Нет. Изображения в ячейках не переносятся. Картинки прикрепляют к номенклатуре отдельно, файлами.
Почему встроенная загрузка не видит мою колонку?
Она работает по своему шаблону. Вставляйте данные в колонки шаблона в том же порядке, а не грузите таблицу с произвольной шапкой.