Копирование технического задания и задач в 1С: от F9 до Конфигуратора

· 9 мин

Содержание

Чтобы скопировать ТЗ (техническое задание, оформленное в 1С как задача, документ или элемент справочника), выделите его в списке и нажмите F9 либо команду создания копированием в командной панели. Программа создаст новый объект со всеми реквизитами и табличными частями исходного — кроме уникальных: номер и дата присвоятся новые.

Это ответ для самого частого случая, когда ТЗ ведут прямо в базе и нужен такой же новый документ. Но «скопировать ТЗ» понимают по-разному: перенести несколько заданий в другую базу, продублировать сам объект конфигурации типа «Задача» или скопировать таблицу значений в коде. Способ в каждом случае свой, и ниже разобраны все четыре.

Что вы хотите скопировать?

Где в базе лежит техническое задание

От того, как у вас хранится ТЗ, зависит способ копирования. Вариантов немного.

  • 📄 Как документ или элемент справочника. Чаще всего ТЗ заводят отдельным документом или карточкой в справочнике — со своими реквизитами, таблицей этапов и вложенными файлами.
  • ✅ Как задача бизнес-процесса. В конфигурациях с подсистемой задач и бизнес-процессов (например, 1С:Документооборот) задание — это объект «Задача», привязанный к маршруту согласования.
  • 🗂 Как вложенный файл. Текст ТЗ лежит в прикреплённом файле Word или PDF, а в базе хранится только карточка-ссылка на него.
  • 🧩 Как таблица значений в коде. Для разработчика «ТЗ» — это чаще «таблица значений», временная структура в памяти, которую копируют методом объекта.

Определите свой случай — и выбирайте способ. Для первых трёх вариантов работает копирование в режиме «1С:Предприятие», для последнего — код.

Копирование одной задачи или документа командой F9

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

  1. Откройте список, где лежит нужное ТЗ.
  2. Выделите строку с исходным заданием (один клик по строке).
  3. Нажмите F9 или найдите в командной панели списка команду создания нового элемента копированием текущего (значок с двумя листами).
  4. Откроется новая карточка, уже заполненная данными исходной.
  5. Поправьте, что нужно, и запишите.

Что переносится в копию, а что нет:

ПереноситсяПрисваивается заново
Реквизиты шапки (кроме номера и даты)Номер документа
Строки табличных частей (этапы, задачи)Дата документа
Текстовые поля, описание, ответственныйСтатус проведения (копия не проведена)

Копия документа создаётся непроведённой. Движений по регистрам у неё нет, пока вы её не проведёте. Это удобно: можно спокойно отредактировать задание и провести уже готовое.

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

Не путайте копирование с вводом на основании. Команда F9 делает такой же объект того же вида. А ввод на основании (команда «Создать на основании» в карточке или списке) создаёт документ другого вида, переносит в него подходящие данные источника и оставляет ссылку на основание. Если из технического задания нужно сформировать, скажем, заказ или акт — это ввод на основании, а не копирование.

Массовый перенос ТЗ: выгрузка и загрузка данных

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

Для переноса между одинаковыми конфигурациями подойдёт обработка «Выгрузка и загрузка данных XML». Она не входит в состав типовой базы как пункт меню — её подключают как внешнюю обработку (меню Файл → Открыть в режиме «1С:Предприятие», файл с расширением .epf).

Порядок работы:

  1. В базе-источнике откройте обработку выгрузки.
  2. Отметьте объекты для переноса — нужные документы ТЗ и связанные с ними справочники.
  3. Сохраните результат в файл выгрузки .xml.
  4. В базе-приёмнике откройте парную обработку загрузки и укажите этот файл.

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

Перед массовым переносом ТЗ
Выполнено: 0 / 5

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

Если задача разовая и объектов всего несколько — быстрее скопировать каждый командой F9, чем настраивать выгрузку.

Копирование объекта конфигурации в Конфигураторе

Это уже не про данные, а про разработку: когда нужно сделать новый вид документа или справочника на базе существующего. Такое копирование выполняют в Конфигураторе, в дереве метаданных.

  1. Откройте базу в Конфигураторе (запуск с правами на изменение конфигурации).
  2. В дереве конфигурации найдите нужный объект — документ, справочник или объект типа «Задача».
  3. Выделите его и нажмите Ctrl+C, затем Ctrl+V.
  4. Платформа создаст копию и добавит к её имени цифровой суффикс, чтобы имя осталось уникальным.
  5. Переименуйте копию, настройте реквизиты и формы под новую задачу.

Копия объекта метаданных забирает с собой реквизиты, табличные части, макеты и формы исходника. А вот программный код в модулях иногда ссылается на имя исходного объекта — после копирования модули стоит просмотреть и поправить имена.

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

Выгрузка ТЗ во внешний файл: текст, таблица, печать

Иногда «скопировать ТЗ» значит вынести его наружу — переслать по почте, положить в папку проекта, открыть в Word или Excel. Для этого данные выгружают во внешний файл.

  • Печатная форма → таблица. Сформируйте печать документа и сохраните табличный документ через Файл → Сохранить как… в формате .xlsx (Excel), .mxl (внутренний формат 1С) или .pdf.
  • Текст из поля. Содержимое текстового поля (описание, требования) можно выделить и скопировать в буфер обычным Ctrl+C, а затем вставить в Word.
  • Вложенный файл. Если текст ТЗ лежит прикреплённым файлом, откройте карточку вложения и сохраните файл на диск командой выгрузки/сохранения.
  • Список целиком. Из любого списка 1С таблицу строк можно вывести в табличный документ командой вывода списка в командной панели (значок таблицы) и дальше сохранить в Excel.

Этот способ не создаёт копию внутри базы — он делает внешний документ, с которым дальше работают вне 1С. Учтите: файл .mxl открывается только в 1С, поэтому для пересылки коллеге без программы выбирайте .xlsx или .pdf. Табличный документ можно сохранить и из контекстного меню области печати, не только через Файл → Сохранить как….

Копирование таблицы значений в коде

Для разработчика «ТЗ» — это таблица значений. Копируют её методом Скопировать(). Он возвращает новую таблицу значений, независимую от исходной: менять одну можно, не задевая другую.

// Полная копия таблицы значений
НоваяТаблица = ИсходнаяТаблица.Скопировать();

Метод умеет копировать не всю таблицу, а только нужные строки и колонки. Первым параметром передают отбор строк, вторым — список колонок:

// Копия только строк с видом "Этап" и только двух колонок
Отбор = Новый Структура("Вид", "Этап");
НоваяТаблица = ИсходнаяТаблица.Скопировать(Отбор, "Наименование, Срок");

Присваивание Таблица2 = Таблица1 копию не создаёт — обе переменные будут ссылаться на один и тот же объект, и правка одной отразится на другой. Копию делает именно метод Скопировать().

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

Если таблицу значений нужно сохранить между сеансами или передать с сервера на клиент, её помещают во временное хранилище (ПоместитьВоВременноеХранилище) или сериализуют — но это уже отдельная задача, не копирование. Для копирования же в пределах одного вызова достаточно метода Скопировать().

Как не наплодить дубли при копировании

Главный риск копирования командой F9 — размножение почти одинаковых документов и элементов справочников. Платформа не мешает создать две карточки с одним названием: уникальным платформа держит только внутренний идентификатор, а не наименование.

Чтобы дублей не было:

  • ✏️ Сразу после копирования меняйте наименование и ключевые реквизиты, чтобы копию нельзя было спутать с оригиналом.
  • 🔢 Если в объекте есть код или артикул, проверьте, что он уникален — скопированный элемент справочника может получить тот же код.
  • 🔗 Проверяйте связанные справочники: при копировании документа ссылки ведут на те же контрагентов и проекты, новых не создаётся.

Если дубли уже появились, в конфигурациях на базе Библиотеки стандартных подсистем есть обработка «Поиск и удаление дублей». Её вызывают через меню Все функции → Стандартные → Поиск и удаление дублей (пункт «Все функции» включается в настройках программы). Обработка находит похожие элементы и позволяет оставить один, а ссылки с остальных перенести на него.

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

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

Сохранятся ли вложенные файлы, если скопировать задачу через F9?
Не всегда. Реквизиты и табличные части копируются, а присоединённые файлы в большинстве конфигураций хранятся отдельно и к копии автоматически не привязываются. Проверьте вкладку присоединённых файлов в новой карточке и при необходимости приложите файлы заново.
Почему скопированный документ сохранился с новым номером и датой?
Так и задумано. Номер и дата — уникальные реквизиты документа, платформа присваивает их заново, иначе в базе было бы два документа с одним номером. Все остальные поля берутся из исходного.
Можно ли скопировать ТЗ из одной базы в другую?
Напрямую через F9 — нет, команда работает внутри одной базы. Для переноса между базами с одинаковой конфигурацией используют выгрузку и загрузку данных в XML, а для разных конфигураций — настроенный обмен или ручное создание документа в базе-приёмнике.
Чем копирование элемента отличается от копирования объекта в Конфигураторе?
Это разные уровни. Копирование F9 создаёт новую запись-данные (ещё один документ того же вида). Копирование в Конфигураторе создаёт новый вид объекта — новый тип документа или справочника, которого в конфигурации не было.
Как скопировать только часть строк таблицы значений в коде?
Передайте в метод Скопировать() отбор строк первым параметром и перечень колонок вторым: Таблица.Скопировать(Отбор, "Колонка1, Колонка2"). Вернётся новая таблица только с нужными строками и колонками.
Копия документа создаётся проведённой или нет?
Непроведённой. Копия записывается как черновик без движений по регистрам. Проведите её вручную, когда проверите данные, — тогда и сформируются движения.
Почему после копирования элемента справочника у него тот же код?
Платформа контролирует уникальность по внутреннему идентификатору, а не по коду, поэтому код у копии может совпасть с исходным. Проверьте и при необходимости задайте новый код вручную или командой перенумерации.