Перенос строк табличной части между документами 1С: шесть рабочих способов
Содержание
Чтобы скопировать несколько строк документа 1С и вставить их в другой документ, выделите строки в табличной части (Shift или Ctrl + клик), откройте меню Ещё над таблицей и выберите команду копирования строк. Затем откройте документ-получатель, встаньте в ту же табличную часть и через Ещё выполните вставку строк. Так работают 1С:Бухгалтерия 3.0, Управление торговлей 11 и другие типовые конфигурации в интерфейсе «Такси».
Если таких команд в вашей базе нет, строки переносят иначе: копированием всего документа, вводом на основании, через подбор или через таблицу Excel. Ниже каждый способ с условиями, когда он подходит, а когда лучше взять другой.
Что проверить до копирования строк
Перенос строк — операция быстрая, но ошибки в ней всплывают позже, в проводках и остатках. Перед стартом проверьте четыре вещи.
- 📄 Документ-получатель открыт на редактирование. Если он проведён в закрытом периоде, вставка либо не пройдёт, либо не сохранится.
- 🧾 Табличная часть та же по смыслу. Товары вставляйте в «Товары», услуги — в «Услуги». У этих таблиц разный набор колонок.
- 🏢 Организация и склад совпадают. Счета учёта и ставки НДС в строках могут подтянуться из настроек исходного документа, а не получателя.
- 💰 Тип цен. Цены в скопированных строках остаются такими, какими были в источнике. Если в новом документе другой тип цен или валюта, суммы придётся пересчитать.
Если строк больше двадцати и документ-получатель новый, сначала подумайте о копировании всего документа целиком. Это одно действие вместо трёх.
Как скопировать строки документа через меню табличной части
Это основной способ для пользователя без прав администратора. Данные хранятся внутри программы, а не в буфере обмена Windows. Поэтому вставить строки можно только в той же информационной базе.
Пошагово
- Откройте документ-источник, например «Поступление (акты, накладные, УПД)».
- Перейдите на вкладку с нужной табличной частью.
- Выделите строки:
Shift+ клик — диапазон подряд,Ctrl+ клик — отдельные строки,Ctrl+A— все. - Нажмите
Ещёв командной панели таблицы и выберите команду копирования строк. В БП 3.0 и УТ 11 она есть и в виде кнопки с иконкой на панели над таблицей. - Откройте или создайте документ-получатель.
- Встаньте в ту же табличную часть и через
Ещёвыберите вставку строк. - Проверьте суммы, ставки НДС и счета учёта в новых строках, затем нажмите
Записать.
Новые строки добавляются в конец таблицы. Существующие строки не затираются.
Как поставить вставленные строки на нужное место
Если порядок строк важен, например для печатной формы накладной, выделите вставленные строки и сдвиньте их кнопками со стрелками вверх и вниз на панели над таблицей. Номера в колонке «N» пересчитаются сами.
Удалить лишнюю строку можно клавишей Delete или через Ещё. Удаление строки в непроведённом документе ни на что не влияет, а в проведённом вступит в силу только после перепроведения.
Чем это отличается от Ctrl+C
Стандартное сочетание Ctrl+C в таблице 1С копирует текст выделенных ячеек в буфер Windows. Такой текст хорошо вставляется в Excel или письмо. А вот вставить его обратно в табличную часть как строки нельзя: Ctrl+V в ячейке вставит текст только в одно поле.
| Действие | Куда попадают данные | Можно вставить в документ 1С |
|---|---|---|
Ctrl+C по строкам | Буфер Windows, как текст | Нет, только в Excel и редакторы |
| Команда копирования строк | Внутреннее хранилище программы | Да, в ту же базу |
| Вывод списка в табличный документ | Отдельное окно с таблицей | Через загрузку из файла |
Если в меню Ещё команд копирования строк нет, у вас старый релиз или доработанная конфигурация. Обновитесь или используйте способы ниже.
Подбор номенклатуры вместо копирования строк
Иногда копировать строки не нужно вовсе. Если в другом документе требуется та же номенклатура, но с другим количеством или ценой, быстрее набрать её подбором.
- В табличной части документа-получателя нажмите
Подбор. - Найдите позиции через строку поиска или по группам справочника.
- Двойным щелчком добавьте каждую позицию в нижнюю часть формы, укажите количество.
- Нажмите
Перенести в документ.
В УТ 11 и Рознице в форме подбора видны остатки и цены. Это удобно, когда переносимые позиции нужно сразу проверить по складу.
Когда подбор лучше копирования:
- ✅ меняется количество в большинстве строк;
- ✅ нужны цены из нового типа цен, а не из старого документа;
- ✅ строки разбросаны по нескольким документам-источникам.
Когда хуже: если строк много и они должны совпасть один в один, вместе с характеристиками, сериями и номерами ГТД. Подбор их не перенесёт.
Перенос строк через Excel: выгрузить и загрузить обратно
Способ подходит, когда строки надо поправить массово перед вставкой: заменить цены, удалить часть позиций, добавить данные из другой таблицы.
Выгрузка из документа
- В табличной части нажмите
Ещё → Вывести список.... - Отметьте колонки, которые нужны. Обязательно оставьте номенклатуру, количество и цену.
- Нажмите
ОК. Откроется табличный документ. - Сохраните его в формате
.xlsxчерез меню сохранения или кнопку с дискетой.
Загрузка в другой документ
В БП 3.0 и УТ 11 у табличных частей «Товары» есть команда загрузки из файла. Ищите её на командной панели таблицы или в меню Ещё.
- Откройте форму загрузки в документе-получателе.
- Скопируйте диапазон из Excel и вставьте его в таблицу формы
Ctrl+V. Или выберите файл. - Сопоставьте колонки: какая из них — номенклатура, какая — количество, какая — цена.
- Программа найдёт номенклатуру по наименованию, артикулу или штрихкоду. Позиции, которые не нашлись, она покажет отдельно.
- Нажмите перенос в документ.
Номенклатура сопоставляется по тексту. Если в справочнике два товара с одинаковым наименованием, программа может выбрать не тот. Проверяйте по артикулу.
Перед загрузкой приведите таблицу в порядок. Уберите строку итогов внизу, объединённые ячейки и пустые строки между позициями. Числа в колонках количества и цены должны быть числами, а не текстом с пробелами: иначе программа загрузит нули. Если в Excel несколько единиц измерения, добавьте их отдельной колонкой и сопоставьте при загрузке.
Внешние печатные формы для этой задачи не нужны: печатная форма выводит данные на экран, но не создаёт строки в другом документе. Excel здесь — промежуточная таблица, а не печать.
Копирование строк между документами разных видов
Когда документ-получатель другого вида, команда вставки строк срабатывает только по колонкам с одинаковыми именами. Номенклатура, количество, цена и сумма обычно совпадают. Счета учёта, ставки НДС, склад и подразделение могут отличаться.
Какой способ выбрать
| Ситуация | Способ | Что учесть |
|---|---|---|
| Нужен такой же документ, но на другую дату или контрагента | Копирование документа (F9 или кнопка копирования в списке) | Скопируются все строки и реквизиты шапки; поменяйте дату, номер присвоится новый |
| Счёт покупателю → реализация | Создание на основании (Создать на основании в документе или списке) | Строки перенесутся с учётом вида операции, связь документов сохранится |
| Поступление → возврат поставщику | Создание на основании | Количество можно уменьшить; строки, которые не возвращаете, удалите |
| Часть строк из одного документа в другой, уже заполненный | Команды копирования и вставки строк | Проверьте счета учёта и НДС в новых строках |
| Строки из нескольких документов в один | Вставка по очереди из каждого источника или Excel | Одинаковая номенклатура может задвоиться — сгруппируйте вручную |
Копирование всего документа
Выделите документ в журнале и нажмите F9. Откроется новый документ со всеми строками. Удалите лишние строки, поменяйте шапку и запишите.
Копия создаётся непроведённой. Если провести её в рабочей базе по ошибке, движения задвоятся: удвоятся остатки, выручка или задолженность. Ненужную копию сразу пометьте на удаление.
Создание на основании
Этот способ надёжнее ручной вставки при смене вида документа. Программа сама расставит счета учёта и виды операций по правилам своей конфигурации. Плюс в структуре подчинённости появится связь, которую увидит проверяющий.
💡 Если нужный вид документа отсутствует в списке Создать на основании, значит, конфигурация не предусматривает такой ввод. Тогда переходите к командам копирования строк.
Мини-пример: доукомплектовать отгрузку
Покупателю отгрузили 40 позиций одной реализацией. Через неделю он доплатил и попросил ещё 6 позиций из того же списка, в другом количестве. Удобнее всего так:
- В первой реализации выделите 6 нужных строк через
Ctrl+ клик и скопируйте их командой табличной части. - Создайте новую реализацию на того же контрагента и по тому же договору.
- Вставьте строки и поправьте количество в каждой.
- Проверьте итог: если цены не менялись, сумма должна совпасть с выставленным счётом.
Копировать весь документ через F9 здесь невыгодно: пришлось бы удалить 34 строки вместо того, чтобы вставить 6.
Почему строки не копируются или не сохраняются
Чаще всего проблема не в самой вставке, а в том, что документ нельзя изменить. Проверяйте по симптомам.
Администрирование, в настройках прав пользователей и групп. Перенесите строки в документ открытого периода или попросите ответственного временно сдвинуть дату.Ещё, или вручную.Права на копирование строк отдельно не настраиваются. Если пользователь может редактировать документ, он может и вставить в него строки.
Массовый перенос строк обработкой
Когда переносить нужно регулярно, например каждый месяц собирать строки из десятка документов в один, ручная работа становится узким местом. Готовой типовой обработки «перенос строк между документами» в БП 3.0 нет. Есть два пути.
Групповое изменение реквизитов
Типовая обработка Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитов меняет значения в уже существующих строках многих документов сразу. Например, ставку НДС или счёт учёта. Новые строки она не создаёт, но после ручного копирования помогает быстро поправить колонки.
Своя внешняя обработка или расширение
Программист пишет обработку, которая берёт выбранные документы-источники и добавляет их строки в получатель. Основа кода — пара строк:
Приемник = ДокументПриемник.ПолучитьОбъект();
Для Каждого СтрИсточника Из ДокументИсточник.Товары Цикл
НоваяСтрока = Приемник.Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрИсточника);
КонецЦикла;
Приемник.Записать(РежимЗаписиДокумента.Запись);
ЗаполнитьЗначенияСвойств копирует колонки с одинаковыми именами. Колонки, которых нет в источнике, останутся пустыми. Поэтому в рабочей обработке после цикла дописывают заполнение счетов учёта и пересчёт сумм НДС теми же процедурами, которые вызывает форма документа.
Перед первым запуском обработки на рабочей базе сделайте резервную копию и проверьте результат на копии базы. Обработка записывает документы без участия пользователя и может изменить десятки документов за раз.
Если конфигурация на поддержке и вы не хотите снимать её с замка, оформляйте доработку расширением. Оно не мешает обновлениям.