Как создать документ на основании другого в 1С и не потерять связь между ними

· 10 мин

Содержание

Чтобы сделать ввод на основании в 1С 8.3, откройте исходный документ (или выделите его в списке) и нажмите в командной панели кнопку Создать на основании. В выпадающем списке выберите, какой документ нужен. Программа создаст новый документ, перенесёт в него контрагента, договор, товары, суммы и запомнит ссылку на основание.

Типичная ситуация: менеджер выставил счёт покупателю на 40 позиций, покупатель оплатил, пора отгружать. Перебивать 40 строк в реализацию вручную — долго и с ошибками. Ввод на основании заполнит накладную за секунду, а связь «счёт → реализация» потом видна в структуре подчинённости. Механизм общий для платформы 8.3, отличаются только цепочки документов в конкретных конфигурациях.

Что даёт создание документа на основании

Ввод на основании — штатный механизм платформы 1С:Предприятие. Один объект (документ, элемент справочника, бизнес-процесс) создаётся с заполнением из другого. Какие пары разрешены и какие поля переносятся, решает разработчик конфигурации.

Что вы получаете на практике:

  • ⚡ Скорость. Шапка и табличная часть заполняются из основания, руками правите только расхождения.
  • 🎯 Точность. Цены, ставки НДС, количество и реквизиты контрагента берутся из уже проверенного документа.
  • 🔗 Связь документов. В новом документе заполняется реквизит «Основание» (в типовых конфигурациях он виден на форме). По нему строится цепочка в отчёте «Структура подчинённости».
  • 📊 Контроль исполнения. В УТ 11 по связке «заказ → реализация» программа считает, что уже отгружено, а что ещё нет.

Чем ввод на основании отличается от копирования:

ДействиеЧто переноситсяСвязь с исходнымКогда использовать
Копирование (F9)Почти все реквизиты, тот же вид документаНетПовторить похожую операцию
Создать на основанииПоля, которые предусмотрел разработчик, другой вид документаЕстьСледующий шаг цепочки: счёт → реализация → счёт-фактура

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

Где находится кнопка «Создать на основании» в 1С 8.3

В интерфейсе «Такси» команда называется Создать на основании. Её значок — лист с зелёной стрелкой. Кнопка есть в двух местах.

В форме документа. Командная панель над шапкой. Если панель узкая и кнопка не поместилась, ищите её в меню Ещё.

В форме списка. Выделите строку и нажмите ту же кнопку в командной панели списка. Документ можно не открывать.

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

Список в выпадающем меню формируется из метаданных. Если нужного документа там нет, конфигурация не разрешает такую пару, у вас нет прав на создание или нужная функциональность выключена. Подробнее — в разделе про ошибки ниже по тексту.

Как сделать ввод на основании: пошагово на примере БП 3.0

Разберём цепочку, которую бухгалтер делает каждый день: счёт покупателю → реализация → счёт-фактура.

Шаг 1. Откройте основание

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

Шаг 2. Выберите вид нового документа

Нажмите Создать на основании. В списке выберите Реализация (акт, накладная, УПД). Откроется окно выбора вида операции: товары, услуги, товары и услуги и т. д. Выберите подходящий.

Шаг 3. Проверьте, что заполнилось

Новый документ открывается незаписанным. Пройдитесь по полям:

  1. Дата. Сверьте с датой фактической отгрузки, при необходимости исправьте.
  2. Склад и организация — для компаний с несколькими складами и юрлицами.
  3. Табличная часть. Если отгружаете часть товара, уменьшите количество или удалите лишние строки.
  4. Счета учёта на закладке товаров — подставятся из настроек, но проверить стоит.

Шаг 4. Проведите документ

Нажмите Провести и закрыть. Связь со счётом сохранится в документе.

Шаг 5. Создайте следующий документ цепочки

Из реализации тем же способом создают счёт-фактуру выданный, возврат товаров от покупателя, корректировку реализации. Для счёта-фактуры в БП 3.0 есть короткий путь: кнопка Выписать счёт-фактуру внизу формы реализации. Она делает то же самое и сразу проставляет ссылку на счёт-фактуру в подвале документа.

Счёт-фактура выставляется не позднее пяти календарных дней со дня отгрузки (п. 3 ст. 168 НК РФ). Если создаёте его на основании реализации задним числом, проверьте дату в шапке.

Как проверить цепочку

Откройте любой документ цепочки и выберите в меню Ещё команду Структура подчинённости. Откроется дерево: сверху основание, ниже — всё, что введено на его основании. Так быстро видно, отгружен ли счёт и выписан ли счёт-фактура.

Перед проведением документа, созданного на основании
Выполнено: 0 / 5

Почему не работает ввод на основании: ошибки и решения

Ошибки здесь делятся на две группы: кнопки или пункта нет вовсе и документ создаётся, но заполняется не так.

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

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

Если типовая цепочка не подходит, у ввода на основании есть альтернатива — создать документ вручную и выбрать основание в реквизите «Основание» или «Документ-основание», если он есть на форме. Табличная часть тогда заполняется кнопкой Заполнить по основанию (в тех документах, где такая команда предусмотрена).

Права доступа для ввода на основании

Чтобы создать документ на основании, пользователю нужны:

  • 👁 право на чтение документа-основания;
  • ➕ права «Добавление» и «Интерактивное добавление» для создаваемого документа;
  • ✅ право на проведение, если документ сразу проводят.

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

В типовых конфигурациях

В БП 3.0, УТ 11, ЗУП 3.1 права выдаются через профили групп доступа: Администрирование → Настройки пользователей и прав → Группы доступа. Порядок такой:

  1. Откройте группу доступа, в которую входит пользователь.
  2. Посмотрите её профиль. Чтобы создавать реализации, в профиле должна быть роль на добавление и изменение документов продаж.
  3. Если подходящей роли нет, не правьте поставляемый профиль. Скопируйте его, добавьте роль в копию и назначьте пользователю новую группу.

Не давайте пользователю полные права ради одной кнопки. Ищите конкретную роль на нужный документ — так проще разобраться потом, кто что может.

В доработанной или самописной конфигурации

Права задаются в ролях конфигуратора: откройте роль, найдите документ в дереве объектов и отметьте права «Добавление» и «Интерактивное добавление». Если в роли используется ограничение доступа на уровне записей (RLS), пользователь должен видеть само основание, иначе его не получится выбрать.

Массовый ввод на основании и автоматизация

Стандартная кнопка создаёт один документ из одного основания. Когда документов десятки, есть три пути.

Встроенные групповые обработки

В типовых конфигурациях самые частые массовые операции уже автоматизированы:

  • 🧾 БП 3.0: групповая выписка счетов-фактур по реализациям за период — из списка Продажи → Счета-фактуры выданные.
  • 📦 УТ 11: отгрузку по заказам клиентов удобнее оформлять из рабочих мест по распоряжениям на отгрузку в разделе Склад и доставка или Продажи: там видны заказы, по которым ещё не оформлена реализация.

Свой код через метод «Заполнить»

У объекта документа есть метод Заполнить(). Он вызывает тот же обработчик, что и кнопка, поэтому результат совпадает с ручным вводом. Пример для внешней обработки: создать реализации по массиву счетов.

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

Документы записываются без проведения — так их можно проверить перед проведением. В типовой конфигурации имя документа и реквизиты могут отличаться от примера: сверяйтесь с деревом метаданных.

Запускайте массовое создание сначала на копии базы. Ошибка в обработке создаст сотню лишних документов, которые потом придётся удалять вручную.

Регламентное задание

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

Как настроить ввод на основании в конфигураторе

Этот раздел для программистов и тех, кто дорабатывает свою базу.

Связь объектов

Откройте свойства документа в дереве метаданных, закладка Ввод на основании. На ней два списка:

  • «Вводится на основании» — из каких объектов можно создать этот документ;
  • «Является основанием для» — какие объекты можно создать из этого.

Это одна и та же связь, видимая с двух сторон. Добавили счёт в «Вводится на основании» у реализации — у счёта реализация появилась в «Является основанием для».

Обработчик заполнения

Список связей только включает пункт в меню. Перенос данных пишется в модуле объекта, в обработчике ОбработкаЗаполнения. В 8.3 у него три параметра:

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

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

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

Пример условный: имена документов и реквизитов замените на свои. Реквизит Основание должен существовать в документе — создайте его с составным типом из всех возможных оснований.

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

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

Типовая база на поддержке

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

Чем отличается ввод на основании в разных конфигурациях 1С

Сам механизм одинаков везде, где работает платформа 8.3. Различаются набор связок и названия документов.

КонфигурацияЧастые цепочки на основанииОсобенность
Бухгалтерия предприятия 3.0Счёт покупателю → Реализация → Счёт-фактура выданный; Поступление (акт, накладная, УПД) → Возврат товаров поставщику, Списание с расчётного счётаДля счёта-фактуры есть кнопка в подвале формы реализации
Управление торговлей 11Заказ клиента → Реализация товаров и услуг; Заказ поставщику → Приобретение товаров и услуг; Реализация → Возврат товаров от клиентаСвязь заказа с отгрузкой влияет на контроль исполнения заказа

Учтите разницу в терминах: в БП документ называется «Счёт покупателю», в УТ 11 первичен «Заказ клиента», а документ поступления — «Приобретение товаров и услуг», а не «Поступление».

В конфигурациях на платформе 8.2 с обычными формами команда называется «Ввести на основании» и вызывается из меню Действия формы. Логика та же: список разрешённых документов и перенос данных обработчиком заполнения.

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

Можно ли создать один документ на основании нескольких?
Стандартной кнопкой — нет, она берёт одно основание. Объединение нескольких заказов в одну отгрузку делают специальные рабочие места конфигурации (в УТ 11 — оформление по распоряжениям) или доработка.
Что будет с новым документом, если удалить основание?
Удаление по пометке не даст удалить основание, пока на него ссылается другой документ. Сначала разберитесь с зависимым документом или очистите в нём ссылку на основание.
Можно ли поменять основание у уже созданного документа?
Если реквизит «Основание» есть на форме и доступен для редактирования — да, выберите новое значение. Табличная часть сама не перезаполнится: используйте кнопку «Заполнить», если она предусмотрена.
Вводится ли на основании справочник?
Да, платформа это позволяет: например, элемент справочника можно создать из документа. В типовых бухгалтерских конфигурациях такие связки встречаются редко, основная работа идёт с документами.
Почему сумма в новом документе отличается от основания?
Обычно причина в одном из двух: изменились цены по договору или количество уже частично отгружено по другому документу. Сверьте строки табличной части и цепочку в структуре подчинённости.