Для чего служит основной реквизит формы
Перейти к содержимому

Для чего служит основной реквизит формы

  • автор:

Контекст формы и основного реквизита формы

Для хранения данных, которые редактируются в форме, предназначены реквизиты формы. Один из реквизитов может быть назначен основным реквизитом формы. При этом поведение формы изменяется в соответствии с типом этого реквизита. Кроме изменения поведения формы, происходит изменение контекста модуля формы. Наряду с методами и свойствами формы, в нем становятся доступны методы и свойства объекта, являющегося значением основного реквизита. Вследствие такого объединения контекстов формы и объекта могут возникать конфликты имен методов и свойств. Методы и свойства формы имеют приоритет над методами и свойствами объекта. Обращение к свойству объекта можно осуществлять через имя основного реквизита формы.

Рассмотрим следующий пример.

Есть форма с двумя реквизитами: ДокументОбъект, Реквизит1. Реквизит ДокументОбъект является основным реквизитом и имеет в свою очередь реквизиты с именами Реквизит1, Реквизит2. Тогда обращение к реквизитам в модуле формы будет осуществляться следующим образом:

Для чего служит основной реквизит формы

Программно они доступны в модуле формы без точки и вне формы через точку как свойства объекта типа «Форма».

Один и только один из реквизитов может быть основным . В этом случае он должен быть выбран в свойстве Данные в свойствах формы. Основной реквизит выделяется жирным шрифтом в списке реквизитов. Основной реквизит формы влияет на ее назначение, характер, поведение. В зависимости от типа основного реквизита у формы могут появиться новые свойства, методы (расширения формы), меняется поведение по кнопке ОК, Закрыть и т.д. При обращении по имени в модуле формы поиск идёт сначала по реквизитам формы, затем по реквизитам объекта, который задан в основном реквизите формы.

Реквизиты формы обеспечивают связь элементов формы с данными (с реквизитами и табличными частями объектов) через свойство Данные элементов формы.

Кнопка «Размещение данных» автоматически настраивает эту связь, но пользоваться ей необязательно (в отличие от 7.7).

Для начинающих есть статья на ИТС: «Методические рекомендации» / «Формы» / «Связь формы и элементов управления с данными».

Разбор тестирования 1С:Профессионал и PMP

Реквизиты формы обеспечивают ее связь с данными. При этом один (и только один) из реквизитов может быть назначен основным; он не обязательно может быть того типа данных, к объекту которого мы рисуем форму. Но от типа данных основного реквизита будет зависеть поведение формы. Кроме изменения поведения формы, происходит изменение контекста модуля формы. Наряду с методами и свойствами формы, в нем становятся доступны методы и свойства объекта, являющегося значением основного реквизита. Важно, что формы типа «Произвольная форма» не имеют основного реквизита. В этом случае поведение формы определяется только настройками пользователя. Рассмотрим вопросы по основным реквизитам.

Форма, элементы управления

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

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

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

Основной реквизит формы

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

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

Связь формы и элементов управления с данными осуществляется при помощи реквизитов формы.

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

Среди всех реквизитов формы, как правило, существует один основной реквизит (в списке реквизитов он выделен жирным шрифтом). Основной реквизит определяет источник данных для формы в целом. От типа значения основного реквизита формы зависит не только то, какие данные будут отображены в элементах управления формы, но и поведение самой формы. Например, если основному реквизиту формы указать тип ДокументОбъект.АктОбОказанииУслуг, то при закрытии формы программа будет запрашивать подтверждение записи и проведения документа. Если же основному реквизиту формы указать тип значения СправочникСписок.Услуги, то подобного подтверждения при закрытии формы не будет.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *