Справочники и Данные · 11 мин
Как заполнить табличную часть из Excel в 1С
Как загрузить табличную часть документа из Excel в 1С: типовые обработки, универсальная загрузка, копирование через буфер, типичные ошибки и проверка результата.
Ручной ввод десятков и сотен строк в документ 1С — поступление товаров, инвентаризацию, заказ поставщику — занимает часы и провоцирует ошибки. Загрузка табличной части из файла Excel решает эту задачу за минуты: данные из колонок таблицы переносятся в строки документа, а программа сама находит номенклатуру, контрагентов и другие ссылочные элементы.
Способ загрузки зависит от конфигурации. В типовых решениях на управляемых формах (УТ 11, ERP, КА, БП 3.0, УНФ) есть встроенные механизмы загрузки из внешних файлов. В старых и самописных конфигурациях используют универсальные обработки или обмен через буфер обмена. Ниже разобраны все рабочие варианты, их ограничения и способы проверить результат.
Как подготовить файл Excel к загрузке
Главная причина неудачной загрузки — неподходящая структура файла. Обработки 1С читают таблицу построчно и ожидают, что каждая строка содержит одну загружаемую позицию, а каждая колонка — одно поле: артикул, наименование, количество, цену.
Перед загрузкой очистите файл: удалите шапку с логотипами и реквизитами, строки промежуточных итогов, пустые строки внутри данных. Разъедините объединённые ячейки — при чтении значение попадёт только в первую строку объединения, остальные будут пустыми. Числа должны быть числами, а не текстом: проверьте, что в колонках количества и цены нет пробелов-разделителей в текстовом формате.
Если загрузка ищет номенклатуру по артикулу или коду, убедитесь, что в файле нет дублей с разным написанием (лишние пробелы, разный регистр). Сохраните файл в формате XLSX — большинство современных обработок работают с ним напрямую, старые могут потребовать XLS или сохранение через «Табличный документ» в самой 1С.
Способ 1: типовая команда «Загрузить из внешнего файла»
В конфигурациях на управляемых формах в табличных частях документов и в списках справочников есть кнопка «Заполнить» или «Ещё», где доступна команда «Загрузить данные из файла» (в ряде документов — «Загрузить из внешнего файла»). Это самый безопасный путь: типовой механизм сам предложит сопоставить колонки и покажет, что будет загружено.
- 1Откройте документ и перейдите на вкладку с нужной табличной частью (например, «Товары»).
- 2Нажмите «Заполнить» → «Загрузить из внешнего файла» или аналогичную команду в меню «Ещё».
- 3Укажите файл Excel и дождитесь, пока программа прочитает данные и покажет их в окне сопоставления.
- 4Назначьте соответствие колонок файла полям табличной части: номенклатура, количество, цена, ставка НДС.
- 5Проверьте строки, которые программа не смогла сопоставить, — они подсвечиваются. Исправьте или исключите их.
- 6Нажмите «Перенести в документ» и проверьте результат в табличной части.
Типовая загрузка ищет номенклатуру по штрихкоду, артикулу, коду или наименованию — порядок поиска можно менять в настройках формы загрузки. Если элемент не найден, в ряде конфигураций его можно создать прямо из формы загрузки, но делайте это осознанно: автоматическое создание по «сырому» наименованию из файла — частый источник дублей в справочнике.
Способ 2: загрузка номенклатуры и цен через типовые обработки
Если нужно заполнить не документ, а справочник или регистр (например, цены номенклатуры), используйте встроенные обработки раздела «Покупки» или «НСИ и администрирование». В УТ 11 и ERP это «Загрузка данных из файла» в списке номенклатуры и обработка загрузки цен поставщиков.
Логика та же: указываете файл, сопоставляете колонки, выбираете правило поиска существующих элементов, переносите данные. Для цен дополнительно задаётся вид цены и дата, на которую устанавливаются значения. После переноса обработка формирует документ установки цен — его нужно проверить и провести.
Способ 3: универсальная обработка «Загрузка данных из табличного документа»
Для конфигураций без типовой загрузки (старые релизы УТ 10.3, УПП, самописные решения) применяют внешнюю обработку «Загрузка данных из табличного документа» с диска ИТС или аналогичные универсальные загрузчики. Обработка открывается через «Файл → Открыть» и работает в толстом или тонком клиенте в зависимости от версии.
Порядок работы: выбираете объект загрузки (конкретный вид документа и его табличную часть либо справочник), открываете файл Excel, на закладке настройки сопоставляете номера колонок с реквизитами. Для ссылочных полей указываете, по какому реквизиту искать элемент — по коду, наименованию или артикулу. Затем нажимаете «Загрузить» и контролируете протокол.
Универсальные обработки гибче типовых: можно задавать вычисляемые выражения для колонок, загружать дополнительные реквизиты, создавать новые элементы справочников. Плата за гибкость — выше риск ошибки в настройке, поэтому первую загрузку всегда делайте на копии базы или в тестовом документе.
// Пример: программное чтение файла 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
Расхождение — проверяйте цены, количества и ставки НДС
Во всех строках заполнена номенклатура/контрагент
Пустые поля или подставленные «не те» элементы
Новых элементов нет или созданы осознанно
Появились дубли номенклатуры с похожими наименованиями
Когда стоит заказать собственную обработку загрузки
Если загрузка из Excel выполняется регулярно — например, ежедневно приходят заказы от менеджеров в одном и том же формате — ручное сопоставление колонок каждый раз отнимает время. В этом случае оправдана разработка внешней обработки под конкретный формат файла: пользователь нажимает одну кнопку, выбирает файл, а сопоставление колонок, поиск элементов и проверки уже зашиты в код.
Такую обработку подключают через «Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки», и она появляется прямо в документе. Это же решение подходит, когда файл поставщика имеет сложную структуру: несколько листов, иерархия групп, данные в «шапке», которые нужно перенести в реквизиты документа.
Что важно запомнить
Подготовьте файл: одна строка — одна позиция, без объединённых ячеек и итогов. Используйте типовую загрузку, если она есть; иначе — универсальную обработку или буфер обмена. Первый раз загружайте на копии базы, а результат сверяйте по числу строк и итоговой сумме до проведения документа.
Частые вопросы
Что делать, если в документе нет кнопки «Загрузить из файла»?
Проверьте права пользователя и меню «Ещё» табличной части — команда может быть скрыта. Если её нет в принципе, используйте универсальную обработку загрузки из табличного документа, вставку через буфер обмена или попросите разработчика добавить внешнюю обработку загрузки под ваш формат файла.
Номенклатура не находится при загрузке, хотя она есть в базе. Почему?
Чаще всего ищут по наименованию, а в файле оно отличается от карточки: лишние пробелы, другой регистр, сокращения. Переключите поиск на артикул, код или штрихкод — эти поля надёжнее. Если в файле только наименования, приведите их к виду карточек или добавьте в карточки синонимы через дополнительные реквизиты.
Можно ли загрузить данные в уже проведённый документ?
Нет, сначала отмените проведение или распроведите документ. Учтите, что отмена проведения меняет движения по регистрам: если документ старый и период закрыт, безопаснее создать новый документ-корректировку и загрузить строки в него.
Файл большой, несколько тысяч строк. Загрузка зависает. Что делать?
Убедитесь, что в файле нет лишних «пустых» строк с форматированием ниже данных — Excel считает их частью диапазона. Удалите их и сохраните файл заново. Если не помогает, разбейте файл на части по несколько тысяч строк и загружайте порциями, либо используйте серверную обработку вместо клиентской.
Как загрузить табличную часть, если в файле цены с НДС, а в документе нужны без НДС?
В типовых формах загрузки есть настройка «цена включает НДС» — укажите её до переноса данных, и программа сама пересчитает суммы. В универсальных обработках используйте вычисляемое выражение для колонки цены либо загрузите цену как есть и пересчитайте документ после загрузки, изменив флаг «Цена включает НДС».
Можно ли загружать из Excel в 1С:Бухгалтерию 8?
Да. В БП 3.0 загрузка из файла доступна в справочнике номенклатуры и в табличных частях ряда документов через кнопку «Загрузить». Для документов без такой команды применяют универсальные обработки или внешние загрузчики, а также обработку загрузки выписок и прайсов, если она подключена в базе.