Ввод документа на основании другого: кнопка, клавиши, настройка и код

· 9 мин

Содержание

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

Работает она так: платформа берёт документ-основание, передаёт его в новый документ, а тот сам решает, какие реквизиты забрать. Поэтому набор пунктов в меню у каждого документа свой. В заказе покупателя вы увидите реализацию и счёт на оплату, в поступлении товаров — возврат поставщику, и так далее.

Где найти кнопку «Создать на основании» в интерфейсе

Есть два места, и разница в них заметная.

В форме документа. Откройте любой проведённый или записанный документ. В командной панели над реквизитами найдите кнопку «Создать на основании». Если панель не вмещает все кнопки, команда спрячется в меню «Ещё».

В списке документов. Выделите строку и нажмите ту же кнопку на панели списка. Новый документ будет создан на основании выделенного, без открытия самого основания. Это быстрее, когда нужно обработать десяток документов подряд.

Порядок действий:

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

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

Что переносится, а что нет

Переносятся то, что разработчик конфигурации прописал в обработчике заполнения. Обычно это:

  • 🏢 организация, контрагент, договор;
  • 📦 склад и табличная часть с номенклатурой, количеством и ценой;
  • 💱 валюта и вид цены;
  • 🔗 ссылка на документ-основание в служебном реквизите.

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

Горячие клавиши и работа без мыши

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

КлавишаЧто делает
InsСоздать новый документ в списке
F9Скопировать выделенный документ в списке
F2Открыть выделенный элемент на изменение
EnterОткрыть документ или выбрать пункт в меню
Стрелки вверх/внизДвигаться по пунктам меню «Создать на основании»
EscЗакрыть меню без выбора

Меню открывается щелчком мыши, а дальше им удобно управлять стрелками и Enter.

Не путайте копирование и ввод на основании. Копия (F9) повторяет документ целиком, вместе с датой и комментарием. Ввод на основании создаёт новый документ другого вида или того же, но заполняет его выборочно.

Копирование или основание: что выбрать

ЗадачаПодходит
Нужна копия того же документа с теми же строкамиКопирование, F9
Нужен документ другого вида по данным первогоСоздать на основании
Нужно создать несколько документов по одной цепочке сделкиСоздать на основании, по очереди

Как вызвать создание на основании программно

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

Минимальный пример, который заполняет новый документ из заказа:

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)

	Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
		Организация = ДанныеЗаполнения.Организация;
		Контрагент = ДанныеЗаполнения.Контрагент;
		Договор = ДанныеЗаполнения.Договор;
		ДокументОснование = ДанныеЗаполнения;

		Для Каждого Строка Из ДанныеЗаполнения.Товары Цикл
			НоваяСтрока = Товары.Добавить();
			НоваяСтрока.Номенклатура = Строка.Номенклатура;
			НоваяСтрока.Количество = Строка.Количество;
			НоваяСтрока.Цена = Строка.Цена;
		КонецЦикла;
	КонецЕсли;

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

Имена документов и реквизитов здесь условные, у вас они будут другими.

Чтобы создать и записать такой документ из кода, не открывая форму:

НовыйДок = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
НовыйДок.Заполнить(ЗаказСсылка);
НовыйДок.Записать(РежимЗаписиДокумента.Запись);

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

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

Кнопка «Создать на основании» пропала: как её вернуть

Причин обычно три, и проверять их стоит в таком порядке.

1. Для документа не настроен ввод на основании

Если в конфигурации у документа нет ни одного документа-основания, меню будет пустым или кнопки не будет вовсе. Это не ошибка, так задумал разработчик. В типовых конфигурациях в таких документах команды нет, и вернуть её без доработки нельзя.

2. Кнопку убрали из формы

Пользователь или администратор мог скрыть команду при настройке формы. Откройте документ и выберите «Ещё → Изменить форму». Найдите командную панель, проверьте, есть ли там «Создать на основании», и включите её видимость. Если пункта «Изменить форму» нет, значит, у вас нет права на настройку интерфейса или форма заблокирована.

3. Не хватает прав

Меню показывает только те документы, на создание которых у вас есть право. Если пользователю запрещено добавлять реализации, пункт «Реализация» в его меню не появится. Проверьте профиль доступа в разделе Администрирование → Настройки пользователей и прав.

После внесения изменений перезапустите сеанс 1С, чтобы права и настройки интерфейса подхватились.

Для быстрой диагностики подойдёт такая таблица:

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

Мини-кейс: цепочка от заказа до реализации

Менеджер принял заказ клиента на 40 коробок по 250 рублей. Складу нужно отгрузить 30 коробок сейчас, остальные позже. Как это делается на основании:

  1. В заказе нажимаем «Создать на основании» и выбираем реализацию.
  2. В новом документе количество стоит 40. Меняем на 30 и проводим: сумма пересчитается в 7 500 рублей.
  3. Позже снова открываем заказ, создаём вторую реализацию, оставляем 10 коробок. Сумма будет 2 500 рублей.

В сумме получаем 10 000 рублей, как в заказе. Обе реализации связаны с одним основанием, и в структуре подчинённости видны оба документа. Если бы вы скопировали первую реализацию через F9, связь с заказом пришлось бы восстанавливать вручную.

Тот же приём работает и в обратную сторону. Если клиент вернул часть товара, откройте реализацию и создайте на её основании возврат: табличная часть придёт заполненной, останется оставить только возвращаемые строки и проверить количество. Так вы не наберёте номенклатуру руками и не ошибётесь в цене, которая должна совпасть с ценой продажи.

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

Когда ввод на основании не нужен

Иногда быстрее и надёжнее начать с чистого листа. Вот случаи, где основание только мешает.

  • ✋ Данные в основании недостоверны: в нём ошибки, которые вы собираетесь исправлять. Сначала исправьте основание.
  • ✋ Новый документ не связан с исходным по сути, а нужен лишь похожий набор строк. Тогда копирование проще и не создаёт ложных связей.
  • ✋ Основание закрыто периодом, а в новом документе нужна дата из другого периода. Проверьте, не запретит ли программа проведение из-за даты запрета изменения данных.
  • ✋ Вы работаете в чужой организации с отдельным учётом и разными настройками. Заполнение из основания перенесёт реквизиты, которые не подходят.

Что проверить в новом документе после заполнения

Автозаполнение экономит время, но не отменяет проверки. Пройдитесь по четырём точкам:

  • 🔍 Шапка. Организация, контрагент, договор, склад. Часто именно здесь остаётся значение из основания, а нужно другое.
  • 🔍 Табличная часть. Количество, цена, единицы измерения. Если в основании был частичный остаток, проверьте, не вернулась ли полная строка.
  • 🔍 Даты. Дата документа ставится текущая. Если вы вносите задним числом, поправьте её до проведения.
  • 🔍 Связь. В реквизите основания (или в структуре подчинённости) должна стоять ссылка на исходный документ.

Типичные ошибки при вводе на основании

Эти проблемы встречаются чаще других:

  • ❌ Создали документ на основании непроведённого заказа. Сумма и ставка НДС не рассчитаны, а новый документ их забрал. Проверьте основание и пересчитайте.
  • ❌ Дублирование документов. Нажали кнопку дважды и получили два одинаковых документа на одно основание. Перед созданием посмотрите, нет ли уже подчинённых документов.
  • ❌ Не совпадает организация. Документ-основание относится к одной организации, а пользователь по умолчанию работает с другой. Проверьте поле «Организация» в созданном документе.
  • ❌ Ожидали полного копирования. Разработчик не прописал перенос части реквизитов, и они остались пустыми.

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

Как ускорить рутину с созданием на основании

Если цепочка однотипная, используйте несколько приёмов.

  • 📋 Групповое создание из списка. В ряде конфигураций команду можно применить сразу к нескольким выделенным строкам. Проверьте, доступна ли такая возможность в вашей версии.
  • ⭐ Избранное. Часто используемые документы добавьте в избранное, чтобы переходить в них без поиска по меню.
  • 🧩 Расширение конфигурации . Если нужного основания в типовой конфигурации нет, добавьте его через расширение, а не правкой типового кода. Так обновления не сломают доработку.
  • 📑 Шаблоны. Для документов, которые заполняются по одному и тому же образцу, удобнее копирование (F9), чем ввод на основании.
Перед вводом на основании
Выполнено: 0 / 4

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

Можно ли создать документ на основании нескольких документов сразу?
В типовых конфигурациях ввод идёт на основании одного документа. Для нескольких оснований используют подбор документов в форме нового документа или групповую обработку, если она реализована.
Куда пропадает связь с основанием после удаления?
Ссылка в реквизите нового документа остаётся, но указывает на удалённый или помеченный на удаление объект. Документ работает, а в структуре подчинённости основание выглядит неактивным.
Работает ли ввод на основании в веб-клиенте и мобильном клиенте?
Да, команда одинаково доступна в тонком клиенте и веб-клиенте. В мобильном приложении набор команд зависит от того, что опубликовал разработчик.
Почему в меню разное число документов у разных пользователей?
Пункты фильтруются по правам. Видны только те документы, которые пользователь вправе создавать.
Можно ли добавить свой документ в меню «Создать на основании»?
Да, но это доработка конфигурации: нужно указать основание в свойствах документа и дописать обработчик заполнения. Типовые модули лучше не править, используйте расширение.