Копирование технического задания и задач в 1С: от F9 до Конфигуратора
Содержание
Чтобы скопировать ТЗ (техническое задание, оформленное в 1С как задача, документ или элемент справочника), выделите его в списке и нажмите F9 либо команду создания копированием в командной панели. Программа создаст новый объект со всеми реквизитами и табличными частями исходного — кроме уникальных: номер и дата присвоятся новые.
Это ответ для самого частого случая, когда ТЗ ведут прямо в базе и нужен такой же новый документ. Но «скопировать ТЗ» понимают по-разному: перенести несколько заданий в другую базу, продублировать сам объект конфигурации типа «Задача» или скопировать таблицу значений в коде. Способ в каждом случае свой, и ниже разобраны все четыре.
F9 — создастся копия с новым номером.Скопировать() у таблицы значений.Где в базе лежит техническое задание
От того, как у вас хранится ТЗ, зависит способ копирования. Вариантов немного.
- 📄 Как документ или элемент справочника. Чаще всего ТЗ заводят отдельным документом или карточкой в справочнике — со своими реквизитами, таблицей этапов и вложенными файлами.
- ✅ Как задача бизнес-процесса. В конфигурациях с подсистемой задач и бизнес-процессов (например, 1С:Документооборот) задание — это объект «Задача», привязанный к маршруту согласования.
- 🗂 Как вложенный файл. Текст ТЗ лежит в прикреплённом файле Word или PDF, а в базе хранится только карточка-ссылка на него.
- 🧩 Как таблица значений в коде. Для разработчика «ТЗ» — это чаще «таблица значений», временная структура в памяти, которую копируют методом объекта.
Определите свой случай — и выбирайте способ. Для первых трёх вариантов работает копирование в режиме «1С:Предприятие», для последнего — код.
Копирование одной задачи или документа командой F9
Самый быстрый способ продублировать задание — встроенная команда копирования. Она есть в любом списке: документов, справочников, задач.
- Откройте список, где лежит нужное ТЗ.
- Выделите строку с исходным заданием (один клик по строке).
- Нажмите
F9или найдите в командной панели списка команду создания нового элемента копированием текущего (значок с двумя листами). - Откроется новая карточка, уже заполненная данными исходной.
- Поправьте, что нужно, и запишите.
Что переносится в копию, а что нет:
| Переносится | Присваивается заново |
|---|---|
| Реквизиты шапки (кроме номера и даты) | Номер документа |
| Строки табличных частей (этапы, задачи) | Дата документа |
| Текстовые поля, описание, ответственный | Статус проведения (копия не проведена) |
Копия документа создаётся непроведённой. Движений по регистрам у неё нет, пока вы её не проведёте. Это удобно: можно спокойно отредактировать задание и провести уже готовое.
Для задачи бизнес-процесса копирование через F9 создаёт новый объект «Задача», но копия не наследует позицию в маршруте бизнес-процесса — она не привязана к исходному процессу согласования. Если вам нужна именно новая итерация маршрута, запускайте бизнес-процесс заново, а не копируйте задачу.
Не путайте копирование с вводом на основании. Команда F9 делает такой же объект того же вида. А ввод на основании (команда «Создать на основании» в карточке или списке) создаёт документ другого вида, переносит в него подходящие данные источника и оставляет ссылку на основание. Если из технического задания нужно сформировать, скажем, заказ или акт — это ввод на основании, а не копирование.
Массовый перенос ТЗ: выгрузка и загрузка данных
Штатной команды «скопировать пачку документов одним нажатием» в типовых конфигурациях нет. Когда заданий много или их нужно перенести в другую базу, используют выгрузку данных в файл.
Для переноса между одинаковыми конфигурациями подойдёт обработка «Выгрузка и загрузка данных XML». Она не входит в состав типовой базы как пункт меню — её подключают как внешнюю обработку
(меню Файл → Открыть в режиме «1С:Предприятие», файл с расширением .epf).
Порядок работы:
- В базе-источнике откройте обработку выгрузки.
- Отметьте объекты для переноса — нужные документы ТЗ и связанные с ними справочники.
- Сохраните результат в файл выгрузки
.xml. - В базе-приёмнике откройте парную обработку загрузки и укажите этот файл.
Выгрузка и загрузка через XML переносит данные только между базами с совпадающей структурой метаданных. Если конфигурации отличаются, часть объектов не загрузится или встанет с ошибкой. Для разных конфигураций нужен полноценный обмен (правила конвертации), а не простая выгрузка.
Есть и обратный сценарий — когда задания готовят списком в Excel, а в базу их нужно завести пачкой. Для справочников в конфигурациях на Библиотеке стандартных подсистем работает обработка «Загрузка данных из табличного документа»: она сопоставляет колонки файла с реквизитами и создаёт элементы по строкам. Для документов такой штатной загрузки обычно нет — их заводят по одному или через внешнюю обработку под конкретную конфигурацию.
Если задача разовая и объектов всего несколько — быстрее скопировать каждый командой F9, чем настраивать выгрузку.
Копирование объекта конфигурации в Конфигураторе
Это уже не про данные, а про разработку: когда нужно сделать новый вид документа или справочника на базе существующего. Такое копирование выполняют в Конфигураторе, в дереве метаданных.
- Откройте базу в Конфигураторе (запуск с правами на изменение конфигурации).
- В дереве конфигурации найдите нужный объект — документ, справочник или объект типа «Задача».
- Выделите его и нажмите
Ctrl+C, затемCtrl+V. - Платформа создаст копию и добавит к её имени цифровой суффикс, чтобы имя осталось уникальным.
- Переименуйте копию, настройте реквизиты и формы под новую задачу.
Копия объекта метаданных забирает с собой реквизиты, табличные части, макеты и формы исходника. А вот программный код в модулях иногда ссылается на имя исходного объекта — после копирования модули стоит просмотреть и поправить имена.
После изменения метаданных конфигурацию нужно сохранить и выполнить Конфигурация → Обновить конфигурацию базы данных (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"). Вернётся новая таблица только с нужными строками и колонками.