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

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

В этом случае достаточно просто передать параметр Основание в процедуру открытия формы:

При этом отработает процедура ОбработкаЗаполнения в модуле объекта и, соответственно, те алгоритмы заполнения, которые в ней описаны.

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

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

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

Следует заметить, что событие ОбработкаЗаполнения есть не только у объектных данных (документов, справочников и т.п.), но и у регистра сведений, в модуле объекта РегистрСведенийНаборЗаписей. .

Подробнее о заполнении новых объектов данными можно посмотреть в вопросе Как при открытии формы определить, что создается новый элемент? .

Обучение программированию на 1С

Ввод на основании

В 1С начинающие программисты зачастую создают механизмы, которые уже заложены в платформе 1С Предприятие. Примером этого может являться механизм ввода документа на основании другого документа (или объекта).

Механизм «Ввод на основании» предполагает:

  • Создание на основании нового документа и открытие его формы
  • Заполнение реквизитов документа-приёмника из документа-источника (или другого объекта системы)
  • Другие программные операции с документом-приёмником.

Теперь, чтобы воспользоваться этим великолепным механизмом и не изобретать велосипед, нужно сделать следующее:
1. Открываем в конфигураторе документ-источник, переходим на вкладку «Ввод на основании» и добавляем необходимый документ-приёмник (или другой объект) в разделе «Является основанием для».

2. Затем в модуле документа-приёмника в процедуре «ОбработкаЗаполнения» программно заполняем те поля документа из документа-основания, которые хотим.

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

Если вам понравилась эта статья, поставите лайк. Все вопросы пишите в комментариях ниже. Удачного вам изучения всех тонкостей 1С!

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

А в этом нам поможет уже знакомый метод глобального контекста ОткрытьФорму.
Познакомиться с этим методом можно в статье:

В каркасной конфигурации (взята для примера к статье) документ «Оплата» можно создать на основании документа «Приход товара».

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

Для примера, в конфигураторе 1С я сделал внешнюю обработку, на форме обработки разместил реквизит ДокументПриходТовара с типом ДокументСсылка.ПриходТовара и команду «Открыть форму на основании», при её выполнении откроется форма документа Оплата с полями, заполненными на основании документа из реквизита.

В обработчике команды напишем следующий код:

&НаКлиенте
Процедура ОткрытиФормуНаОсновании ( Команда )

ПараметрыФормы = Новый Структура ;
ПараметрыФормы . Вставить ( «Основание» , ДокументПриходТовара );

ОткрытьФорму ( «Документ.Оплата.Форма.ФормаДокумента» , ПараметрыФормы );

И всё. Мы просто при открытии формы, использовали параметр Основание. После выполнения этой команды откроется форма документа «Оплата», в которой нужные поля будут заполнены данными из объекта-основания (согласно обработчику объекта ОбработкаЗаполнения).

Подробно вопросы работы с управляемыми формами в частности и с управляемым приложением в целом рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомится с разработкой управляемого приложения.

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

  1. Без сложных технических терминов;
  2. Более 600 страниц практического материала;
  3. Каждый пример сопровождается рисунком (скриншот);
  4. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!

Промо-код на скидку в 15% — 48PVXHeYu

Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;


Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы в соцсетях, и будьте в курсе всех новостей

Понравилась статья? Поделиться с друзьями:
Vkontakte.INFO
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: