Перенос таблицы Excel в 1С 8.3: от разовой вставки до импорта по расписанию

· 9 мин

Содержание

Чтобы вставить данные из Excel в 1С 8.3, откройте нужный документ или справочник и нажмите над таблицей кнопку Загрузить. Откроется форма загрузки данных из файла: в неё вставляют строки из Excel через Ctrl+V или выбирают сам файл .xlsx, затем сопоставляют колонки и строки и подтверждают загрузку. Так работают БП 3.0, УТ 11 и другие типовые конфигурации на Библиотеке стандартных подсистем.

Способ выбирают по задаче. Разовый список товаров в накладную — встроенная кнопка. Справочник на тысячи позиций со сложными реквизитами — универсальная обработка загрузки из табличного документа. Ежедневный прайс от поставщика — своя обработка с запуском по расписанию. Правила конвертации (КД 2.0 / КД 3.0) нужны, когда данные идут между базами 1С, а Excel лишь одно из звеньев.

СпособКогда подходитЧто нужно
Кнопка Загрузить в документеТовары и услуги в накладную, счёт, заказПрава пользователя на документ
Загрузить в списке справочникаНовая номенклатура, контрагентыПрава на добавление элементов
Универсальная обработка .epfЛюбой справочник, табличная часть, регистр сведенийПраво открывать внешние обработки
Своя обработка по расписаниюРегулярные файлы одного форматаПрограммист 1С, доступ сервера к папке
Правила КД 2.0 / КД 3.0Поток между базами 1СНастроенный обмен

Как подготовить файл Excel к загрузке в 1С

Большая часть неудачных загрузок решается ещё в Excel. 1С читает таблицу буквально: лишний пробел в артикуле — и товар не найдётся.

Приведите файл к виду «одна строка — одна запись»:

  1. Оставьте одну строку заголовков в самом верху. Шапку документа, логотип, итоги и подписи удалите.
  2. Разъедините объединённые ячейки. В Excel выделите таблицу и снимите объединение на вкладке «Главная».
  3. Уберите пустые строки внутри таблицы. Многие механизмы считают пустую строку концом данных.
  4. Удалите лишние пробелы: функция =СЖПРОБЕЛЫ(A2) в соседнем столбце, затем «Вставить как значения».
  5. Проверьте числа. Значения с зелёным треугольником в углу хранятся как текст. Количество и цену переведите в числовой формат, разделитель дробной части — запятая.
  6. Коды с ведущими нулями (артикул 00125, ИНН, КПП, БИК) держите в текстовом формате. Иначе Excel превратит 0274062111 в 274062111.
  7. Даты приведите к одному формату ДД.ММ.ГГГГ.
  8. Единицы измерения пишите так же, как в справочнике 1С: если там «шт», то не «шт.» и не «штука».

Добавьте в файл столбец с ключом поиска — артикулом или кодом. Сопоставление по наименованию ломается от одной лишней точки, по артикулу — почти никогда.

Сохраните файл в .xlsx. Старый .xls 1С тоже читает, но с .xlsx меньше проблем с кодировкой и длинными таблицами. Файл с паролем на открытие платформа не прочитает — снимите защиту.

Пример: колонки прайса → реквизиты номенклатуры
Артикул→Артикул (ключ поиска)
Наименование→Наименование
Ед. изм.→Единица измерения (по справочнику)
Ставка НДС→Ставка НДС (20%, 10%, Без НДС)
Цена→Цена (число, без пробелов и «руб.»)

Встроенная загрузка из Excel: документы и справочники

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

В табличную часть документа

Пример для БП 3.0, документ поступления товаров:

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

Так же загружают товары в Продажи → Реализация (акты, накладные, УПД), счета покупателям и заказы. В УТ 11 кнопка есть в заказах клиентов и поставщикам, в документах поступления и реализации.

В справочник номенклатуры или контрагентов

  1. Откройте список: Справочники → Номенклатура (в БП 3.0) или НСИ и администрирование → НСИ → Номенклатура (в УТ 11).
  2. В командной панели списка нажмите Загрузить. Если кнопки не видно, она в меню Ещё.
  3. Выберите, куда загружать, вставьте данные или укажите файл.
  4. На шаге сопоставления 1С ищет существующие элементы. Найденные будут обновлены, ненайденные — созданы.
  5. Проверьте отчёт о результатах: сколько создано, обновлено и пропущено.

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

Универсальные табличные документы: внешняя обработка и открытие Excel в 1С

Открыть Excel прямо в 1С

Платформа 8.3 умеет открывать .xlsx, .xls и .ods как табличный документ. Через Главное меню (≡) → Файл → Открыть выберите файл — он откроется в окне 1С. Это удобно, когда Excel на компьютере не установлен: таблицу можно просмотреть, поправить и скопировать область в форму загрузки.

Обработка «Загрузка данных из табличного документа»

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

Порядок работы:

  1. Откройте обработку через Файл → Открыть. Платформа покажет предупреждение безопасности о внешнем файле — подтвердите, если файл получен из надёжного источника.
  2. Выберите режим загрузки: в справочник, в табличную часть объекта или в регистр сведений.
  3. Укажите вид объекта, например справочник «Номенклатура».
  4. Вставьте данные на вкладку с табличным документом или откройте файл. Первую строку данных укажите так, чтобы заголовки не попали в загрузку.
  5. На вкладке настройки для каждого реквизита задайте номер колонки или значение по умолчанию. Для ссылочных реквизитов выберите, как искать: по коду, по наименованию или по реквизиту.
  6. Отметьте ключевое поле, по которому обработка ищет существующие элементы. Без него каждая загрузка создаёт дубли.
  7. Запустите проверку (контроль заполнения): обработка подсветит строки, где значение не найдено.
  8. Исправьте ошибки и загрузите данные.

Чтобы открыть внешнюю обработку, у пользователя должно быть право на интерактивное открытие внешних обработок. Если его нет, обработку регистрируют администратором в Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки — для этого файл должен поддерживать регистрацию.

Настройки сопоставления колонок можно сохранить в файл и использовать при следующей загрузке файла того же формата.

Правила конвертации КД 2.0 и КД 3.0: когда они нужны при импорте из Excel

«Конвертация данных» — инструмент для обмена между базами 1С, а не для чтения Excel. Напрямую .xlsx правила не загружают: КД 2.0 работает с файлами обмена XML, КД 3.0 — с форматом EnterpriseData.

КД имеет смысл, если Excel — только первый шаг длинного маршрута:

  • 📦 данные из таблиц сначала загружают в промежуточную или старую базу, а затем переносят в рабочую по правилам обмена;
  • 🔁 справочники при переходе с другой конфигурации переносят обменом, а Excel используют только для дозагрузки того, чего в старой базе не было;
  • 🏢 несколько баз холдинга синхронизируются по EnterpriseData, а таблица Excel заводит данные в одну из них.

Для КД 2.0 разработчик создаёт правила в отдельной конфигурации «Конвертация данных», выгружает их в файл и подключает к обработке универсального обмена. В КД 3.0 правила превращаются в модуль менеджера обмена внутри конфигурации.

Для разовой или ежемесячной загрузки одной таблицы КД избыточна. Настройка правил займёт больше времени, чем сама загрузка встроенной кнопкой.

Ошибки при загрузке данных из Excel в 1С и как их исправить

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

Отдельно о единицах измерения и ставках НДС. Если в файле стоит значение, которого нет в справочнике 1С, форма загрузки оставит поле пустым. Документ при этом запишется, а ошибка всплывёт при проведении или в книге покупок. После загрузки отсортируйте табличную часть по этим колонкам — пустые значения окажутся вверху.

Автоматизация регулярной загрузки данных из Excel

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

Как устроена своя обработка

Платформа читает Excel через объект ТабличныйДокумент — Excel на компьютере или сервере для этого не нужен. Пример: прочитать прайс поставщика, найти номенклатуру по артикулу и собрать таблицу цен.

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

Цены = Новый ТаблицаЗначений;
Цены.Колонки.Добавить("Номенклатура");
Цены.Колонки.Добавить("Цена");
НеНайдено = Новый Массив;

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

    ТекстЦены = ТабДок.Область(НомерСтроки, 3).Текст;
    ТекстЦены = СтрЗаменить(ТекстЦены, " ", "");
    ТекстЦены = СтрЗаменить(ТекстЦены, Символы.НПП, "");
    ТекстЦены = СтрЗаменить(ТекстЦены, ".", ",");

    Попытка
        Цена = Число(ТекстЦены);
    Исключение
        НеНайдено.Добавить(Артикул);
        Продолжить;
    КонецПопытки;

    Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Артикул);
    Если Номенклатура.Пустая() Тогда
        НеНайдено.Добавить(Артикул);
        Продолжить;
    КонецЕсли;

    НоваяСтрока = Цены.Добавить();
    НоваяСтрока.Номенклатура = Номенклатура;
    НоваяСтрока.Цена = Цена;
КонецЦикла;

Дальше таблица Цены заполняет документ «Установка цен номенклатуры», а массив НеНайдено уходит в журнал или письмо ответственному. Запись документа программист добавляет под свою конфигурацию — реквизиты табличной части отличаются в БП и УТ.

Как запустить по расписанию

  • ⏰ Дополнительная обработка БСП. Обработку регистрируют в разделе дополнительных отчетов и обработок, а для её серверной команды включают расписание. Конфигурацию снимать с поддержки не нужно.
  • 🧩 Расширение конфигурации с регламентным заданием — когда логика сложная и должна жить в базе.
  • 📁 Папка обмена. Поставщик или другая система кладёт файл в сетевую папку, задание забирает его и переносит в архив с датой.

Регламентное задание в клиент-серверной базе выполняется на сервере 1С от имени служебной учётной записи (часто USR1CV8). Путь к файлу указывайте сетевой (\\server\share\...), а этой учётной записи дайте права на чтение и запись в папку. Диск C: пользователя сервер не видит.

Старые обработки открывали файл через COM-объект Excel.Application. На сервере так делать не стоит: нужен установленный Excel, процессы зависают, а при обновлении Office всё ломается. Чтение через ТабличныйДокумент надёжнее.

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

Почему не работает обычная вставка Ctrl+V прямо в таблицу документа?
Табличная часть 1С принимает вставку в одну ячейку и не раскладывает блок из Excel по строкам и колонкам. Для вставки нескольких строк используйте кнопку «Загрузить» над таблицей — она открывает форму, которая принимает блок целиком.
Нужен ли установленный Microsoft Excel, чтобы загрузить файл в 1С?
Нет. Платформа 8.3 сама читает .xlsx, .xls и .ods. Excel нужен только для подготовки файла, а его можно заменить LibreOffice или открыть таблицу прямо в 1С.
Сколько строк можно загрузить за один раз?
Жёсткого лимита у встроенной загрузки нет. Большой справочник удобнее грузить частями по несколько тысяч строк: проще проверить результат и найти строку с ошибкой.
Как отменить неудачную загрузку в справочник?
Автоматической отмены нет. Созданные элементы пометьте на удаление и удалите через удаление помеченных объектов, предварительно проверив, что они не попали в документы. Надёжнее восстановить резервную копию, сделанную перед загрузкой.
Можно ли загрузить из Excel начальные остатки?
Можно, если у документа ввода остатков в табличной части есть кнопка «Загрузить». Если её нет — через универсальную обработку в режиме загрузки в табличную часть уже созданного документа.