Заполнение табличных частей документов в 1С
Содержание
Табличная часть документа в 1С (строки с товарами, услугами, начислениями) заполняется пятью способами: вручную по строке, подбором из справочника, вставкой из буфера обмена Excel, загрузкой из файла и программно. Для десятка строк хватит ручного ввода и клавиши Ins, для сотен — подбора или вставки из Excel, для регулярных загрузок — обработки или встроенного языка.
Ниже — каждый способ с путями меню, горячими клавишами и границами применимости. Интерфейс описан для платформы 8.3 в режиме «Такси», конфигурации — «Бухгалтерия предприятия 3.0», «Зарплата и управление персоналом 3.1», «Управление торговлей 11». Командная панель таблицы и горячие клавиши работают одинаково во всех типовых решениях.
Коротко, какой способ под какую задачу:
| Способ | Когда применять | Объём строк |
|---|---|---|
| Ручной ввод | Данных нет в готовом виде, строк немного | единицы — десятки |
| Подбор | Нужна номенклатура из справочника, видны остатки и цены | десятки — сотни |
| Вставка из Excel | Данные уже в таблице, разовая загрузка | десятки — сотни |
| Загрузка из файла | Регулярные загрузки, пополнение справочников | сотни — тысячи |
| Автозаполнение по основанию | Таблица повторяет другой документ | любой |
| Программно (код) | Повтор по расписанию, обмен с внешней системой | любой |
Ручной ввод строк в табличную часть
Самый прямой путь. Открываете документ (например, Продажи → Реализация (акты, накладные, УПД)), встаёте на нужную таблицу — чаще всего она называется «Товары» или «Услуги».
Порядок действий:
- Нажмите кнопку Добавить (зелёный плюс) в командной панели таблицы или клавишу
Ins. Появится новая пустая строка. - Заполните ячейки. Переход между ними — клавишей
Tabвперёд иShift+Tabназад, подтверждение значения —Enter. - В ячейке-ссылке (Номенклатура, Контрагент) начните печатать название или код — система предложит варианты из справочника.
- Повторяйте для следующей строки.
Горячие клавиши командной панели таблицы:
Ins— добавить новую строку;F9— скопировать текущую строку в новую (удобно, когда меняется только количество);Del— удалить выделенную строку;Ctrl+Shift+↑/Ctrl+Shift+↓— переместить строку вверх или вниз.
Если строк много и часть реквизитов одинаковая (склад, счёт учёта, ставка НДС), заполните первую строку полностью, затем копируйте её через F9 — все поля перенесутся, останется поменять номенклатуру и количество.
Ручной ввод незаменим, когда строк немного или данные нигде не хранятся в готовом виде. Для больших таблиц переходите к следующим способам.
Подбор и быстрый ввод номенклатуры
Подбор — штатный инструмент для наполнения таблицы товаров, когда позиций много, а в Excel их нет. В командной панели таблицы «Товары» есть кнопка Подбор (в части документов она спрятана в меню Заполнить → Подбор).
Как работает:
- Нажмите Подбор — откроется форма выбора номенклатуры со списком и поиском.
- Двойным щелчком или кнопкой выбора добавляйте позиции. В торговых конфигурациях форма подбора сразу спрашивает количество и цену и показывает остатки на складе.
- Отобранные строки переносятся в документ одним нажатием кнопки Перенести в документ (в УТ 11) либо накапливаются по мере выбора.
Подбор удобен тем, что не закрывается после каждой позиции: можно набрать весь заказ за один проход, видя при этом остатки и цены. В УТ 11 в форме подбора доступен отбор по виду номенклатуры и свойствам, в «Бухгалтерии» — поиск по наименованию и артикулу.
Подбор добавляет строки к уже существующим, а не заменяет их. Повторный заход в подбор при той же номенклатуре создаст дубли строк — проверяйте таблицу после переноса.
Вставка данных из Excel через буфер обмена
Если данные уже лежат в Excel или Google Таблицах, их можно вставить прямо в таблицу 1С через буфер обмена — без отдельной обработки.
Порядок:
- В Excel выделите диапазон ячеек в том же порядке колонок, в каком они идут в табличной части 1С, и скопируйте (
Ctrl+C). - В документе 1С встаньте на первую строку таблицы (или добавьте пустую строку).
- Нажмите
Ctrl+Vлибо команду Вставить в меню командной панели таблицы.
1С распределяет вставленные значения по видимым колонкам слева направо. Поэтому колонки в Excel должны идти в том же порядке, что и в форме документа, а лишние столбцы в буфере сдвинут данные.
Отдельная сложность — колонки-ссылки. Номенклатуру, единицу измерения, склад система подставит из буфера только если текст в ячейке точно совпадает с наименованием или кодом из справочника. Любое расхождение (лишний пробел, другое написание) — и ячейка останется пустой либо 1С предложит создать новый элемент.
Перед массовой вставкой выгрузите из 1С эталонные наименования номенклатуры (через отчёт или список справочника с командой Еще → Вывести список) и используйте их в Excel. Тогда совпадение будет стопроцентным.
Числовые поля из Excel распознаются, если в них нет текстовых символов и разделитель разрядов соответствует настройкам. Суммы с пробелами-разделителями или форматом «текст» 1С может не принять — храните числа в Excel в числовом формате.
Этот способ быстрый для нескольких десятков-сотен строк. На тысячах позиций форма документа будет заметно подтормаживать при пересчёте итогов.
Загрузка строк из внешнего файла
Для регулярных и объёмных загрузок типовые конфигурации дают механизм загрузки из файла — без ручной вставки.
Два основных сценария:
Загрузка в справочники. Для «Номенклатуры» и «Контрагентов» в «Бухгалтерии предприятия 3.0» и УТ 11 есть универсальная загрузка: в списке справочника откройте меню Еще → Загрузить (или Загрузка из файла). Система принимает .xlsx, .ods или .mxl, показывает таблицу сопоставления и просит указать, какой столбец файла какому реквизиту соответствует. Это пополняет справочник, а уже оттуда данные попадают в документы подбором.
Загрузка в табличную часть документа. Отдельные документы имеют собственную команду загрузки. Например, в документах инвентаризации и переоценки в меню Заполнить встречается пункт загрузки табличной части из файла. Набор таких документов зависит от конфигурации и релиза — если команды в меню Заполнить или Еще нет, значит, для этого документа загрузка из файла типовым решением не предусмотрена, и остаётся вставка из Excel или обработка.
Общий порядок загрузки:
- Подготовьте файл со столбцами, которые ждёт 1С (скачайте шаблон, если форма его предлагает).
- Запустите команду загрузки, выберите файл.
- Сопоставьте колонки файла с реквизитами, запустите загрузку.
- Проверьте протокол — строки с ошибками сопоставления система выделит отдельно.
Групповое изменение реквизитов в списке
Когда заполнить нужно не одну таблицу, а один и тот же реквизит сразу в десятках документов или элементов справочника, помогает групповое изменение реквизитов.
В «Бухгалтерии предприятия 3.0» и других типовых решениях на базе БСП команда доступна прямо из списка:
- Откройте список документов или справочника.
- Выделите нужные строки (с зажатым
CtrlилиShift). - В командной панели откройте Еще → Изменить выделенные….
- Выберите реквизит и задайте новое значение. Обработка умеет менять в том числе реквизиты табличных частей — например, проставить одну ставку НДС или один счёт учёта во всех выбранных строках.
- Запустите изменение.
Этот инструмент правит уже существующие данные, а не добавляет строки. Он выручает, когда после загрузки обнаружилось, что во всех документах нужно поменять, например, склад или организацию.
Групповое изменение меняет данные без возможности отмены одним действием. Сначала проверьте результат на одном-двух объектах или на копии базы, а перед массовой правкой сделайте резервную копию.
Программное заполнение таблицы в режиме «Предприятие»
Когда данные приходят из другой системы или заполнение нужно повторять по расписанию, таблицу заполняют встроенным языком. В режиме «Предприятие» это делают через внешнюю обработку
(.epf), запускаемую командой Файл → Открыть, или через подсистему «Дополнительные отчёты и обработки».
Базовый шаблон добавления строк по циклу:
Для Каждого СтрокаИсточника Из ТаблицаИсточник Цикл
НоваяСтрока = Документ.Товары.Добавить();
НоваяСтрока.Номенклатура = СтрокаИсточника.Номенклатура;
НоваяСтрока.Количество = СтрокаИсточника.Количество;
НоваяСтрока.Цена = СтрокаИсточника.Цена;
КонецЦикла;
Метод Добавить() создаёт новую строку табличной части и возвращает её — дальше заполняете реквизиты по именам.
Если источник — таблица значений с теми же именами колонок, что и реквизиты табличной части, всю таблицу можно загрузить одним методом:
Документ.Товары.Загрузить(ТаблицаЗначений);
Метод Загрузить() заменяет текущее содержимое табличной части строками из таблицы значений, сопоставляя колонки по именам. Несовпадающие по имени колонки игнорируются.
Что учесть:
- Запуск внешних обработок требует прав администратора и разрешения на интерактивное открытие — в типовых базах это ограничивают настройками безопасности.
- Пишите только те методы и реквизиты, в существовании которых уверены для вашей конфигурации. Имена реквизитов табличной части смотрите в документе или в конфигураторе.
- После заполнения документ нужно записать и провести — само по себе изменение табличной части в памяти базу не меняет.
Для разовой выгрузки проще вставка из Excel. Код оправдан, когда загрузку повторяют регулярно или она идёт из внешнего источника без участия человека.
Автозаполнение таблицы по документу-основанию
Если таблица должна повторить содержимое другого документа, строки не вводят заново — их переносят автоматически. Два штатных пути.
Ввод на основании. Откройте документ-источник (например, «Заказ покупателя» или «Счёт»), нажмите кнопку Создать на основании и выберите нужный вид документа. 1С создаст новый документ и перенесёт в его табличную часть строки источника — номенклатуру, количество, цены. Останется проверить и провести. Так из заказа получают реализацию, из поступления — возврат поставщику, из счёта — реализацию.
Команда «Заполнить». Внутри открытого документа в командной панели таблицы есть меню Заполнить. Его состав зависит от документа: встречаются пункты «Заполнить по поступлению», «Заполнить остатками», «Заполнить по данным учёта». Они подтягивают строки из связанных данных без ручного ввода.
Автозаполнение по основанию сохраняет связь между документами. Это удобно для контроля: видно, по какому заказу сделана отгрузка и всё ли отгружено.
Если после автозаполнения в источнике изменились строки, перенос нужно повторить — задним числом таблица сама не обновляется.
Частые ошибки при заполнении таблиц
Проблемы почти всегда сводятся к нескольким типовым причинам.
Del и заходите в подбор один раз за документ.Отдельно про производительность: на таблицах в несколько тысяч строк форма пересчитывает итоги при каждом изменении и ощутимо тормозит. В таких случаях загрузку делают обработкой с отключённым интерактивным пересчётом, а не ручной вставкой.
Частые вопросы
Как скопировать строку в табличной части?
F9 либо команду Скопировать в командной панели таблицы. Создастся новая строка с теми же значениями — останется поправить отличающиеся поля.Можно ли вставить в таблицу данные сразу из нескольких тысяч строк Excel?
Почему при вставке из Excel не подставляется номенклатура?
Как быстро удалить все строки таблицы?
Ctrl+A в активной таблице) и нажмите Del. Если нужна полная очистка перед новой загрузкой — удобнее это делает программная загрузка методом Загрузить(), который замещает содержимое.Есть ли горячая клавиша для добавления строки?
Ins добавляет новую строку, F9 копирует текущую, Del удаляет. Эти клавиши работают в любой табличной части документа.