Копирование заявки в 1С: от кнопки в списке до выгрузки в другую базу

· 9 мин

Содержание

Самый частый вопрос после «как скопировать заявку » — почему копия получилась не такой, как оригинал. Дата сегодняшняя, номер новый, а проведения нет. Это нормально: копия в 1С создаётся как новый документ, который нужно проверить и провести самому.

«Заявка» в 1С — не отдельный вид документа. Под этим словом пользователи понимают заказ клиента , заказ поставщику , заявку на расходование средств, заявку на кассовый расход — зависит от конфигурации. Принцип копирования у всех одинаковый, различаются только названия разделов. Ниже — пять способов, от простого к сложному.

Какой способ выбрать

Сначала определите задачу. От неё зависит, каким способом идти.

ЗадачаСпособРиск
Повторить похожую заявку в той же базеКнопка «Скопировать» в спискеНизкий
Создать следующий документ цепочки (заказ → реализация)«Создать на основании»Низкий
Изменить реквизит сразу в десятках заявокГрупповое изменение реквизитовСредний
Перенести заявки в другую базуВыгрузка в XML или обменСредний
Копировать по расписанию или по условиюКод на встроенном языкеВыше среднего

Копирование из списка: быстрый вариант

Это основной способ, и в 90% случаев его хватает.

  1. Откройте список заявок: раздел продаж, закупок или казначейства, в зависимости от вида заявки.
  2. Встаньте на нужную строку. Не открывайте документ.
  3. Нажмите кнопку «Скопировать» на панели списка или клавишу F9. Если кнопки не видно, она может быть спрятана в меню «Еще».
  4. Откроется форма нового документа с заполненными полями оригинала.
  5. Поправьте дату, контрагента, количество и сроки, затем нажмите «Провести и закрыть».

Что произойдёт с полями:

  • ✅ контрагент, договор, склад, организация — переносятся как есть;
  • ✅ табличная часть — копируется целиком, со всеми строками;
  • 🔄 номер — присваивается новый, по правилам нумерации документа;
  • 🔄 дата — подставляется текущая;
  • ❌ проведение — не копируется, документ создаётся непроведённым;
  • ❌ ссылки на документы-основания — зависит от вида документа, проверьте поле «Основание».

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

Копия в рабочей базе — это реальный документ. Если закроете форму без проведения, он останется в списке черновиком. Лишние копии удаляйте, иначе в отчётах по заявкам появится дублирование.

Создание на основании: когда нужна не копия, а продолжение

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

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

Отличия от обычного копирования:

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

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

Групповое изменение: копирование не нужно, нужна правка

Иногда задача сформулирована как «скопировать», хотя на самом деле нужно поменять один реквизит у многих заявок. Например, перенести все черновики на другой склад или назначить нового ответственного.

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

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

  1. Выделите заявки в списке (Ctrl + клик или Shift + клик).
  2. Откройте обработку и выберите реквизит, который меняется.
  3. Укажите новое значение.
  4. Запустите изменение и проверьте результат в списке.

Проведённые документы этот инструмент часто не трогает или перепроводит с побочными эффектами. Если заявка влияла на учёт, после изменения проверьте движения документа.

Перед массовым изменением сделайте резервную копию базы. Откатить групповую операцию кнопкой «Отмена» нельзя.

Перенос заявок в другую базу через XML

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

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

Разовая выгрузка в XML. Подходит, когда синхронизации нет, а перенести нужно единичные документы:

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

Что учесть при переносе:

  • справочники (контрагенты, номенклатура, склады) должны уже существовать в приёмнике или выгружаться вместе с документами;
  • сопоставление идёт по уникальным идентификаторам и по ключевым полям; если в приёмнике контрагент заведён вручную с другим идентификатором, возможны дубли;
  • обе базы желательно держать на близких релизах конфигурации: структура документов должна совпадать.

Тестовую загрузку делайте в копии базы, а не в рабочей.

Табличная часть и номенклатура: что проверить после копирования

Табличная часть копируется целиком, но в ней как раз чаще всего прячутся проблемы.

Контрольный список после копирования:

  • 📦 Номенклатура. Позиции могут быть помечены на удаление или выведены из ассортимента. Такую строку программа примет, но при проведении может выдать ошибку.
  • 💰 Цены. Остаются цены оригинала, а не текущие.
  • 📅 Сроки. Даты отгрузки или оплаты в строках остаются старыми. Если заявка из прошлого периода, они окажутся в прошлом.
  • 🧮 НДС и суммы. Ставка переносится вместе со строкой. После смены ставки у позиции пересчитайте суммы вручную.
  • 🏷 Характеристики и серии. Если характеристика закрыта, строку придётся перевыбрать.

Хороший приём: после копирования отсортируйте табличную часть по колонке «Номенклатура» и пройдитесь взглядом по нулевым ценам и незаполненным срокам. На 20 строках это занимает минуту.

Когда нужно копировать лишь часть строк, откройте оригинал, выделите строки, нажмите Ctrl+C, в новой заявке встаньте в табличную часть и вставьте Ctrl+V. Такой перенос работает не во всех формах, но в современных типовых документах обычно доступен.

Права и настройки: почему копирование бывает недоступно

Иногда кнопка есть, но копия не создаётся, или кнопки нет совсем. Причины почти всегда в правах и настройках, а не в ошибке программы.

Проверьте по порядку:

  1. Права пользователя. Для копирования нужно право на добавление документов этого вида. Если вы видите заявки, но не можете создавать, роль выдана только на просмотр.
  2. Ограничения на уровне записей. Администратор мог ограничить доступ по организациям или подразделениям. Тогда копия в чужой организации не сохранится.
  3. Режим интерфейса. В упрощённых интерфейсах часть команд убрана с панели. Откройте меню «Еще» и проверьте полный список команд.
  4. Блокировка периода. Если в базе включена дата запрета изменений, документ с датой раньше неё записать нельзя. Копия получает текущую дату, поэтому проблема возникает редко, но при ручной смене даты на более раннюю она проявится.

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

Как проверить копию перед проведением

Перед проведением потратьте две минуты на проверку. Это дешевле, чем потом исправлять движения.

  • Сравните сумму документа с оригиналом. Если цены не менялись намеренно, суммы должны совпасть до копейки.
  • Проверьте, что дата попадает в нужный период. Копия, созданная 31-го числа и проведённая 1-го, оказывается в другом месяце.
  • Убедитесь, что договор действует на дату документа. Просроченный договор часто блокирует проведение.
  • Откройте печатную форму заявки и пролистайте её. Опечатку в реквизитах проще заметить на листе, чем на экране формы.
  • Для заявок на оплату сверьте банковский счёт получателя: после смены контрагента он мог остаться старым.

Ещё один совет: если вы часто копируете одну и ту же заявку (шаблонную закупку, регулярный платёж), оставьте один эталонный документ и не проводите его никогда. Он будет жить в списке как заготовка, а копии вы будете проводить. Назовите эталон в комментарии понятно, чтобы коллеги не удалили его при уборке.

Автоматизация: копирование из кода

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

Процедура СоздатьКопиюЗаявки(Заявка) Экспорт

    ИсходныйОбъект = Заявка.ПолучитьОбъект();
    НовыйОбъект = ИсходныйОбъект.Скопировать();

    НовыйОбъект.Дата = ТекущаяДатаСеанса();
    НовыйОбъект.Комментарий = "Создано копированием из заявки №" + ИсходныйОбъект.Номер;

    НовыйОбъект.Записать(РежимЗаписиДокумента.Запись);

КонецПроцедуры

Что делает этот пример: получает объект по ссылке, создаёт копию в памяти, меняет дату и комментарий и записывает без проведения. Номер присвоится автоматически при записи.

Нюансы:

  • метод Скопировать() вызывается на сервере, объект по ссылке на клиенте получить нельзя;
  • проведение вызывайте отдельно через РежимЗаписиДокумента.Проведение, когда уверены, что все данные корректны;
  • для проверки результата сначала запустите код в тестовой копии базы.

Для проверки без записи можно оставить только Скопировать() и посмотреть заполненные реквизиты в отладчике. Так вы убедитесь, что копия содержит то, что нужно, и не создадите мусор.

Типичные проблемы при копировании

Эти ситуации возникают не из-за способа, а из-за того, что копия не равна оригиналу.

Диагностика: выберите симптом

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

Копия заявки влияет на учёт?
Пока документ не проведён, нет. Движения по регистрам создаются только при проведении.
Можно ли скопировать заявку с другим контрагентом?
Да. Скопируйте документ и замените контрагента до записи. Договор тоже выберите заново: он привязан к прежнему контрагенту.
Копируются ли вложенные файлы заявки?
Присоединённые файлы относятся к оригиналу и в копию обычно не попадают. Прикрепите их заново.
Как скопировать заявку в закрытом периоде?
Копия получает текущую дату, поэтому в закрытый период не попадёт. Менять дату на закрытую запрещает механизм запрета редактирования, и обходить его не стоит.
Чем копирование отличается от ввода на основании?
Копия создаёт тот же вид документа с теми же данными. Ввод на основании создаёт документ другого вида и связывает его с исходным.