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

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

Как загрузить данные в табличную часть 1С

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

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

Способ загрузки зависит от вашей конфигурации и прав доступа. В типовых решениях на управляемых формах (Управление торговлей, ERP, Комплексная автоматизация, Бухгалтерия 3.0) часто есть штатные кнопки «Заполнить» и «Загрузить из внешнего файла». Если их нет или нужен нестандартный формат, используют универсальную обработку «Загрузка данных из табличного документа» либо пишут программную загрузку на встроенном языке.

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

Что нужно подготовить перед загрузкой

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

Файл подготовьте в Excel и сохраните в формате XLSX, либо в CSV (разделитель — точка с запятой), либо скопируйте данные в буфер обмена. Номенклатуру лучше указывать по коду или артикулу: поиск по наименованию ненадёжен, потому что одно и то же название может быть записано по-разному. Если в базе ведётся учёт по характеристикам или сериям, добавьте соответствующие колонки.

Убедитесь, что в файле нет объединённых ячеек, промежуточных итогов, пустых строк в середине данных и формул, возвращающих текст вместо чисел. Числовые поля должны содержать только цифры: буква «О» вместо нуля или пробел внутри числа приведут к ошибке или к загрузке нуля.

Способ 1. Штатная загрузка из Excel в типовых конфигурациях

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

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

Загрузка через буфер обмена

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

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

Способ 2. Универсальная обработка загрузки из табличного документа

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

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

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

Способ 3. Программная загрузка через встроенный язык

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

Типовой фрагмент кода выглядит так:

ДокументОбъект = Документы.РеализацияТоваровУслуг.НайтиПоНомеру(НомерДок, ДатаДок).ПолучитьОбъект();

Для Каждого СтрокаФайла Из ДанныеФайла Цикл

НоваяСтрока = ДокументОбъект.Товары.Добавить();

НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СтрокаФайла.Код);

НоваяСтрока.Количество = Число(СтрокаФайла.Количество);

НоваяСтрока.Цена = Число(СтрокаФайла.Цена);

КонецЦикла;

ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);

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

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

bsl
НоваяСтрока = ДокументОбъект.Товары.Добавить();
НоваяСтрока.Номенклатура = НайденнаяНоменклатура;
ДокументОбъект.Записать();

Сравнение способов загрузки

КритерийШтатная загрузкаУниверсальная обработкаПрограммный код
Нужны навыки разработкиНетНетДа
Поддерживаемые объектыТолько предусмотренные конфигурациейПочти любые документы и справочникиЛюбые
Гибкость настройкиНизкаяСредняяВысокая
Регулярное использованиеУдобноУдобноМожно автоматизировать по расписанию
Риск ошибокМинимальныйСредний (зависит от настройки)Зависит от качества кода

Какой способ выбрать

Штатная кнопка загрузки

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

Обработка загрузки из табличного документа

Подходит для нестандартных объектов и справочников; требует аккуратной настройки соответствия колонок

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

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

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

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

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

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

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

Количество строк
Норма

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

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

Строк меньше — часть позиций не распознана; больше — возможны дубли

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

Совпадает с итогом по файлу

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

Расхождение — ошибка в ценах, количествах или сопоставлении колонок

Заполнение реквизитов строк
Норма

Номенклатура, количество, ставка НДС заполнены во всех строках

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

Пустые поля — документ не проведётся или попадёт в отчёты с ошибками

Типичные ошибки и ограничения

Чаще всего загрузка ломается из-за поиска номенклатуры по наименованию: в файле «Болт М8х40», а в базе «Болт М8×40 ГОСТ» — совпадения нет, строка пропускается или создаётся дубль. Решение — использовать код, артикул или штрихкод как ключ поиска.

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

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

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

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

Можно ли загрузить табличную часть из CSV-файла?

Да. Большинство штатных механизмов и универсальная обработка понимают CSV с разделителем «точка с запятой». Сохраняйте файл в кодировке UTF-8, иначе кириллица может отобразиться некорректно. Если загрузчик не видит файл, откройте CSV в Excel и пересохраните как XLSX.

Что делать, если часть строк не загрузилась?

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

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

Штатные кнопки в справочниках встречаются редко, поэтому используйте обработку «Загрузка данных из табличного документа»: в ней выберите вид справочника и нужную табличную часть (например, «Единицы измерения» у номенклатуры). Логика сопоставления колонок та же, что и для документов.

Можно ли загрузить данные с характеристиками и сериями номенклатуры?

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

Нужны ли особые права для загрузки через внешнюю обработку?

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

Как отменить ошибочную загрузку?

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

Итог

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

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