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

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

  • автор:

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

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

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

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

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

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

К онструиторы форм

Для каждого объекта конфигурации, в составе которого могут находится подчиненные объекты типа <Форма>, при добавлении новой формы запускается Конструктор формы. Это специальный мастер, с помощью которого производится выбор типа формы и размещаются реквизиты объекта конфигурации. Несмотря на существенные различия типов объектов, для которых производится создание формы, конструкторы имеют много общего. Рассмотрим работу конструктора на примере конструктора формы справочника.

Создадим в каркасной конфигурации форму элемента справочника «Валюты». В окне редактирования объекта справочника «Валюты» на закладке «Формы» в поле для

отображения списка форм по кнопке ^’ или выбрав из контекстного меню пункт «Добавить» добавим форму. При создании новой формы объекта на экран выводится конструктор формы. Группа элементов управления «Выберите тип формы» предназначена для выбора типа формы (состав определяется видом выбранного объекта конфигурации, для которого создается форма). Выберем форму элемента справочника

Ч исло форм по каждому типу форм не ограничено. Если у объекта несколько форм одного типа, то одну из них можно выбрать в качестве основной. Для указания основной формы установим флажок «Назначить форму основной». Если выбрана произвольная форма, то основной реквизит не создается — форма имеет типовое поведение. При выборе формы в качестве основной создается основной реквизит и поведение формы отлично от типового. Данные отличия описываются объектами «Расширение формы».

Выбор типа формы определяет тип основного реквизита и поведение всей формы, а также возможный состав команд панели инструментов.

ВАЖНО. Конструктор формы не включает в список те реквизиты, чей тип не имеет визуального представления (например Хранилище значений).

В дальнейшем можно изменить состав реквизитов с помощью окна «Размещение данных». Для вызова окна выберите пункт «Форма/ Размещение данных» главного меню.

При создании формы в ней могут быть размещены две стандартные командные панели. Для панелей конструктор указывает в качестве источника действий значение «Форма». Источник действий в дальнейшем может быть изменен, а состав команд может быгь расширен пользовательскими командами. Состав команд командных панелей определяется источником действий и типом основного реквизита формы.

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

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

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

Формы

Формы

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

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

Формы

Наряду с этим, могут существовать общие формы, не принадлежащие конкретным объектам конфигурации — общие формы.

Формы

Основные формы

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

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

Формы

А у документа Поступление товаров и услуг состав основных форм будет уже другим:

Формы

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

Автогенерируемые формы

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

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

Связь формы с данными

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

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

Формы

Например, если в качестве основного реквизита формы будет назначен документ Поступление товаров и услуг, то при закрытии формы система будет запрашивать подтверждение записи и проведения этого документа. Если же основным реквизитом формы назначить, скажем, справочник Номенклатура, то подобного запроса подтверждения при закрытии формы возникать не будет.

Структура формы

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

Отображаемая часть формы (видимая пользователю) описывается как дерево, включающее элементы формы.

Формы

Элементы могут представлять собой поля ввода, флажки, переключатели, кнопки и т. д. Кроме того, элемент может быть группой, включающей другие элементы. Группа может представляться как панель с рамкой, панель со страницами (закладками), собственно страница, командная панель. Помимо этого элемент может представлять собой таблицу, которая тоже включает элементы (колонки). Структура элементов описывает то, как будет выглядеть форма.

Формы

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

Формы

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

Формы

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

Формы

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

Формы

Механика работы форм

  • Форма существует и на клиенте и на сервере
    Она осуществляет клиент-серверное взаимодействие (передачу данных и оформительских свойств элементов)
  • Форма не работает с прикладными объектами
    В форме используются специальные универсальные объекты ДанныеФормы… Прикладные объекты работают только на сервере и только во время выполнения некоторых операций

Формы

  • Объект считывается из базы данных
  • Объект конвертируется в данные формы
  • Объект удаляется из памяти
  • Данные формы передаются на клиента
  • Данные формы получаются с клиента
  • Данные формы конвертируются в объект
  • Объект записывается в базу данных
  • Объект удаляется из памяти

Формы

Редактор форм

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

Вирус скуки

в версии 8.3 книги есть 28 глава, Приемы редактиварования форм.

Можно прочесть в эл. виде в учебной сборке.

А можно выгрузку данных?

Жесть, как ты это все осилил, я дошел только до 24 главы и все, руки опустились, я не помню что уже было пару глав назад. Как это все в себя запхать. Автору спасибо за проделанную работу, очень помог с ответами, т.к. многие ответы не очень явно даны в книге

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

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

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