Как сделать свой документ в 1с

Добавил пользователь Евгений Кузнецов
Обновлено: 31.08.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Для этих целей существует два возможных сценария работы:

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

В первом сценарии проще всего использовать метод глобального контекста ОткрытьФорму() . Это можно сделать на клиенте. При этом создается новый документ и открывается для редактирования основная форма этого документа.

Если нужно какое-то предварительное заполнение документа начальными данными, то это можно сделать либо с помощью свойств реквизитов документа ЗначениеЗаполнения , ЗаполнятьИзДанныхЗаполнения либо в обработчике события документа ОбработкаЗаполнения .

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

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

В статье приводятся практические примеры работы с документами в языке 1С. Рассматриваются приемы работы с объектной моделью – создание, редактирование, удаление документов, а также типовые запросы для выборки документов по различным условиям. Для удобства пользуйтесь оглавлением.

Содержание

Немного о документах

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

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

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

Документы описываются в системе 1С двумя стандартными реквизитами – Номер и Дата. Использование номера не является обязательным – можно указать длину номера 0, и в этом случае платформа отключит механизм нумерации документов. В этом случае разработчик может сам предусмотреть реквизиты для формирования представления документа и для проверки уникальности. Но на практике чаще всего номер не отключается.

Читайте также: