Документы и Печать · 11 мин
1С: как создать документ на основании другого документа
Как в 1С создать документ на основании другого: ввод на основании, кнопка «Создать на основании», настройка в конфигураторе, типичные ошибки и проверка результата.
Ввод документа на основании — один из базовых механизмов любой конфигурации 1С. Он позволяет не заполнять новый документ вручную, а автоматически перенести в него данные из уже существующего: контрагента, договор, список товаров, суммы. Так из заказа покупателя создают реализацию, из реализации — счёт-фактуру, из поступления — оплату поставщику.
Механизм работает и в пользовательском режиме «1С:Предприятие», и настраивается в конфигураторе. Пользователю достаточно выбрать документ-основание и нажать соответствующую команду, а разработчик может задать правила заполнения полей через процедуру «ОбработкаЗаполнения».
Ниже разобраны оба сценария: стандартная работа в пользовательском интерфейсе (УТ, ERP, Бухгалтерия, Комплексная автоматизация) и настройка ввода на основании в конфигураторе для собственных или доработанных документов.
Как работает механизм ввода на основании
Связь между документами в 1С строится на ссылке: в новом документе сохраняется ссылка на документ-основание, а поля заполняются по правилам, заложенным в конфигурации. Благодаря этой ссылке система понимает, что реализация относится к конкретному заказу, и может строить цепочки документов, отчёты по исполнению заказов и контролировать остатки к отгрузке.
В типовых конфигурациях цепочки уже настроены: «Заказ покупателя → Реализация товаров и услуг → Счёт-фактура», «Поступление товаров → Счёт-фактура полученный», «Счёт на оплату → Оплата». Если документ в цепочке не создаётся, чаще всего дело в статусе документа-основания, правах пользователя или в том, что документ не проведён.
Создание документа на основании в пользовательском режиме
В управляемом интерфейсе (такси) команда ввода на основании доступна из формы самого документа и из списка документов. Расположение кнопки зависит от конфигурации: «Создать на основании», «Ввести на основании» или выпадающее меню со списком доступных типов документов.
- 1Откройте документ-основание (например, заказ покупателя) или выделите его в списке.
- 2Нажмите кнопку «Создать на основании» в командной панели формы.
- 3Выберите тип создаваемого документа из предложенного списка.
- 4Проверьте автоматически заполненные поля: контрагент, договор, табличная часть, суммы.
- 5При необходимости отредактируйте данные и проведите документ.
- 6Убедитесь, что в форме документа отображается ссылка на основание.
Если в списке нет нужного типа документа, проверьте три вещи: проведён ли документ-основание, есть ли у вас права на создание документов этого вида и не отключена ли соответствующая функциональная опция в настройках программы (например, «Заказы поставщикам» или «Ордерный склад» в УТ и ERP).
Важный нюанс: документ, созданный на основании, не проводится автоматически — он открывается в режиме редактирования. Проверьте дату нового документа: по умолчанию она обычно равна текущей, а не дате основания. При необходимости измените дату до проведения, особенно если документы должны попасть в один отчётный период.
Создание на основании нескольких документов
Многие конфигурации позволяют создать один документ на основании сразу нескольких оснований — например, одну реализацию по нескольким заказам одного покупателя. Для этого выделите в списке несколько документов (с зажатой клавишей Ctrl) и нажмите «Создать на основании».
Объединение сработает только при совпадении ключевых реквизитов: контрагента, договора, организации, склада, валюты. Если реквизиты различаются, программа либо создаст отдельные документы, либо выдаст сообщение о невозможности объединения. Точное поведение зависит от конфигурации и её настроек.
Настройка ввода на основании в конфигураторе
Если вы дорабатываете конфигурацию или создаёте собственный документ, связь настраивается в конфигураторе. Откройте свойства документа, который должен создаваться на основании, и на закладке «Ввод на основании» укажите два списка: «Вводится на основании» (типы документов-оснований) и «Является основанием для» (типы документов, которые можно создать из него).
Логика заполнения полей описывается в модуле объекта документа в процедуре «ОбработкаЗаполнения». Параметр «ДанныеЗаполнения» содержит ссылку на документ-основание, по которой можно получить его реквизиты и табличные части.
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения, "Контрагент,Договор,Организация");
ДокументОснование = ДанныеЗаполнения;
Для Каждого СтрокаТовара Из ДанныеЗаполнения.Товары Цикл
НоваяСтрока = Товары.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТовара);
КонецЦикла;
КонецЕсли;
КонецПроцедурыПосле изменений обновите конфигурацию базы данных (F7) и проверьте, что команда «Создать на основании» появилась в форме документа-основания. Если форма документа дорабатывалась вручную, команду, возможно, потребуется добавить в командную панель формы явно.
Проверка результата и связи документов
После создания документа на основании убедитесь, что связь установлена корректно. В форме документа обычно есть поле «Документ основания» или гиперссылка на основание в панели связанных документов. В типовых конфигурациях также доступна команда «Связанные документы» (или «Структура подчинённости»), показывающая всю цепочку.
Как проверить результат
Поле «Документ основания» заполнено, основание открывается по ссылке
Поле пустое — документ создан копированием, а не вводом на основании
Контрагент, договор, табличная часть совпадают с основанием
Поля пустые или заполнены данными другого документа
Новый документ виден в цепочке подчинённых документов основания
Документ отсутствует в структуре подчинённости
Документ проводится без ошибок, движения корректны
Ошибки проведения по остаткам, взаиморасчётам или статусам
Отдельно проверьте отчёты, завязанные на связь документов: «Анализ исполнения заказов», «Остатки к отгрузке», «Ведомость расчётов». Если документ создан без ссылки на основание (например, копированием), заказ в таких отчётах будет числиться неисполненным, хотя товар фактически отгружен.
Типичные ошибки и ограничения
Ещё одно ограничение: один документ-основание обычно порождает цепочку в рамках одной логической операции. Если по одному заказу нужно несколько частичных отгрузок, создавайте каждую реализацию отдельно на основании того же заказа — типовые конфигурации это поддерживают и контролируют остаток к отгрузке.
В файловых базах при одновременной работе нескольких пользователей возможны конфликты блокировок, если два человека одновременно создают документы на основании одного заказа. В этом случае дождитесь завершения работы коллеги и повторите действие.
Как выбрать действие
Альтернативы вводу на основании
Ввод на основании — не единственный способ ускорить создание документов. Копирование (F9 или кнопка «Скопировать») переносит все данные, но не создаёт связи с исходным документом — подходит для повторяющихся однотипных операций без цепочки. Шаблоны и загрузка из файлов используются для массового ввода первички.
В типовых конфигурациях также есть специализированные рабочие места: «Оформление накладных и ордеров», «Распоряжения на отгрузку», «Создание счетов-фактур». Они показывают список оснований, по которым ещё не оформлены документы, и позволяют создавать их пакетно — это удобнее, чем открывать каждое основание по отдельности.
Что важно запомнить
Документ на основании создаётся кнопкой «Создать на основании» из формы или списка основания; поля заполняются автоматически, а связь сохраняется через ссылку. В конфигураторе механизм настраивается свойством «Вводится на основании» и процедурой ОбработкаЗаполнения. Всегда проверяйте дату, заполнение реквизитов и структуру подчинённости после создания.
Часто задаваемые вопросы
Почему кнопка «Создать на основании» неактивна или отсутствует?
Основные причины: документ-основание не проведён, у пользователя нет прав на создание целевого документа, отключена функциональная опция (например, заказы или ордерный склад) либо в конфигурации для этой пары документов связь не настроена. Проверьте эти условия по очереди, начав с проведения основания.
Чем ввод на основании отличается от копирования?
При вводе на основании в новом документе сохраняется ссылка на основание — строится цепочка связанных документов, работают отчёты по исполнению заказов. Копирование просто дублирует данные без связи: документы никак не связаны, и заказ будет считаться неисполненным.
Можно ли создать документ на основании помеченного на удаление?
Стандартно — нет. Команда ввода на основании для помеченных на удаление документов недоступна или создаст документ с проблемной ссылкой. Сначала снимите пометку удаления с основания, проверьте его данные, затем создавайте подчинённый документ.
Как создать один документ по нескольким заказам сразу?
Выделите в списке несколько заказов с зажатой клавишей Ctrl и нажмите «Создать на основании». Объединение возможно только при совпадении контрагента, договора, организации и склада. Альтернатива — рабочие места оформления накладных, где видны все незакрытые распоряжения.
Документ создан на основании, но не виден в структуре подчинённости. Что не так?
Скорее всего, ссылка на основание не записалась: документ был создан копированием, поле «Документ основания» очищено вручную или в доработанной процедуре ОбработкаЗаполнения не заполняется реквизит основания. Откройте документ и проверьте поле основания; при доработках — код заполнения.
Нужно ли проводить документ-основание перед созданием подчинённого?
В большинстве типовых конфигураций — да: ввод на основании непроведённого документа либо запрещён, либо переносит данные с ограничениями. Проведённое основание гарантирует, что остатки, статусы и взаиморасчёты актуальны, а контроль отгрузки и оплаты сработает корректно.