Документы и Печать · 9 мин
Как скопировать табличную часть документа в другой документ в 1С
Как скопировать табличную часть документа в другой документ в 1С: буфер обмена, ввод на основании, загрузка из файла и программное копирование строк.
Задача перенести строки из одного документа в другой возникает постоянно: нужно повторить заказ с прошлой недели, оформить реализацию по списку товаров из счёта, собрать инвентаризацию по остаткам прошлого периода. В 1С есть несколько штатных способов это сделать — от простого копирования через буфер обмена до ввода на основании и программной обработки.
Выбор способа зависит от трёх условий: какие документы участвуют (одинаковый вид или разные), настроена ли между ними цепочка ввода на основании и есть ли у вас доступ к конфигуратору. Дальше разберём каждый вариант с конкретными действиями, ограничениями и способами проверки результата.
Копирование через буфер обмена
Это самый простой метод, который работает почти в любой конфигурации 1С:Предприятие 8.3 без доработок. Откройте документ-источник, кликните в табличную часть, выделите нужные строки: все — через Ctrl+A, отдельные — с зажатым Ctrl, диапазон — с зажатым Shift. Затем нажмите Ctrl+C или выберите «Копировать» в контекстном меню либо в меню «Ещё» табличной части.
Теперь создайте новый документ (или откройте существующий), кликните в его табличную часть и нажмите Ctrl+V. Строки вставятся вместе с номенклатурой, количеством, ценами и суммами. Если вставка не сработала, проверьте, активна ли табличная часть — курсор должен стоять именно в ней, а не в поле шапки документа.
Важное ограничение: копирование через буфер переносит только значения колонок, но не пересчитывает их по правилам нового документа. Если в новом документе другой тип цен, другая ставка НДС по умолчанию или другой склад — эти поля могут заполниться значениями из источника и исказить итоги.
- 1Откройте документ-источник и перейдите в табличную часть
- 2Выделите нужные строки (Ctrl+A — все, Ctrl — выборочно)
- 3Нажмите Ctrl+C
- 4Создайте или откройте документ-приёмник, кликните в его табличную часть
- 5Нажмите Ctrl+V и проверьте цены, ставки НДС и итоговую сумму
Ввод на основании — правильный способ для связанных документов
Если новый документ логически вытекает из старого — реализация из счёта, приходная накладная из заказа поставщику, — используйте кнопку «Создать на основании». Она есть в форме документа и в списке документов. Программа создаст новый документ и заполнит его по правилам, заложенным в конфигурацию: перенесёт контрагента, договор, табличную часть и установит связь между документами.
Преимущество метода в том, что перенос выполняется не «как есть», а по алгоритму: например, из заказа в реализацию подставятся актуальные цены из соглашения, а количество может быть уменьшено на уже отгруженное ранее. Кроме того, связанные документы образуют цепочку, которую видно в отчёте «Связанные документы» — это важно для контроля и аудита.
Если нужного вида документа нет в списке «Создать на основании», значит, в конфигурации не настроен такой ввод на основании. В типовых конфигурациях большинство хозяйственных цепочек предусмотрено, но для нестандартных сценариев связь добавляет программист в конфигураторе.
Копирование документа целиком
Когда нужно повторить документ полностью — с тем же контрагентом, складом и составом строк, — проще скопировать сам документ. В списке документов выделите нужный и нажмите F9, кнопку «Скопировать» на панели или пункт «Скопировать» в меню «Ещё». Откроется новый документ с текущей датой и заполненными реквизитами и табличной частью — отредактируйте его и проведите.
Этот способ удобен для повторяющихся операций: ежемесячных начислений, типовых заказов, регулярных перемещений. Но помните, что копируются все реквизиты, включая те, что могли устареть: договор, банковский счёт, ответственный. Перед проведением просмотрите шапку документа целиком.
Загрузка табличной части из файла
Если список строк находится не в другом документе, а в Excel или текстовом файле, используйте загрузку из табличного документа. Во многих типовых конфигурациях в меню «Заполнить» или «Ещё» табличной части есть команда «Заполнить из файла» или «Загрузить из внешнего файла». Понадобится обработка загрузки: в УТ 11 и ERP она встроена, в других конфигурациях часто используют типовую обработку «Загрузка данных из табличного документа» с диска ИТС.
Порядок такой: подготовьте файл с колонками (номенклатура или её артикул/код, количество, цена), откройте обработку загрузки, укажите файл, сопоставьте колонки файла полям табличной части и выполните загрузку. Обработка найдёт номенклатуру по коду, артикулу или наименованию и заполнит строки.
Главный риск — неоднозначный поиск номенклатуры. Если наименования в файле отличаются от справочника, часть строк не загрузится или подставится не та позиция. После загрузки сверьте количество строк и итоговую сумму с исходным файлом.
Программное копирование для разработчика
Когда штатных средств не хватает — например, нужно переносить строки регулярно, по кнопке или с пересчётом, — задачу решают кодом на встроенном языке. Типовой приём — обойти табличную часть источника и для каждой строки добавить строку в приёмник:
Для Каждого СтрокаИсточника Из ДокументИсточник.Товары Цикл
НоваяСтрока = ДокументПриемник.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаИсточника);
КонецЦикла;
Функция ЗаполнитьЗначенияСвойств переносит значения по совпадающим именам колонок, поэтому колонки, которых нет в приёмнике, просто игнорируются. Если имена колонок различаются или нужен пересчёт (например, перевести количество в другую единицу измерения), поля заполняют по одному.
Для внешних обработок, которые заполняют табличную часть по кнопке «Заполнить», используется механизм дополнительных отчётов и обработок (БСП) с видом «ЗаполнениеОбъекта». Это позволяет добавить свою команду в форму документа без изменения конфигурации — безопасный путь для типовых решений на поддержке.
Для Каждого СтрокаИсточника Из Источник.Товары Цикл
НоваяСтрока = Объект.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаИсточника);
КонецЦикла;Как проверить результат и какие ошибки встречаются чаще всего
После любого способа переноса сверьте три вещи: количество строк в источнике и приёмнике, итоговое количество по табличной части и итоговую сумму документа. Расхождение хотя бы по одному показателю означает, что часть строк потерялась или пересчиталась. Дополнительно убедитесь, что документ проводится без ошибок — незаполненные обязательные поля (склад, счета учёта, ставка НДС) программа покажет при проведении.
Как проверить результат
Совпадает с источником или ожидаемым списком
Строк меньше — часть не вставилась или не нашлась номенклатура
Совпадает с источником или обоснованно отличается из-за новых цен
Сумма изменилась без причины — проверьте цены и ставки НДС
Документ проводится без сообщений об ошибках
Ошибки о незаполненных полях — дозаполните реквизиты строк
Отдельная ситуация — копирование между разными информационными базами. Буфер обмена здесь не поможет: вставка сработает только если конфигурации идентичны, и то не всегда. Для переноса между базами используют выгрузку в файл и загрузку на другой стороне либо типовые механизмы обмена (синхронизацию данных, EnterpriseData).
Частые вопросы
Почему Ctrl+V не вставляет строки в табличную часть?
Чаще всего курсор стоит не в табличной части, а в поле шапки — кликните мышью непосредственно в список строк документа-приёмника. Также проверьте, что документ открыт на редактирование, а не только на просмотр, и что табличная часть не заполняется автоматически обработкой, которая блокирует ручное изменение.
Можно ли скопировать строки из документа одного вида в документ другого вида?
Через буфер обмена — только если табличные части совместимы по составу колонок, иначе вставка не сработает или перенесётся частично. Надёжнее использовать «Создать на основании», а если такой связи нет — загрузку через файл или программную обработку.
Как скопировать только часть строк, например по одному поставщику?
Отсортируйте или отфильтруйте табличную часть через настройку списка (меню «Ещё» → «Настроить список» в форме документа либо сортировка по колонке), затем выделите нужные строки мышью с зажатой клавишей Ctrl и скопируйте их. Либо скопируйте всё и удалите лишнее уже в новом документе.
Перенесутся ли серии и характеристики номенклатуры при копировании?
При копировании документа целиком (F9) — да, серии и характеристики копируются вместе со строками. При вставке через буфер обмена поведение зависит от конфигурации: характеристики обычно переносятся, а серии часто требуют повторного заполнения, так как они привязаны к складу и дате. Всегда проверяйте эти поля в новом документе.
Как автоматизировать регулярное копирование строк без программиста?
Если состав строк повторяется, создайте документ-шаблон и копируйте его клавишей F9 каждый раз. Некоторые конфигурации поддерживают сохранение вариантов заполнения или подбор из сохранённых списков. Полностью автоматическое заполнение по расписанию без доработки возможно только через механизм дополнительных обработок заполнения.
Что важно запомнить
Для разового переноса строк используйте буфер обмена (Ctrl+C / Ctrl+V), для связанных документов — ввод на основании, для повторения документа — копирование через F9, для списков из Excel — загрузку из файла. После любого способа сверяйте количество строк, итоговую сумму и проверяйте проведение: скопированные цены, ставки НДС и реквизиты шапки могли устареть.