К статье
Практический материал

Документы и Печать · 10 мин

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

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

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

Механизм работает одинаково по сути, но по-разному выглядит в управляемых формах (1С:Предприятие 8.3, конфигурации на БСП) и в старых конфигурациях. Кроме интерактивного способа существует программный ввод на основании — через методы объекта встроенного языка, что важно для автоматизации и обменов.

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

Где найти функцию ввода на основании в интерфейсе

В типовых конфигурациях на управляемых формах (Управление торговлей, Бухгалтерия предприятия, ERP) команда ввода на основании доступна из формы документа-основания. Откройте нужный документ и найдите кнопку «Создать на основании» — обычно она расположена в командной панели формы рядом с кнопками «Провести» и «Печать».

Нажатие кнопки открывает подменю со списком документов, которые можно создать из текущего. Состав списка определяется конфигурацией: например, из «Заказа клиента» можно создать «Реализацию товаров и услуг», «Счёт на оплату», «Корректировку заказа» и другие связанные документы.

Второй путь — через список документов. Выделите строку с документом-основанием в журнале и нажмите «Создать на основании» в командной панели списка. Результат тот же, что и из формы документа.

В старых конфигурациях на обычных формах (например, Управление торговлей 10.3) кнопка называется «Ввести на основании» и часто вынесена на панель инструментов с пиктограммой. Логика работы идентична.

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

Как работает автоматическое заполнение

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

Правила заполнения описаны в модуле объекта документа в процедуре «ОбработкаЗаполнения». Типовые конфигурации дополнительно используют общий механизм «Ввод на основании» из библиотеки стандартных подсистем, где связи между видами документов регистрируются централизованно.

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

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

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

Документ-основаниеТипичные создаваемые документыЧто переносится
Заказ клиента / покупателяРеализация, счёт на оплату, корректировка заказаКонтрагент, договор, товары, цены
Счёт на оплатуРеализация, платёжное поручениеКонтрагент, суммы, назначение платежа
Поступление товаровСчёт-фактура полученный, возврат поставщикуПоставщик, номенклатура, суммы
Реализация товаров и услугСчёт-фактура выданный, возврат от покупателя, корректировкаПокупатель, товары, суммы НДС
ИнвентаризацияОприходование, списаниеСклад, расхождения по остаткам

Если нужной связи нет, её можно добавить только доработкой конфигурации — через расширение или изменение модуля объекта. Самостоятельно «научить» систему новой связи без изменения кода нельзя.

Программное создание документа на основании

Во встроенном языке 1С документ на основании создаётся через метод «Заполнить» объекта документа. Метод принимает параметр «ДанныеЗаполнения» — обычно это ссылка на документ-основание. После заполнения объект записывается и при необходимости проводится.

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

При вызове «Заполнить» срабатывает обработчик «ОбработкаЗаполнения» в модуле объекта документа. Именно там разработчик описывает, какие реквизиты переносить из основания. Если вы дорабатываете конфигурацию, новую связь добавляют именно в этот обработчик, проверяя тип параметра «ДанныеЗаполнения».

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

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

Почему кнопки нет или заполнение работает неправильно

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

Если кнопка есть, но нужного вида документа в подменю нет, проверьте права доступа первым делом. Роль пользователя может не включать право «Добавление» для целевого вида документов — тогда команда скрывается автоматически.

Неправильное заполнение обычно связано с данными самого основания: незаполненный договор, пустая табличная часть, отменённый заказ. Механизм заполнения честно переносит то, что есть, и если в основании пробелы — они переедут в новый документ.

Типичные ошибки
01
Создание документа на основании непроведённого или помеченного на удаление основания — связь формально есть, но учётные данные недостоверны
02
Ручное дублирование: пользователь создаёт документ копированием вместо ввода на основании, и связь между документами теряется, что ломает отчёты по заказам
03
Игнорирование проверки остатков — по частично отгруженному заказу создаётся реализация на полное количество
04
Программный вызов Заполнить() без проверки типа данных заполнения — обработчик отрабатывает некорректно или документ остаётся пустым

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

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

Отчёт «Связанные документы» (или «Структура подчинённости») показывает всю цепочку: от заказа до оплаты. Если созданного документа в дереве нет, связь не записалась — такое бывает при прямом программном создании без вызова механизмов БСП.

Контрольные точки

Как проверить результат

Структура подчинённости
Норма

Новый документ виден в дереве связанных документов основания

Тревожный признак

Документ создан, но в структуре отсутствует — связь не зафиксирована

Табличная часть
Норма

Товары и количество соответствуют остатку по основанию

Тревожный признак

Перенесено полное количество при частичной отгрузке или пустая табличная часть

Проведение
Норма

Документ проводится без ошибок и формирует движения

Тревожный признак

Ошибки проведения из-за незаполненных обязательных реквизитов

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

Ограничения и когда нужен разработчик

Ввод на основании работает только в рамках предусмотренных конфигурацией связей. Добавление новой связи, изменение правил заполнения, запрет создания на основании по условиям (например, только для проведённых документов) — всё это задачи для разработчика, решаемые через расширение конфигурации или её изменение.

Также учитывайте ограничение обменов: при переносе данных между базами связи «основание — подчинённый документ» могут не переноситься, если в правилах обмена не настроена выгрузка связанных объектов. После миграции данных структуру подчинённости часто приходится восстанавливать отдельно.

Итог

Что важно запомнить

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

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

Можно ли создать документ на основании нескольких документов сразу?

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

Почему кнопка «Создать на основании» неактивна?

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

Как удалить связь между документами?

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

Переносятся ли прикреплённые файлы при вводе на основании?

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

Можно ли настроить ввод на основании без программиста?

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

Что делать, если после обновления конфигурации связь пропала?

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