К статье
Практический материал

Справочники и Данные · 11 мин

Как заполнить табличную часть из Excel в 1С

Как загрузить табличную часть документа из Excel в 1С: типовые обработки, универсальная загрузка, копирование через буфер, типичные ошибки и проверка результата.

Ручной ввод десятков и сотен строк в документ 1С — поступление товаров, инвентаризацию, заказ поставщику — занимает часы и провоцирует ошибки. Загрузка табличной части из файла Excel решает эту задачу за минуты: данные из колонок таблицы переносятся в строки документа, а программа сама находит номенклатуру, контрагентов и другие ссылочные элементы.

Способ загрузки зависит от конфигурации. В типовых решениях на управляемых формах (УТ 11, ERP, КА, БП 3.0, УНФ) есть встроенные механизмы загрузки из внешних файлов. В старых и самописных конфигурациях используют универсальные обработки или обмен через буфер обмена. Ниже разобраны все рабочие варианты, их ограничения и способы проверить результат.

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

Главная причина неудачной загрузки — неподходящая структура файла. Обработки 1С читают таблицу построчно и ожидают, что каждая строка содержит одну загружаемую позицию, а каждая колонка — одно поле: артикул, наименование, количество, цену.

Перед загрузкой очистите файл: удалите шапку с логотипами и реквизитами, строки промежуточных итогов, пустые строки внутри данных. Разъедините объединённые ячейки — при чтении значение попадёт только в первую строку объединения, остальные будут пустыми. Числа должны быть числами, а не текстом: проверьте, что в колонках количества и цены нет пробелов-разделителей в текстовом формате.

Если загрузка ищет номенклатуру по артикулу или коду, убедитесь, что в файле нет дублей с разным написанием (лишние пробелы, разный регистр). Сохраните файл в формате XLSX — большинство современных обработок работают с ним напрямую, старые могут потребовать XLS или сохранение через «Табличный документ» в самой 1С.

Способ 1: типовая команда «Загрузить из внешнего файла»

В конфигурациях на управляемых формах в табличных частях документов и в списках справочников есть кнопка «Заполнить» или «Ещё», где доступна команда «Загрузить данные из файла» (в ряде документов — «Загрузить из внешнего файла»). Это самый безопасный путь: типовой механизм сам предложит сопоставить колонки и покажет, что будет загружено.

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

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

Способ 2: загрузка номенклатуры и цен через типовые обработки

Если нужно заполнить не документ, а справочник или регистр (например, цены номенклатуры), используйте встроенные обработки раздела «Покупки» или «НСИ и администрирование». В УТ 11 и ERP это «Загрузка данных из файла» в списке номенклатуры и обработка загрузки цен поставщиков.

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

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

Для конфигураций без типовой загрузки (старые релизы УТ 10.3, УПП, самописные решения) применяют внешнюю обработку «Загрузка данных из табличного документа» с диска ИТС или аналогичные универсальные загрузчики. Обработка открывается через «Файл → Открыть» и работает в толстом или тонком клиенте в зависимости от версии.

Порядок работы: выбираете объект загрузки (конкретный вид документа и его табличную часть либо справочник), открываете файл Excel, на закладке настройки сопоставляете номера колонок с реквизитами. Для ссылочных полей указываете, по какому реквизиту искать элемент — по коду, наименованию или артикулу. Затем нажимаете «Загрузить» и контролируете протокол.

Универсальные обработки гибче типовых: можно задавать вычисляемые выражения для колонок, загружать дополнительные реквизиты, создавать новые элементы справочников. Плата за гибкость — выше риск ошибки в настройке, поэтому первую загрузку всегда делайте на копии базы или в тестовом документе.

bsl
// Пример: программное чтение файла Excel через COM-объект
Excel = Новый COMОбъект("Excel.Application");
Книга = Excel.Workbooks.Open("C:\Данные\товары.xlsx");
Лист = Книга.Sheets(1);
Для Стр = 2 По Лист.UsedRange.Rows.Count Цикл
    Артикул = СокрЛП(Лист.Cells(Стр, 1).Value);
    Количество = Число(Лист.Cells(Стр, 2).Value);
    // поиск номенклатуры и добавление строки в табличную часть
КонецЦикла;
Excel.Quit();

Способ 4: вставка через буфер обмена

Для небольших объёмов — до нескольких десятков строк — файл можно вообще не сохранять. В ряде конфигураций табличные части поддерживают вставку из буфера обмена: выделяете диапазон в Excel, копируете (Ctrl+C), встаёте в табличную часть документа и нажимаете Ctrl+V или выбираете «Вставить строки» в контекстном меню.

Ограничение способа — колонки в Excel должны идти в том же порядке, что и видимые колонки табличной части, а ссылочные значения (номенклатура) будут искаться по наименованию или коду как текст. Если поиск не сработает, строка вставится с пустым значением. Способ подходит для простых табличных частей без обязательных ссылочных полей, например для ввода фактических количеств в инвентаризации, где строки уже созданы.

Сравнение вариантов загрузки

Типовая команда загрузки из файла

Подходит для УТ 11, ERP, КА, БП 3.0. Безопасна, есть сопоставление и контроль. Ограничение: только предусмотренные конфигурацией объекты.

Универсальная обработка

Подходит для любых конфигураций и объектов, гибкая настройка. Требует аккуратной настройки и теста на копии.

Буфер обмена

Быстро для небольших объёмов без сохранения файла. Не подходит для сложных табличных частей и больших таблиц.

Программная загрузка (обработка под заказ)

Для регулярных загрузок по фиксированному формату. Требует разработчика, но полностью автоматизирует процесс.

Как проверить результат и исправить ошибки

После загрузки не проводите документ сразу. Сначала сверьте количество строк в файле и в табличной части — расхождение означает, что часть строк не загрузилась или, наоборот, задвоилась. Затем проверьте итоговую сумму документа: она должна совпасть с итогом по колонке суммы в Excel.

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

Контрольные точки

Как проверить результат

Число строк
Норма

Совпадает с количеством строк данных в файле

Тревожный признак

Строк меньше (часть не загрузилась) или больше (дубли)

Итоговая сумма документа
Норма

Совпадает с итогом в Excel

Тревожный признак

Расхождение — проверяйте цены, количества и ставки НДС

Ссылочные поля
Норма

Во всех строках заполнена номенклатура/контрагент

Тревожный признак

Пустые поля или подставленные «не те» элементы

Дубли в справочнике
Норма

Новых элементов нет или созданы осознанно

Тревожный признак

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

Типичные ошибки
01
Загрузка файла с объединёнными ячейками и промежуточными итогами — строки смещаются, итоги попадают в документ как товары.
02
Неверное сопоставление колонок (цена вместо количества) — документ приходится очищать и загружать заново.
03
Поиск номенклатуры по наименованию при наличии дублей — строки привязываются не к тем элементам.
04
Числа как текст в Excel — количество загружается пустым или нулевым.
05
Загрузка сразу в рабочую базу без копии — ошибки массовой загрузки трудно откатить.

Когда стоит заказать собственную обработку загрузки

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

Такую обработку подключают через «Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки», и она появляется прямо в документе. Это же решение подходит, когда файл поставщика имеет сложную структуру: несколько листов, иерархия групп, данные в «шапке», которые нужно перенести в реквизиты документа.

Итог

Что важно запомнить

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

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

Что делать, если в документе нет кнопки «Загрузить из файла»?

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

Номенклатура не находится при загрузке, хотя она есть в базе. Почему?

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

Можно ли загрузить данные в уже проведённый документ?

Нет, сначала отмените проведение или распроведите документ. Учтите, что отмена проведения меняет движения по регистрам: если документ старый и период закрыт, безопаснее создать новый документ-корректировку и загрузить строки в него.

Файл большой, несколько тысяч строк. Загрузка зависает. Что делать?

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

Как загрузить табличную часть, если в файле цены с НДС, а в документе нужны без НДС?

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

Можно ли загружать из Excel в 1С:Бухгалтерию 8?

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