Содержание
- 1 Реквизиты формы
- 1.1 Типы данных, доступные в управляемой форме
- 1.2 Преобразование прикладных объектов в данные формы
- 1.3 Передача данных между клиентской и серверной частями управляемой формы
- 1.4 Методы для преобразования данных прикладных объектов в данные формы
- 2 Программный интерфейс
- 2.1 ДанныеФормыДерево (FormDataTree)
- 2.1.1 ПолучитьЭлементы (GetItems)
- 2.1.2 НайтиПоИдентификатору (FindById)
- 2.2 ДанныеФормыЭлементДерева (FormDataTreeItem)
- 2.3 ДанныеФормыКоллекцияЭлементовДерева (FormDataTreeItemCollection)
- 2.1 ДанныеФормыДерево (FormDataTree)
- 3 Особенности работы с деревом значений
- 3.1 Обновление дерева
Реквизиты формы
Набор реквизитов формы описывает состав данных, которые отображаются, редактируются или хранятся в форме. При этом реквизиты формы сами по себе не обеспечивают возможности отображения и редактирования данных. Для отображения и редактирования служат элементы формы (смотрите раздел «Элементы формы» данной главы), связанные с реквизитами формы. Совокупность всех реквизитов формы будем называть данными формы.
Важно! Необходимо помнить, что, в отличие от обычных форм, все данные управляемой формы должны быть описаны в виде реквизитов. Не допускается использование переменных модуля формы в качестве источников данных для элементов формы.
Имеется возможность назначить Основной реквизит формы, т. е. реквизит, который будет определять стандартную функциональность формы (расширение формы). Следует помнить, что основной реквизит у формы может быть только один.
Расширение формы – это дополнительные свойства, методы и параметры формы объекта УправляемаяФорма, характерные для объекта, являющегося основным элементом формы.
В процессе разработки формы можно явно задать возможность просмотра и редактирования конкретных реквизитов формы, в разрезе ролей, с помощью свойств Просмотр и Редактирование (подробнее смотрите раздел «Ролевая настройка формы» главы «Редакторы»). Кроме того, доступность того или иного реквизита в самой форме можно настраивать с помощью функциональных опций (подробнее о функциональных опциях можно посмотреть в главе «Управление интерфейсом конфигурации»).
Свойство реквизита формы Сохраняемые данные является признаком того, что интерактивное изменение реквизита будет приводить к попытке блокировки данных формы для редактирования, а также к автоматической установке признака модифицированности формы.
Типы данных, доступные в управляемой форме
Управляемая форма отличается от обычной формы также и типами данных, с которыми она работает. Если обычная форма работает с большинством типов, которые предоставляет 1С:Предприятие (в том числе и вида СправочникОбъект, ДокументОбъект и т. д.), то в управляемой форме можно выделить следующие категории типов:
- типы, которые непосредственно используются в форме – это те типы, которые существуют на стороне тонкого и Веб-клиента (например, Число, СправочникСсылка.Товары, ГрафическаяСхема, ТабличныйДокумент);
- типы, которые будут преобразованы в специальные типы данных – типы данных управляемой формы. Такие типы отображаются в списке реквизитов формы в круглых скобках, например (СправочникОбъект.Товары);
- динамический список (подробнее см. раздел «Динамический список» данной главы).
Преобразование прикладных объектов в данные формы
Некоторые прикладные типы (такие как СправочникОбъект и т. д.) не существуют на стороне тонкого и Веб-клиентов (подробнее см. главу «Концепция управляемого приложения»). Поэтому для представления в форме таких прикладных типов в платформе введены специальные типы данных, предназначенные для работы в управляемых формах. Эта особенность управляемого приложения обуславливает необходимость выполнять преобразование прикладных объектов в данные формы (и обратно).
Используются следующие типы данных:
- ДанныеФормыСтруктура – содержит набор свойств произвольного типа. Свойствами могут быть другие структуры, коллекции или структуры с коллекциями. Таким типом представляется, например, в форме СправочникОбъект.
- ДанныеФормыКоллекция – это список типизированных значений, похожий на массив. Доступ к элементу коллекции осуществляется по индексу или по идентификатору. Доступ по идентификатору может отсутствовать в некоторых случаях. Это обусловлено типом прикладного объекта, который представлен этой коллекцией. Идентификатором может быть любое целое число. Таким типом представляется, например, в форме табличная часть.
- ДанныеФормыСтруктураСКоллекцией – это объект, который представлен в виде структуры и коллекции одновременно. С ним можно обращаться как с любой из этих сущностей. Таким типом представляется, например, в форме набор записей.
- ДанныеФормыДерево – объект предназначен для хранения иерархических данных.
Прикладной объект представлен либо одним, либо несколькими элементами данных формы. В общем виде иерархия и состав данных формы зависят от сложности и взаимосвязи прикладных объектов управляемой формы.
Например, документ, содержащий табличную часть, будет представлен объектом типа ДанныеФормыСтруктура (собственно документ), которому подчинен объект типа ДанныеФормыКоллекция (табличная часть документа).
Важно! Во время разработки конфигурации важно помнить, что прикладные объекты доступны только на сервере, в то время как объектами данных форм можно пользоваться и на сервере, и на клиенте.
Передача данных между клиентской и серверной частями управляемой формы
Фактически можно сказать, что данные формы – это унифицированное представление данных различных прикладных объектов, с которыми форма работает единообразно и которые присутствуют и на сервере, и на клиенте. То есть форма содержит некоторую «проекцию» данных прикладных объектов в виде своих собственных типов данных и выполняет преобразование между ними при необходимости. Однако в случае если разработчик конфигурации реализует свой алгоритм обработки данных, то преобразование данных (из специализированных типов в прикладные и обратно) он должен выполнять самостоятельно.
При редактировании реквизитов формы в специализированном редакторе (подробнее см. раздел «Реквизиты формы» главы «Редакторы») имеется возможность влиять на передачу данных между клиентом и сервером во время работы формы. Для этого служит колонка редактора реквизитов Использовать всегда. Действие этого свойства различается для трех типов реквизитов:
- Для реквизита, подчиненного динамическому списку (колонке динамического списка):
- свойство включено – реквизит всегда считывается из базы данных и включается в данные формы;
- свойство выключено – реквизит считывается из базы данных и включается в данные формы только тогда, когда есть видимый в данный момент элемент формы, связанный с реквизитом или его подчиненным реквизитом.
- Для реквизита, подчиненного коллекции движений:
- свойство включено – движения документа считываются из базы данных и будут присутствовать в данных формы;
- свойство выключено – движения документа не будут считываться из базы данных и не попадут в данные формы (если нет элемента формы, ссылающегося на движения документа).
- Остальные реквизиты формы:
- свойство включено – реквизит будет присутствовать в данных формы вне зависимости от того, есть или нет хоть один элемент формы, который связан с реквизитом или его подчиненным реквизитом;
- свойство выключено – реквизит будет присутствовать в данных формы только в том случае, если есть элемент формы, связанный с реквизитом или его подчиненным реквизитом. В отличие от реквизитов динамического списка, здесь не играет роли видимость элемента, связанного с реквизитом.
Примечание. Следует помнить, что свойство, установленное у родительского реквизита, действует на все подчиненные реквизиты. Например, если свойство Использовать всегда снято у табличной части документа, то система считает, что это свойство снято и у всех подчиненных реквизитов (несмотря на фактическое состояние свойства).
Методы для преобразования данных прикладных объектов в данные формы
Для конвертирования прикладных объектов в данные формы и обратно существует набор глобальных методов:
- ЗначениеВДанныеФормы(),
- ДанныеФормыВЗначение(),
- КопироватьДанныеФормы().
Важно! Методы, работающие с прикладными объектами, доступны только в серверных процедурах. Метод для копирования значений между данными формы доступен на сервере и на клиенте, так как не требует прикладных объектов в качестве параметров.
Во время конвертирования данных формы в прикладной объект нужно учитывать их совместимость.
- ЗначениеВДанныеФормы() – преобразует объект прикладного типа в данные формы;
- ДанныеФормыВЗначение() – преобразует данные формы в объект прикладного типа;
- КопироватьДанныеФормы() – производит копирование данных формы, обладающих совместимой структурой. Возвращает значение Истина, если копирование произведено, или Ложь, если структура объектов несовместима.
Примечание. При выполнении стандартных действий (открытие формы, выполнение стандартной команды Записать и т. д.) формы с основным реквизитом, преобразование выполняется автоматически.
Приведем пример, как использовать преобразование данных в собственных алгоритмах.
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ОбъектТовар = Справочники.Товары.НайтиПоНаименованию(«Кофейник»).ПолучитьОбъект(); ЗначениеВДанныеФормы(ОбъектТовар, Объект); КонецПроцедуры &НаКлиенте Процедура Записать() ЗаписатьНаСервере(); КонецПроцедуры &НаСервере Процедура ЗаписатьНаСервере() ОбъектТовар = ДанныеФормыВЗначение(Объект, Тип(«СправочникОбъект.Товары»)); ОбъектТовар.Записать(); КонецПроцедуры
Также у объекта УправляемаяФорма существуют методы, доступные на сервере:
- ЗначениеВРеквизитФормы() – выполняет преобразование объекта прикладного типа в заданный реквизит формы.
- РеквизитФормыВЗначение() – преобразует реквизит данных формы в объект прикладного типа.
Использование данных методов обычно удобнее, так как они, имеют, например, информацию о типе реквизита формы. Кроме того, метод РеквизитФормыВЗначение() выполняет установку соответствия данных формы и объекта, которая используется при формировании сообщений. Подробнее об этом можно прочитать в главе «Сервисные возможности навигации».
Приведем пример использования этих методов.
&НаСервере Процедура ПересчитатьНаСервере() // Преобразует реквизит Объект в прикладной объект. Документ = РеквизитФормыВЗначение(«Объект»); // Выполняет пересчет методом, определенным в модуле документа. Документ.Пересчитать(); // Преобразует прикладной объект обратно в реквизит. ЗначениеВРеквизитФормы(Документ, «Объект»); КонецПроцедуры
Программный интерфейс
ДанныеФормыДерево (FormDataTree)
Методы:
- НайтиПоИдентификатору (FindById)
- ПолучитьЭлементы (GetItems)
Описание:
Предназначен для моделирования дерева в данных управляемой формы.
Доступность: клиент, сервер, тонкий клиент, веб-клиент. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту определяется в пространстве имен . Имя типа XDTO:
ПолучитьЭлементы (GetItems)
Синтаксис:
ПолучитьЭлементы()
Возвращаемое значение:
Тип: ДанныеФормыКоллекцияЭлементовДерева.
Описание:
Получает коллекцию элементов дерева верхнего уровня.
Доступность: клиент, сервер, тонкий клиент, веб-клиент.
НайтиПоИдентификатору (FindById)
Синтаксис:
НайтиПоИдентификатору(<Идентификатор>)
Параметры:
<Идентификатор> (обязательный)
Тип: Число. Идентификатор элемента дерева.
Возвращаемое значение:
Тип: ДанныеФормыЭлементДерева.
Описание:
Получает элемент коллекции по идентификатору.
Доступность: клиент, сервер, тонкий клиент, веб-клиент.
ДанныеФормыЭлементДерева (FormDataTreeItem)
Свойства:
<Имя свойства> (<Имя свойства>)
Методы:
- ПолучитьИдентификатор (GetId)
- ПолучитьРодителя (GetParent)
- ПолучитьЭлементы (GetItems)
- Свойство (Property)
Описание:
Элемент дерева данных формы.
Доступность: клиент, сервер, тонкий клиент, веб-клиент. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту определяется в пространстве имен . Имя типа XDTO:
ДанныеФормыКоллекцияЭлементовДерева (FormDataTreeItemCollection)
Элементы коллекции:
ДанныеФормыЭлементДерева
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
Возможно обращение к элементу коллекции посредством оператора […]. В качестве аргумента передается индекс элемента.
Методы:
- Вставить (Insert)
- Добавить (Add)
- Индекс (IndexOf)
- Количество (Count)
- Очистить (Clear)
- Получить (Get)
- Сдвинуть (Move)
- Удалить (Delete)
Описание:
Коллекция элементов дерева.
Доступность: клиент, сервер, тонкий клиент, веб-клиент.
См. также:
- ДанныеФормыЭлементДерева, метод ПолучитьЭлементы
- ДанныеФормыДерево, метод ПолучитьЭлементы
Особенности работы с деревом значений
Обновление дерева
Существует проблема падения платформы при обновлении дерева.
Если в дереве был развернут какой-либо узел и выбран подчиненный узел, то при обновлении дерева функцией ЗначениеВДанныеФормы
происходит падение платформы.
Решение: перед обновлением нужно очищать дерево.
Например:
&НаСервере Процедура ОчиститьДерево(элементы) Для каждого элемент из элементы Цикл ОчиститьДерево(элемент.ПолучитьЭлементы()); КонецЦикла; элементы.Очистить(); КонецПроцедуры &НаСервере Процедура ЗаполнитьДеревоПонятий() дзПонятия = срСвойства.ПостроитьДеревоПонятий(НаДату, Мета.ТекущаяИБ()); ОчиститьДерево(ДеревоПонятий.ПолучитьЭлементы()); ЗначениеВДанныеФормы(дзПонятия, ДеревоПонятий); КонецПроцедуры &НаКлиенте Процедура НаДатуПриИзменении(Элемент) ЗаполнитьДеревоПонятий(); КонецПроцедуры
Для представления в форме объектов конфигурации (справочники, документы и т.п.) существуют специальные типы данных:
ДанныеФормыСтруктура
— содержит набор свойств произвольного типа. Свойствами могут быть другие структуры, коллекции или структуры с коллекциями. Таким типом представляется, например, в формеСправочникОбъект
.ДанныеФормыКоллекция
— это список типизированных значений, похожий на массив. Доступ к элементу коллекции осуществляется по индексу или по идентификатору. Доступ по идентификатору может отсутствовать в некоторых случаях. Это обусловлено типом прикладного объекта, который представлен этой коллекцией. Идентификатором может быть любое целое число. Таким типом представляется, например, в форме табличная часть.ДанныеФормыСтруктураСКоллекцией
— это объект, который представлен в виде структуры и коллекции одновременно. С ним можно обращаться как с любой из этих сущностей. Таким типом представляется, например, в форме набор записей.ДанныеФормыДерево
— объект предназначен для хранения иерархических данных.
Прикладной объект представлен либо одним, либо несколькими элементами данных формы. Например, документ, содержащий табличную часть, будет представлен объектом типа ДанныеФормыСтруктура
(собственно документ), которому подчинен объект типа ДанныеФормыКоллекция
(табличная часть документа).
Во время разработки конфигурации важно помнить, что прикладные объекты доступны только на сервере, в то время как объектами данных форм можно пользоваться и на сервере, и на клиенте.
В редакторе формы вместо имен этих типов обычно отображаются те типы, данные которых содержит реквизит. Например, если реквизит Объект
содержит данные элемента справочника Клиенты
, то в колонке «Тип» отображается ненастоящий тип этого реквизита формы — ДанныеФормыСтруктура
, а тип прикладного объекта, данные которого содержатся в этом реквизите — СправочникОбъект.Клиенты
. Чтобы было понятно, что это «ненастоящий тип» реквизита, тип прикладного объекта показывается в круглых скобках.
Таким образом форма содержит некоторую «проекцию» данных объектов в виде своих собственных типов данных и автоматически выполняет преобразование между ними при необходимости. Однако, можно и самостоятельно преобразовать объект в данные формы и обратно с использованием глобальных методов:
ЗначениеВДанныеФормы()
— преобразует объект прикладного типа в данные формы;ДанныеФормыВЗначение()
— преобразует данные формы в объект прикладного типа.
Аналогичные методы, предназначенные для конвертирования значений реквизитов формы в прикладные объекты и обратно, существуют и у самой управляемой формы:
ЗначениеВРеквизитФормы()
— преобразует объект прикладного типа в реквизит управляемой формы;РеквизитФормыВЗначение()
— преобразует реквизит управляемой формы в значение прикладного типа.
Методы, работающие с прикладными объектами, доступны только в серверных процедурах формы. При выполнении стандартных действий формы с основным реквизитом (открытие формы, выполнение стандартной команды Записать()
и т. д.) преобразование выполняется автоматически.
Рассмотрим пример преобразования данных. Пусть у нас есть особенная форма, в которой в качестве одного из реквизитов (ТоварДляМодификации
) используются данные элемента справочника Товары
. При создании формы на сервере мы по некоторому алгоритму определяем, какой именно это товар, и читаем его данные в реквизит формы. При этом используется преобразование данных ЗначениеВДанныеФормы()
.
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ОбъектТовар = Справочники.Товары.НайтиПоНаименованию("Кофейник").ПолучитьОбъект(); ЗначениеВДанныеФормы(ОбъектТовар, ТоварДляМодификации); КонецПроцедуры &НаКлиенте Процедура Записать() ЗаписатьНаСервере(); КонецПроцедуры &НаСервере Процедура ЗаписатьНаСервере() ОбъектТовар = ДанныеФормыВЗначение( ТоварДляМодификации, Тип("СправочникОбъект.Товары") ); ОбъектТовар.Записать(); КонецПроцедуры
Как уже упоминалось, у формы также есть методы, позволяющие преобразовать прикладные данные в реквизит формы и наоборот. Использование данных методов обычно удобнее, так как они имеют, например, информацию о типе реквизита формы. Кроме этого, метод РеквизитФормыВЗначение()
выполняет установку соответствия данных формы и объекта, которая используется при формировании сообщений.
Приведем пример использования этих методов. В серверной процедуре формы мы получаем прикладной объект из реквизита формы и выполняем метод этого прикладного объекта Пересчитать()
. Затем данные объекта, измененные в результате пересчета, преобразуем обратно в реквизит формы.
&НаСервере Процедура ПересчитатьНаСервере() // Преобразуем реквизит Объект в прикладной объект Документ = РеквизитФормыВЗначение("Объект"); // Выполняем пересчет методом, определенным в модуле документа Документ.Пересчитать(); // Преобразуем прикладной объект обратно в реквизит ЗначениеВРеквизитФормы(Документ, "Объект"); КонецПроцедуры
Поиск:
1С:Предприятие • Данные формы в значение • Значение в данные формы • Значение в реквизит формы • Реквизит формы в значение • Типы данных • Управляемая форма
- свойство включено – реквизит будет присутствовать в данных формы вне зависимости от того, есть или нет хоть один элемент формы, который связан с реквизитом или его подчиненным реквизитом;
- свойство выключено – реквизит будет присутствовать в данных формы только в том случае, если есть элемент формы, связанный с реквизитом или его подчиненным реквизитом. В отличие от реквизитов динамического списка, здесь не играет роли видимость элемента, связанного с реквизитом.
Примечание. Следует помнить, что свойство, установленное у родительского реквизита, действует на все подчиненные реквизиты. Например, если свойство Использовать всегда снято у табличной части документа, то система считает, что это свойство снято и у всех подчиненных реквизитов (несмотря на фактическое состояние свойства).
Методы для преобразования данных прикладных объектов в данные формы
Для конвертирования прикладных объектов в данные формы и обратно существует набор глобальных методов:
- ЗначениеВДанныеФормы(),
- ДанныеФормыВЗначение(),
- КопироватьДанныеФормы().
Важно! Методы, работающие с прикладными объектами, доступны только в серверных процедурах. Метод для копирования значений между данными формы доступен на сервере и на клиенте, так как не требует прикладных объектов в качестве параметров.
Во время конвертирования данных формы в прикладной объект нужно учитывать их совместимость.
- ЗначениеВДанныеФормы() – преобразует объект прикладного типа в данные формы;
- ДанныеФормыВЗначение() – преобразует данные формы в объект прикладного типа;
- КопироватьДанныеФормы() – производит копирование данных формы, обладающих совместимой структурой. Возвращает значение Истина, если копирование произведено, или Ложь, если структура объектов несовместима.
Примечание. При выполнении стандартных действий (открытие формы, выполнение стандартной команды Записать и т. д.) формы с основным реквизитом, преобразование выполняется автоматически.
Приведем пример, как использовать преобразование данных в собственных алгоритмах.
Также у объекта УправляемаяФорма существуют методы, доступные на сервере:
- ЗначениеВРеквизитФормы() – выполняет преобразование объекта прикладного типа в заданный реквизит формы.
- РеквизитФормыВЗначение() – преобразует реквизит данных формы в объект прикладного типа.
Использование данных методов обычно удобнее, так как они, имеют, например, информацию о типе реквизита формы. Кроме того, метод РеквизитФормыВЗначение() выполняет установку соответствия данных формы и объекта, которая используется при формировании сообщений. Подробнее об этом можно прочитать в главе «Сервисные возможности навигации».
Приведем пример использования этих методов.
Программный интерфейс
ДанныеФормыДерево (FormDataTree)
- НайтиПоИдентификатору (FindById)
- ПолучитьЭлементы (GetItems)
Предназначен для моделирования дерева в данных управляемой формы.
Доступность: клиент, сервер, тонкий клиент, веб-клиент. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту определяется в пространстве имен . Имя типа XDTO:
ПолучитьЭлементы (GetItems)
Получает коллекцию элементов дерева верхнего уровня.
Доступность: клиент, сервер, тонкий клиент, веб-клиент.
НайтиПоИдентификатору (FindById)
Тип: Число. Идентификатор элемента дерева.
Получает элемент коллекции по идентификатору.
Доступность: клиент, сервер, тонкий клиент, веб-клиент.
ДанныеФормыЭлементДерева (FormDataTreeItem)
<Имя свойства> (<Имя свойства>)
- ПолучитьИдентификатор (GetId)
- ПолучитьРодителя (GetParent)
- ПолучитьЭлементы (GetItems)
- Свойство (Property)
Элемент дерева данных формы.
Доступность: клиент, сервер, тонкий клиент, веб-клиент. Данный объект может быть сериализован в/из XDTO. Тип XDTO, соответствующий данному объекту определяется в пространстве имен . Имя типа XDTO:
ДанныеФормыКоллекцияЭлементовДерева (FormDataTreeItemCollection)
Элементы коллекции: ДанныеФормыЭлементДерева
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции. Возможно обращение к элементу коллекции посредством оператора [. ]. В качестве аргумента передается индекс элемента.
- Вставить (Insert)
- Добавить (Add)
- Индекс (IndexOf)
- Количество (Count)
- Очистить (Clear)
- Получить (Get)
- Сдвинуть (Move)
- Удалить (Delete)
Коллекция элементов дерева.
Доступность: клиент, сервер, тонкий клиент, веб-клиент.
- ДанныеФормыЭлементДерева, метод ПолучитьЭлементы
- ДанныеФормыДерево, метод ПолучитьЭлементы
Особенности работы с деревом значений
Обновление дерева
Существует проблема падения платформы при обновлении дерева.
Если в дереве был развернут какой-либо узел и выбран подчиненный узел, то при обновлении дерева функцией ЗначениеВДанныеФормы происходит падение платформы.
Для чего служит основной реквизит формы
10.7 Что бы произвольной управляемой форме назначить основной реквизит.
- форму нужно сделать основной, основной реквизит при этом определяется автоматически
- 2. нужно в свойствах реквизита формы установить флажок «Основной реквизит»
- нужно войти в меню «Правка», пункт «Основной реквизит» и выбрать нужное значение
- нужно заполнить свойство «Данные» формы, выбрав нужный реквизит формы
10.8 Что бы произвольной обычной форме назначить основной реквизит.
- форму нужно сделать основной, основной реквизит при этом определяется автоматически
- нужно в свойствах реквизита формы установить флажок «Основной реквизит»
- нужно войти в меню «Правка», пункт «Основной реквизит» и выбрать нужное значение
- 4. нужно заполнить свойство «Данные» формы, выбрав нужный реквизит формы
10.9 При наличии одного основного реквизита формы можно ли добавить еще один основной реквизит?
- 1. Это не возможно
- Можно посредством назначения соответствующего значения свойства реквизита формы
- Можно только программно, при обращении к объекту «Форма»
- Можно посредством добавления еще одного значения к соответствующему свойству формы
10.10 Для чего нужны основные формы прикладных объектов?
- Только у основных форм может быть назначен основной реквизит, определяющий состав формы
- 2. Основные формы вызываются взамен автоматически генерируемых по умолчанию при соответствующем обращении к объекту
- Только из основных форм есть возможность обращаться к контексту объекта напрямую
- Только у основных форм возможно использование расширения форм, определяющего специфику состава и поведения формы, отличного от типового
10.11 В качестве основной формы можно назначить?
- Только управляемую форму
- Только обычную
- Обычную и управляемую
- Возможность зависит от настроек конфигурации
- 5. Возможность зависит от настроек конфигуратора
10.12 Как определяется рабочая область рабочего стола?
- Заполняется автоматически генерируемыми формами на основании стандартных команд
- Набирается из списка общих форм
- Набирается из списка произвольных форм
- Набирается из списка основных форм
- Набирается из списка любых определенных в конфигураторе форм
- 6. Набирается из списка управляемых форм
10.13 Разместить формы в области рабочего стола можно:
- По горизонтали в любом количестве, по вертикали в любом количестве
- По горизонтали не более двух, по вертикали не более двух
- 3. По горизонтали не более двух, по вертикали в любом количестве
- По горизонтали в любом количестве, по вертикали не более двух
10.14 Рабочий стол можно отобразить:
1. В основном окне
- Во вспомогательном окне, удерживая клавишу «Shift»
- Зависит от настроек конфигурации
- Верны варианты I и 2
10.15 Управляемые формы списков можно отобразить:
1. В основном окне
- Во вспомогательном окне, удерживая клавишу «Shift»
- Зависит от настроек формы
- 4. Верны варианты I и 2
10.16 Настройка формы в режиме исполнения позволяет:
- Изменить видимость существующих на форме элементов управления
- Изменять формат, ширину, высоту, текст заголовка и др. свойства элементов управления существующих на форме
- Удалять с формы любые элементы управления
- Добавлять на форму новые элементы управления
- 5. Верны варианты I и 2
- Верны варианты I, 2 и 3
10.17 Настройка списка в режиме исполнения позволяет:
- Изменить видимость существующих в списке колонок
- Удалять колонки из списка
- Добавлять колонки в списке
- 4. Изменить порядок, состав, иерархическое представление и условное оформление записей
- Верпы варианты I и 4
- Верны все варианты
10.18 Какие возможности по настройке порядка обхода элементов в управляемой форме существуют в системе 1С:Предприятие 8?
- Порядок обхода единый для всех пользователей и не может изменяться
- Порядок обхода единый для всех пользователей, но может изменяться программно
- Порядок обхода единый для всех пользователей, но может изменяться программно и интерактивно самим пользователем
- Порядок обхода зависит от ролей пользователя и функциональных опций и не может изменяться
- Порядок обхода зависит от ролей пользователя и функциональных опций и но может изменяться программно
- 6. Порядок обхода зависит от ролей пользователя и функциональных опций, но может изменяться программно и интерактивно самим пользователем в рамках доступных элементов
10.19 Панель навигации может существовать:
- Только в основном окне на рабочем столе
- В основном окне на рабочем столе и в разделах
- 3. В основном окне и вспомогательных окнах
10.20 Параметры формы предназначены:
- для организации функциональной связи между формами
- для управления функциональностью формы при открытии
- для отображения информации на форме
- 4. верны варианты I и 2
- верны все варианты
10.21 При наличии одного ключевого параметра можно ли добавить еще один ключевой параметр формы?
- Это не возможно
- 2. Можно посредством назначения соответствующего значения свойства параметра формы
- Можно только программно, при обращении к объекту «Форма»
- Можно посредством добавления еще одного значения к соответствующему свойству формы
10.22 Чем отличается ключевой параметр формы от обычного?
1. Ключевой параметр существует только при создании формы, обычный —всегда
- 2. Обычный параметр существует только при создании формы, ключевой всегда
- Ключевой параметр существует только при открытии формы, обычный только при закрытии формы
- Обычный параметр существует только при открытии формы, ключевой только при закрытии формы
10.23 Для добавления команды в виде кнопки на управляемой форме можно:
- разместить на форме элемент управления «Кнопка», назначить обработчик события «Нажатие» и определить алгоритм в модуле формы
- добавить в форму элемент управления «Кнопка», назначить команду из списка команд формы и определить алгоритм команды в модуле формы
- перетащить команду в дерево элементов
- добавить команду формы в командный интерфейс формы и включить ее видимость
- 5. верны варианты 2 и 3
10.24 Для добавления команды в виде кнопки на управляемой форме можно:
- разместить на форме элемент управления «Кнопка», назначить обработчик события «Нажатие» и определить алгоритм в модуле формы
- 2. добавить в форму элемент управления «Кнопка», назначить команду из списка команд формы и определить алгоритм команды в модуле формы
- добавить команду формы в командный интерфейс формы и включить ее видимость
- верпы варианты 2 и 3
10.25 Для добавления команды в виде кнопки на обычной форме можно:
- 1. разместить на форме элемент управления «Кнопка», назначить обработчик события «Нажатие» и определить алгоритм в модуле формы
- добавить в форму элемент управления «Кнопка», назначить команду из списка команд формы и определить алгоритм команды в модуле формы
- добавить команду формы в командный интерфейс формы и включить се видимость
- верны варианты 2 и 3
10.26 С помощью элемента управления «Индикатор» можно:
- Отобразить текущее состояние реквизита формы любого типа
- 2. Отобразить текущее состояние реквизита формы только числового типа
- Быстро и наглядно ввести значение любого типа
- Быстро и наглядно ввести значение только числового типа
- Верны ответы 1 и 3
10.27 На рисунке представлена:
- 1. Диаграмма
- Сводная диаграмма
- Дендрограмма
- Диаграмма Ганта
10.28 Поведение элементов управления.
- всегда стандартно
- определяется подчинением формы соответствующему прикладному объекту
- 3. стандартно, но имеет место специфичное поведение, определяемое расширениями формы, расширениями элементов управления и расширениями, связанными с отображаемыми данными
- определяется только расширением формы, расширением элементов управления или отображаемыми данными
10.29 С помощью элемента управления «Переключатель» можно:
- 1. Выбрать одно значение из нескольких заранее определенных вариантов
- Выбрать несколько значений из заранее определенных вариантов
- Выбрать одно или несколько значений из заранее определенных вариантов
10.30 Возможность системы создания «налету» форм по умолчанию в режиме «1С:Предприятие».
- следует использовать только в тех случаях, когда обращения к данной форме редки, поскольку «притормаживает» работу системы
- 2. следует использовать во всех случаях, когда не требуется выполнение программных действий в форме, и нет особых требований по отношению внешнего вида формы объекта со стороны пользователя
- следует использовать только в тех случаях, когда форму необходимо исключить из состава основных
- следует использовать только для объектов, обладающих простой структурой
10.31 Какой из элементов управления предназначен для интерактивного анализа многомерных данных в графическом виде?
- Диаграмма
- 2. Сводная диаграмма
- Дендрограмма
- Диаграмма Ганга
10.32 Для хранения значения элемента управления «Переключатель» можно использовать:
- Реквизит формы, создаваемый конструктором при добавлении переключателя в форму
- Существовавший ранее реквизит формы
- 3. Верны ответы 1 и 2
10.33 При использовании свойства диаграммы «МаксимумСерий-Количество», если количество серий превышает максимальное значение:
- Выводятся первые серии, количество которых задается этим свойством
- Выводятся серии, выбираемы по алгоритму: по каждой серии ищется максимальное точечное значение, эти значения сортируются и из полученного списка выбирается для показа (МаксимумСсрийКоличество — 1) серий. Остальные серии игнорируются
- 3. Выводятся серии, выбираемы по алгоритму: по каждой серии ищется максимальное точечное значение, эти значения сортируются и из полученного списка выбирается для показа (МаксимумСерийКоличество — 1) серий. Значения остальных серий суммируются и выводятся в серии «Сводная»
10.34 Для чего используются привязки в обычной форме?
- 1. Для обеспечения управления поведением границ элементов управления при изменении размеров формы
- Для обеспечения управления видимостью элементов управления в зависимости от видимости других элементов управления
- Для обеспечения управления доступностью элементов управления в зависимости от доступности других элементов управления
- Для обеспечения управления доступностью элементов управления в зависимости от видимости или доступности других элементов управления
10.35 При расположении в панели обычной формы элементов управления.
- их можно привязать к границам панели
- 2. их можно привязать к границам элементов управления, расположенным в панели и к границам панели
- их можно привязать к границам элементов управления, расположенных в любом месте формы
- их можно привязать к границам элементов управления, расположенных в любом месте формы и к границам формы
10.36 С помощью кнопки панели инструментов «Элементы управления, указанной на рисунке, будут созданы:
- Элемент управления «Флажок»
- Реквизит формы с типом значения «Булево»
- 3. Верны ответы I и 2
10.37 Значение типа «ЗначениеДиаграммы» позволяет получить:
- Значение диаграммы в определенной точке и серии
- Значение расшифровки в определенной точке и серии
- 3. Верны ответы I и 2
10.38 Как включить возможность интерактивной перенастройки порядка обхода элементов управления обычной формы?
- Через меню «Форма» снять флажок «Автоматический порядок обхода»
- 2. Снять флажок «Автопорядок обхода» в свойствах формы
- Снять флажок «Автопорядок обхода» в свойствах каждой панели формы
10.39 Элемент управления «Надпись» предназначен:
- Для расположения в форме поясняющей информации
- Для расположения в форме гиперссылок
- Для расположения в форме бегущей строки
- Для расположения в форме картинок с поясняющей информацией
- 5. Верны ответы 1, 2, 3 и 4
10.40 Свойство диаграммы «БазовоеЗначение» содержит:
- 1. Начальное значение координат. Используется в случае, когда изменения параметра, отображаемого в диаграмме, несоизмеримо малы по сравнению с его минимальным значением
- Максимальное значение текущей серии
- Абсолютное значение, определяемое в свойстве «МаксимумСерийПроцент»
10.41 При размещении элементов управления в форме нельзя.
- 1. разместить один и тот же элемент управления на двух страницах
- разместить два элемента управления, отображающие данные одного и того же реквизита формы
- разместить два элемента управления, отображающие данные одного и того же реквизита формы на одной странице
- разместить два элемента управления, отображающие данные одного реквизита формы на любых страницах одной и той же панели
10.42 Если для элемента управления «Надпись» в качестве источника данных указан реквизит справочника, то выводимая надписью информация будет определяться:
- Свойством «Заголовок» элемента управления «Надпись»
- 2. Значением реквизита, указанного в свойстве «Данные» элемента управления «Надпись»
- Свойством «Заголовок» элемента управления «Надпись», если значение реквизита справочника неопределенно
10.43 Сколько может быть создано форм, подчиненных справочнику «Номенклатура»?
- 1. Произвольное количество
- Форма элемента, форма группы (для иерархических справочников) и произвольное количество форм списка
- Только пять (по числу основных форм)
10.44 Элемент управления «Поле HTML -документа» предназначен:
- Для просмотра HTML-документов
- Для редактирования HTML-документов
- 3. Для просмотра или редактирования HTML -документов
10.45 Редактировать HTML -документ, отображаемый в элементе управления «Поле HTML -документа», можно:
- В режиме конфигуратора
- 2. В режиме 1С:Предприятие
- В режиме конфигуратора и в режиме 1С:Предприятие
10.46 HTML -документ в элементе управления «Поле HTML -документа» может быть сформирован:
- Программно
- Загружен из ресурса, указываемого через URL
- Загружен из макета типа HTML-документ
- 4. Верны ответы 1, 2 и 3
10.47 Список значений, используемый в элементе управления «Поле выбора», может быть сформирован:
- Только программно
- Только в режиме конфигуратора в специальном окне, которое можно открыть в разделе «Использование» палитры свойств элемента управления
- Только в режиме 1С:Предприятие в специальном окне, которое можно открыть в разделе «Использование» палитры свойств элемента управления
- 4. Программно и в режиме конфигуратора в специальном окне, которое можно открыть в разделе «Использование» палитры свойств элемента управления
- Программно и в режиме 1С:Предприятие в специальном окне, которое можно открыть в разделе «Использование» палитры свойств элемента управления
10.48 Можно ли, нажав на картинку, выполнить некоторые действия?
- Нет, нельзя
- 2. Можно, для этого необходимо в окне свойств элемента управления «Поле картинки» установить флаг «Гиперссылка» и сформировать текст обработчика события «Нажатие»
- Можно, для этого необходимо сформировать текст обработчика события «Нажатие» элемента управления «Поле картинки». Устанавливать в окне свойств флаг «Гиперссылка» не надо
10.49 Для выбора значений из списков можно использовать следующие элементы управления:
- Поле ввода
- Поле выбора
- Поле списка
- Верны ответы 2 и 3
- 5. Верпы ответы 1, 2 и 3
10.50 С помощью элемента управления «Поле текстового документа» можно отображать и редактировать:
- Обычный текст
- Текст, написанный на языке запросов
- Текст, написанный на встроенном языке
- HTML-документы
- 5. Верны ответы 1, 2, 3 и 4
10.51 Элемент управления «Разделитель» позволяет:
- Визуально разделять элементы управления, размещенные в форме
- Перераспределять внутреннее пространство формы, изменяя размеры расположенных в ней элементов управления, при изменении размеров самой формы
- 3. Перераспределять внутреннее пространство формы, изменяя размеры расположенных в ней элементов управления, привязанных к разделителю. Размеры самой формы при этом не меняются
- Перераспределять внутреннее пространство формы, изменяя размеры расположенных в ней элементов управления, привязанных к разделителю, при изменении размеров самой формы
10.52 Визуально объединять элементы управления, размещенные в форме, можно с помощью:
- Элемента управления «Табличное поле»
- Элемента управления «Поле списка»
- 3. Элемента управления «Рамка группы»
10.53 Поясняющая информация на элементе управления «Кнопка» может быть представлена в виде:
- Только надписи
- Только картинки
- Одновременно, картинки и надписи
- Либо надписи, либо картинки
- 5. Верны ответы 1, 2 и 3
10.54 В качестве обработчика события «Нажатие» элемента управления «Кнопка» может быть:
- Выбрано стандартное действие
- Выбрана процедура модуля формы, в которой расположена кнопка
- Выбрана глобальная процедура, описанная в общем модуле
- 4. Верны ответы 1 и 2
- Верны ответы 1, 2 и 3
10.55 Можно ли при нажатии на элемент управления «Кнопка» осуществить вызов подменю?
- Нельзя
- Можно, для этого в качестве обработчика события «Нажатие» необходимо выбрать стандартное действие «Меню»
- 3. Можно, если в качестве значения свойства «Режим меню» выбрать «Использовать» или «Использовать дополнительно»
10.56 Сколько элементов управления «Командная панель» расположено на форме?
- 0
- 1
- 2
- 4. 3
- 4
10.57 Для управления информацией, расположенной в форме, элемент управления «Командная панель» может содержать:
- Набор кнопок
- Набор кнопок и подменю
- 3. Набор кнопок, разделителей и подменю
- Набор кнопок, надписей и подменю
- Набор кнопок, надписей, гиперссылок, разделителей и подменю
10.58 Каким образом для элемента управления «Командная панель» реализовать возможность его автоматического заполнения?
- В окне свойств достаточно установить флаг «Изменяет данные»
- 2. В окне свойств достаточно установить флаг «Автозаполнение»
- В окне свойств установить флаг «Изменяет данные» и, обязательно, выбрать значение свойства «Источник действий»
- В окне свойств установить флаг «Автозаполнение» и, обязательно, выбрать значение свойства «Источник действий»
10.59 В конфигурацию добавлен новый справочник «Договора», подчиненный справочнику «Контрагенты». Каким образом, в режиме Конфигуратора, необходимо модернизировать основные формы списка и элемента справочника «Контрагенты», чтобы для конкретного контрагента имелась возможность просмотреть его договора? Каждая из форм имеет автоматически заполняемую командную панель.
- В командную панель каждой из форм необходимо вставить кнопку, для обработчика события «Нажатие» которой выбрать стандартное действие «Открыть подчиненный справочник»
- В командную панель каждой из форм необходимо вставить кнопку, для которой добавить в модуль формы обработчик события «Нажатие»
- 3. Ничего делать не надо, в командную панель автоматически будет добавлена кнопка «Перейти», позволяющая открыть форму подчиненного справочника
- Верны ответы 1 и 2
10.60 Свойство «Вспомогательная» элемента управления «Командная панель» предназначено:
- Для расположения кнопок с командами, дополняющими команды основной панели формы
- 2. Для исключения командной панели из порядка обхода элементов управления в форме
- Для расположения кнопок с командами, относящимися к элементам управления формы, а не к самой форме
10.61 Элемент управления «Поле табличного документа» предназначен для размещения в форме:
- Данных в виде динамических списков
- 2. Табличного документа
- Верпы ответы 1 и 2
10.62 Элемент управления «Табличное поле» предназначен для размещения в форме:
- Данных в виде динамических списков
- Сводных таблиц
- Статических данных
- 4. Верны ответы 1 и 3
- Верны ответы 2 и 3
10.63 Данные в элементе управления «Табличное поле» могут быть отображены:
- В виде таблицы
- В виде дерева
- 3. Верны ответы 1 и 2
10.64 Можно ли одновременно создать элемент управления «Поле ввода» вместе с поясняющей надписью, представляющей элемент управления «Надпись»?
- Нет, нельзя, так как это разные элементы управления
- 2. Можно, для этого необходимо создавать ноле ввода через пункт главного меню «Форма-Вставить элемент управления. «
- Можно, для этого необходимо создавать поле ввода, воспользовавшись одноименной кнопкой на панели инструментов «Элементы управления»
10.65 Элемент управления «Поле ввода» предназначен для:
- Ввода значений непосредственно в поле, например, с клавиатуры
- Выбора ссылок на объекты
- Выбора значений из предварительно сформированного списка
- 4. Верны ответы 1, 2 и 3
- Верны ответы 1 и 2
10.66 Тонкая прерывистая линия красного цвета в поле ввода контрагента означает:
- Данное иоле недоступно для заполнения
- 2. Данное поле обязательно к заполнению
- У данного ноля создан обработчик события «ПроверкаЗаполнения
- У данного поля определен один (или более) обработчик события
10.67 Если в качестве типа значения для элемента управления «Поле ввода» выбрано «СправочникСсылка.Номенклатура», то можно ли организовать быстрый выбор значения этого поля, набирая название конкретной позиции номенклатуры непосредственно в самом поле ввода?
- Нет, нельзя
- Можно. Для этого необходимо выбрать свойство поля ввода «Автовыбор незаполненного»
- Можно. Для этого необходимо выбрать свойство поля ввода «Быстрый выбор»
- 4. Можно. Для этого необходимо в окне редактирования справочника «Номенклатура» на закладке «Формы» в поле «Ввод по строке» выбрать «Наименование»
10.68 Состав кнопок, расположенных справа у элемента управления «Попе ввода», определяется:
- Значением свойства поля ввода «Тип значения»
- Выбором соответствующего свойства в окне свойств элемента управления
- Видом формы
- 4. Верны ответы 1 и 2
- Верны ответы 1, 2 и 3
10.69 Какую кнопку необходимо создать у элемента управления «Поле ввода», чтобы для выбора значения можно было использовать выпадающий список?
- 1. Кнопку списка выбора
- Кнопку выбора
- Кнопку регулирования
- Нет правильного ответа
10.70 Можно ли в один элемент управления «Поле ввода» вводить значения разных типов?
- Нельзя
- Можно, если для него задан составной тин значения
- 3. Можно, если для него задан составной тип значения, а также свойство «Выбирать тип»
10.71 При ситуации, отображенной на картинке, если обратиться к «Сотрудник» в модуле формы документа, то.
- получим сообщение об ошибке из-за некорректного объединения контекстов
- 2. получим значение реквизита формы
- получим значение реквизита документа
- получим значение реквизита документа, но если требуется получить значение реквизита формы, можно использовать обращение «ЭтаФорма.Сотрудник»
10.72 На рисунке представлена:
- Диаграмма
- 2. Сводная диаграмма
- Дендрограмма
- Диаграмма Ганта
10.73 В модуле объекта справочника «Номенклатура» объявлена процедура со словом «Экспорт». Может ли она быть вызвана «напрямую» из модулей подчиненных форм?
- Конечно. Потому что это возможно из модуля любого объекта
- «Напрямую» она может быть вызвана только из модулей основных форм данного справочника
- 3. «Напрямую» она может быть вызвана из любой формы конфигурации, где основным реквизитом указан «СнравочникОбъект.Номенклатура»
- Да. Так она может быть вызвана из модуля любой подчиненной формы справочника «Номенклатура»
10.74 На рисунке представлена:
- Диаграмма
- Сводная диаграмма
- 3. Дендрограмма
- Диаграмма Ганта
10.75 Различается ли набор свойств у элемента управления «Поле ввода», созданного в форме и расположенного в табличном поле этой формы?
- 1. Различается
- Не различается
- Различается, если только это не поля одного типа значений
10.76 Свойство «Тип значения» элемента управления формы.
- можно менять всегда и любым способом
- можно менять только программно
- 3. нельзя изменить, если задана связь элемента управления с данными
- в принципе нельзя изменить
10.77 При обращении к форме «извне» для считывания данных.
- рекомендуется обращаться к общим переменным формы
- рекомендуется обращаться к элементам управления, отображающим данные
- 3. рекомендуется обращаться к реквизитам формы и свойствам расширения формы
- рекомендуется передавать данные через общие переменные общих модулей
10.78 На рисунке представлена:
- Диаграмма
- Сводная диаграмма
- Дендрограмма
- 4. Диаграмма Ганта
10.79 Для чего предназначены элементы управления?
- Для хранения данных
- Для обеспечения возможности интерактивного изменения данных
- Для обеспечения отображения данных
- Верны I и 3
- 5. Верны 2 и 3
10.80 Каким образом в основной форме списка регистра сведений отобразить список элементов справочника «Подразделения»?
- В основной форме списка регистра сведений отобразить такой список нельзя
- Создать элемент управления «Табличное иоле». Присвоить свойству этого поля «Тип значения» значение «СправочникСписок.Подразделения»
- Создать элемент управления «Табличное поле». Создать реквизит формы с типом значения «СправочникСписок.Подразделения». Присвоить свойству табличного поля «Данные» имя созданного реквизита
- 4. Верны ответы 2 и 3
10.81 Что произойдет, если нажать кнопку командной панели, отмеченную на рисунке?
- Ничего не изменится
- 2. Произойдет смещение по горизонтали элемента «Надпись!» и выравнивание его правой границы по правой границе элемента «Надпись2»
- Произойдет смещение по горизонтали элемента «Надпись2» и выравнивание его правой границы по правой границе элемента «НадписьГ’
- Оба элемента переместятся к правой краевой выравнивающей линии формы
10.82 Что произойдет, если нажать кнопку командной панели, отмеченную на рисунке?
- Все надписи станут по горизонтали одинакового размера
- Ничего не изменится
- Произойдет смещение надписей. Вертикальная ось симметрии каждого элемента управления будет совпадать с вертикальной осью симметрии формы, т.е. центрирование каждого элемен
Основной реквизит формы
Реквизиты формы обеспечивают ее связь с данными. При этом один (и только один) из реквизитов может быть назначен основным; он не обязательно может быть того типа данных, к объекту которого мы рисуем форму. Но от типа данных основного реквизита будет зависеть поведение формы. Кроме изменения поведения формы, происходит изменение контекста модуля формы. Наряду с методами и свойствами формы, в нем становятся доступны методы и свойства объекта, являющегося значением основного реквизита. Важно, что формы типа «Произвольная форма» не имеют основного реквизита. В этом случае поведение формы определяется только настройками пользователя. Рассмотрим вопросы по основным реквизитам.
***
Вопрос 10.05 экзамена 1С:Профессионал по платформе. Для чего служит основной реквизит формы?
- Определяет источник данных для формы в целом
- Определяет стандартные возможности платформы для работы формы с данными
типа, заданного у основного реквизита - Для обеспечения возможности программного обращения к реквизитам объекта из
локального контекста формы - Обеспечивает визуализацию реквизитов объекта на диалоге формы
- Верны 2 и 3
- Верны 1 и 2
Правильный ответ шестой, см. выше.
***
Вопрос 10.06 экзамена 1С:Профессионал по платформе. Для чего нужны реквизиты формы?
- Для описания состава данных, которые отображаются, редактируются или хранятся
в форме - Для отображения и редактирования данных в форме
- Верны 1 и 2
Правильный ответ третий — и то, и другое.
***
Вопрос 10.07 экзамена 1С:Профессионал по платформе. Что бы произвольной управляемой форме назначить основной реквизит…
- форму нужно сделать основной, основной реквизит при этом определяется автоматически
- нужно в свойствах реквизита формы установить флажок «Основной реквизит»
- нужно войти в меню «Правка», пункт «Основной реквизит» и выбрать нужное значение
- нужно заполнить свойство «Данные» формы, выбрав нужный реквизит формы
Правильный ответ второй:
Основной реквизит выделяется жирным:
***
Вопрос 10.08 экзамена 1С:Профессионал по платформе. Что бы произвольной обычной форме назначить основной реквизит…
- форму нужно сделать основной, основной реквизит при этом определяется автоматически
- нужно в свойствах реквизита формы установить флажок «Основной реквизит»
- нужно войти в меню «Правка», пункт «Основной реквизит» и выбрать нужное значение
- нужно заполнить свойство «Данные» формы, выбрав нужный реквизит формы
Правильный ответ четвертый:
Основной реквизит выделяется жирным:
***
Вопрос 10.09 экзамена 1С:Профессионал по платформе. При наличии одного основного реквизита формы можно ли добавить
еще один основной реквизит?
- Это не возможно
- Можно посредством назначения соответствующего значения свойства реквизита
формы - Можно только программно, при обращении к объекту «Форма»
- Можно посредством добавления еще одного значения к соответствующему свойству формы
Правильный ответ первый, основной реквизит строго один, т.к. связь с объектом должна быть однозначна.
***
Вопрос 10.113 экзамена 1С:Профессионал по платформе. Какой из реквизитов формы, представленной на рисунке, является
основным?
- СписокКурсовВалют
- СправочникОбъект
- У форм справочников нет основного реквизита
- У форм справочников все реквизиты основные
Правильный ответ второй — тот, что жирный.
|
|
|||
Икогнито
15.02.12 — 20:42 |
Как на сервер извлечь значение реквизита формы, который не в скобках? |
||
Икогнито
1 — 15.02.12 — 20:54 |
ТЗ = РеквизитФормыВЗначение(«ТаблицаТЗ») Он в реквизитах в скобках. А как передать реквизит формы, имеющий тип СправочникСсылка? |
||
Икогнито
2 — 15.02.12 — 20:57 |
Запихивать его в параметры формы и получать на сервере? |
||
H A D G E H O G s
3 — 15.02.12 — 20:57 |
ЭтаФорма.Реквизит |
||
Икогнито
4 — 15.02.12 — 20:58 |
(3) Реквизит не связан с данными, указанными в реквизитах объекта |
||
H A D G E H O G s
5 — 15.02.12 — 20:59 |
Скинь обработку куда-нибудь. |
||
Икогнито
6 — 15.02.12 — 20:59 |
(5) ды я только учу управляемые формы |
||
toypaul
7 — 15.02.12 — 21:04 |
по-моему есть еще метод, который переводит значение в объект. передаешь значение и тип |
||
Икогнито
8 — 15.02.12 — 21:25 |
(7) А в каких случаях надо использовать РеквизитФормыВЗначение(«Объект»)? Ведь на сервере и так доступно обращение ЭтаФорма.Объект.ИмяРеквизитаОбъекта |
||
Икогнито
9 — 15.02.12 — 21:29 |
А что значат круглые скобочки вокруг реквизита формы? То, что значение подлежит преобразованию при передаче на сервер или что? |
||
toypaul
10 — 15.02.12 — 22:07 |
(8) для доступа к методам. вроде бы. я сам еще пока плаваю. для чтения достаточно Объект.ИмяРеквизита |
||
H A D G E H O G s 11 — 15.02.12 — 22:12 |
(9) Круглые скобочки — это Клиентская часть объекта, для Ссылки — это идентификатор и представление. Больше ничего. И получить еще что то более на клиенте — нельзя = экономим трафик. |
Занятие 27 821
Рис. 27.6. Контекст поля формы дополняется контекстом расширения поля ввода
Типы данных формы
В управляемой форме можно выделить следующие категории типов, с которыми она работает:
Типы встроенного языка, предназначенные для использования как в управляемых формах, так и вне них. Например, Число,
СправочникСсылка.<имя>, ГрафическаяСхема, ТабличныйДокумент
и т. д.
Типы встроенного языка, предназначенные исключительно для того, чтобы представить в форме данные прикладных объектов (справочников, документов и т. д.). Это такие типы, как Дан-
ныеФормыСтруктура, ДанныеФормыКоллекция и другие.
Отдельно следует упомянуть тип ДинамическийСписок, который используется в управляемых формах для отображения списков прикладных объектов.
Все типы прикладных объектов (такие как СправочникОбъект и т. д.) не существуют на стороне тонкого и веб-клиентов, они существуют только на сервере. Однако данные этих объектов нужно отображать в управляемых формах.
822 1С:Предприятие 8.3. Практическое пособие разработчика
Поэтому для представления в форме данных этих прикладных типов введены специальные типы данных, предназначенные для работы именно в управляемых формах. Используются следующие типы данных:
ДанныеФормыСтруктура – содержит набор свойств произвольного типа. Свойствами могут быть другие структуры, коллекции или структуры с коллекциями. Таким типом представляется, напри-
мер, в форме СправочникОбъект.
ДанныеФормыКоллекция – это список типизированных значений, похожий на массив. Доступ к элементу коллекции осуществляется по индексу или по идентификатору. Доступ по идентификатору может отсутствовать в некоторых случаях. Это обусловлено типом прикладного объекта, который представлен этой коллекцией. Идентификатором может быть любое целое число. Таким типом представляется, например, в форме табличная часть.
ДанныеФормыСтруктураСКоллекцией – это объект, который пред-
ставлен в виде структуры и коллекции одновременно. С ним можно обращаться как с любой из этих сущностей. Таким типом представляется, например, в форме набор записей.
ДанныеФормыДерево – объект предназначен для хранения иерархических данных.
Прикладной объект представлен либо одним, либо несколькими элементами данных формы. В общем виде иерархия и состав данных формы зависят от сложности и взаимосвязи прикладных объектов управляемой формы.
Например, документ, содержащий табличную часть, будет представлен объектом типа ДанныеФормыСтруктура (собственно документ), которому подчинен объект типа ДанныеФормыКоллекция (табличная часть документа).
ВНИМАНИЕ!
Во время разработки конфигурации важно помнить, что прикладные объекты доступны только на сервере, в то время как объектами данных форм можно пользоваться и на сервере, и на клиенте.
Фактически можно сказать, что данные формы – это унифицированное представление данных различных прикладных объектов, с которыми форма работает единообразно и которые присутствуют и на сервере, и на клиенте.
Занятие 27 823
В редакторе формы (у реквизитов формы) вместо имен этих типов обычно отображаются те прикладные типы, данные которых содержит реквизит.
Например, если реквизит Объект содержит данные элемента справочника Клиенты, то в колонке Тип отображается ненастоящий тип этого реквизита формы – ДанныеФормыСтруктура, а тип прикладного объекта, данные которого содержатся в этом реквизите – СправочникОбъект.Клиенты. Причем чтобы было понятно, что это «ненастоящий тип» реквизита, тип прикладного объекта показывается в круглых скобках.
Таким образом форма содержит некоторую «проекцию» данных прикладных объектов в виде своих собственных типов данных и автоматически выполняет преобразование между ними при необходимости.
Однако если разработчик конфигурации реализует свой алгоритм обработки данных, то преобразование данных (из специализированных типов в прикладные и обратно) он должен выполнять самостоятельно.
Для конвертирования прикладных объектов в данные формы и обратно существует набор глобальных методов:
ЗначениеВДанныеФормы() – преобразует объект прикладного типа в данные формы;
ДанныеФормыВЗначение() – преобразует данные формы в объект прикладного типа.
Аналогичные методы, предназначенные для конвертирования значений реквизитов формы в прикладные объекты и обратно, существуют и у самой управляемой формы:
ЗначениеВРеквизитФормы() – преобразует объект прикладного типа в реквизит управляемой формы;
РеквизитФормыВЗначение() – преобразует реквизит управляемой формы в значение прикладного типа.
Методы, работающие с прикладными объектами, доступны только в серверных процедурах формы.
При выполнении стандартных действий формы с основным реквизитом (открытие формы, выполнение стандартной команды Записать и т. д.) преобразование выполняется автоматически.
824 1С:Предприятие 8.3. Практическое пособие разработчика
Приведем пример преобразования данных, которое может потребоваться в собственных алгоритмах.
Например, у нас есть особенная форма, в которой в качестве одного из реквизитов (ТоварДляМодификации) используются данные элемента справочника Товары. При создании формы на сервере мы по некоторому алгоритму определяем, какой именно это товар, и читаем его данные в реквизит формы. При этом используется преобразование данных ЗначениеВДанныеФормы(), листинг 27.1.
Листинг 27.1. Пример преобразования данных прикладных объектов в данные формы
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ОбъектТовар = Справочники.Товары.НайтиПоНаименованию(«Кофейник»).ПолучитьОбъект(); ЗначениеВДанныеФормы(ОбъектТовар, ТоварДляМодификации);
КонецПроцедуры
&НаКлиенте Процедура Записать()
ЗаписатьНаСервере();
КонецПроцедуры
&НаСервере Процедура ЗаписатьНаСервере()
ОбъектТовар = ДанныеФормыВЗначение(ТоварДляМодификации, Тип( «СправочникОбъект.Товары»));
ОбъектТовар.Записать();
КонецПроцедуры
В некоторый момент работы формы мы решаем, что измененные данные нашего товара необходимо записать в базу данных, и тогда выполняем обратное преобразование данных формы в прикладной объект (ДанныеФормыВЗначение()) и записываем его.
Как мы уже упомянули, у формы также есть методы, позволяющие преобразовать прикладные данные в реквизит формы и наоборот.
Использование данных методов обычно удобнее, так как они имеют, например, информацию о типе реквизита формы. Кроме этого, метод РеквизитФормыВЗначение() выполняет установку соответствия
Занятие 27 825
данных формы и объекта, которая используется при формировании сообщений.
Приведем пример использования этих методов. В серверной процедуре формы мы получаем прикладной объект из реквизита формы и выполняем метод этого прикладного объекта Пересчитать(). Затем данные объекта, измененные в результате пересчета, преобразуем обратно в реквизит формы (листинг 27.2).
Листинг 27.2. Пример преобразования данных прикладных объектов в данные формы
&НаСервере Процедура ПересчитатьНаСервере()
//Преобразует реквизит Объект в прикладной объект. Документ = РеквизитФормыВЗначение(«Объект»);
//Выполняет пересчет методом, определенным в модуле документа. Документ.Пересчитать();
//Преобразует прикладной объект обратно в реквизит. ЗначениеВРеквизитФормы(Документ, «Объект»);
КонецПроцедуры
Связанные списки
При создании прикладных решений часто возникает необходимость из какой-либо формы прикладного объекта перейти к информации, логически связанной с этим объектом.
Это может быть, например, список подчиненного справочника; регистры, в которых объект производит движения; регистры, где измерение с типом этого объекта указано как ведущее; критерии отбора, в которые входит этот тип; объекты, которые можно ввести на основании этого типа, и т. д.
Одним из распространенных примеров использования связанных списков является необходимость перейти из формы документа к списку движений, которые произвел этот документ в каком-либо регистре.
Все перечисленные ситуации платформа контролирует автоматически. На основании информации, содержащейся в объектах конфигурации, платформа автоматически создает в формах объектов
826 1С:Предприятие 8.3. Практическое пособие разработчика
команды для перехода к связанной информации. Некоторые такие команды она сразу же делает видимыми, и они появляются в форме. Некоторые команды она только создает, но по умолчанию не включает их видимость.
Поэтому чаще всего, если в форме вы не видите команды перехода к связанной информации, которая должна быть, просто нужно включить ее видимость в интерфейсе формы.
Рассмотрим это на примере.
В режиме «Конфигуратор»
Для примера откроем форму документа ОказаниеУслуги. В левом верхнем окне перейдем на закладку Командный интерфейс.
В разделе Панель навигации в группе Перейти уже находится набор таких команд. Это команды перехода к записям регистров, для которых этот документ является регистратором.
Мы можем установить общую видимость для этих команд, а можем более точно настроить видимость этих команд для каждой отдельной роли, которая есть в нашей конфигурации (рис. 27.7).
Рис. 27.7. Командный интерфейс формы
Занятие 27 827
Врежиме «1С:Предприятие»
Врежиме 1С:Предприятие откроем один из документов Оказание
услуги (рис. 27.8).
Рис. 27.8. Документ «Оказание услуги № 3»
В панели навигации формы мы видим команды перехода к списку записей регистров, связанных с открытым документом.
Например, выполним команду Стоимость |
материалов и |
перейдем |
к движениям, которые произвел в этом |
регистре наш |
документ |
(рис. 27.9). |
Рис. 27.9. Движения документа «Оказание услуги № 3» по регистру «Стоимость материалов»
828 1С:Предприятие 8.3. Практическое пособие разработчика
Оформление строк в форме списка
Одним из полезных свойств формы списка является возможность настройки оформления его строк. Для иллюстрации этой возможности мы воспользуемся формой списка справочника Номенклатура и придадим ей нестандартный вид.
В режиме «Конфигуратор»
Откроем в конфигураторе форму списка справочника Номенклатура и создадим обработчик события формы ПриСозданииНаСервере.
Внесем в него следующий текст (листинг 27.3).
Листинг 27.3. Обработчик события формы «При открытии»
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
СписокСправочника = Элементы.Список;
// Задать режим отображения справочника. СписокСправочника.Отображение = ОтображениеТаблицы.Список;
// Скрыть линии сетки. СписокСправочника.ВертикальныеЛинии = Ложь; СписокСправочника.ГоризонтальныеЛинии = Ложь;
КонецПроцедуры
В этой процедуре, выполняющейся при создании формы на сервере, мы сначала представляем список в виде обычного, а не иерархического списка. Это сделано для большей наглядности, чтобы материалы отображались вперемешку с услугами.
Затем мы скрываем линии, разделяющие колонки и строки таблицы списка.
Теперь настроим условное оформление строк списка. Для этого вызовем палитру свойств основного реквизита формы Список.
В строке Настройка списка нажмем Открыть (рис. 27.10).
Поскольку этот реквизит имеет тип ДинамическийСписок, который построен на основе системы компоновки данных, то мы можем настроить для него Отбор, Порядок, Группировку и УсловноеОформ-
ление аналогично тому, как это делалось в отчетах.
Занятие 27 829
Рис. 27.10. Вызов настройки динамического списка
В открывшемся окне настройки динамического списка перейдем на закладку Условное оформление и нажмем кнопку Добавить в
командной панели окна.
Сначала укажем Оформление для выделения полей.
Нажмем кнопку выбора в поле Оформление и установим сиреневый цвет фона (рис. 27.11).
Рис. 27.11. Настройка условного оформления
830 1С:Предприятие 8.3. Практическое пособие разработчика
Нажмем ОК. Затем укажем условие, при наступлении которого будет применяться оформление, то есть когда строки списка будут сиреневыми.
Нажмем кнопку выбора в поле Условие и в появившемся окне добавим Новый элемент отбора (рис. 27.12). Для этого нажмем кнопку
Добавить и укажем в графе Левое значение – поле ВидНоменклатуры, в графе Вид сравнения – Равно, а в графе Правое значение выберем
Перечисление.ВидыНоменклатры.Услуга.
Рис. 27.12. Настройка условного оформления
Нажмем ОК.
Таким образом, мы установили, что когда в списке номенклатуры будут отражаться услуги, эти строки будут выделены сиреневым фоном.
Поскольку мы хотим выделить полностью строки, а не отдельные поля списка, то список оформляемых полей можно оставить пустым. Нажмем ОК.
В режиме «1С:Предприятие»
Запустим «1С:Предприятие» в режиме отладки и откроем список номенклатуры.
Мы видим, что список имеет вид обычного неиерархического списка, услуги выделены сиреневым цветом, а также отсутствуют разделительные линии строк и колонок списка (рис. 27.13).
Соседние файлы в папке Учебники
- #
- #
- #
- #
- #
- #
Знакомство с управляемой формой 1С лучше всего начинать с реквизитов. Что такое реквизит управляемой формы? По своей сути, это данные, которые привязаны именно к форме: они создаются, хранятся, отображаются (по возможности) и редактируются на форме. Вне контекста формы эти данные не могут существовать. Сам по себе реквизит не может отображаться на форме. Для этого служат элементы формы, которые связаны с реквизитами форм.
Научимся создавать простые реквизиты формы и размещать их на форме.
Для этого в конфигураторе 1С создадим пустую форму. Пусть это будет форма некой внешней обработки. В этой форме нас интересует закладка Реквизиты
В этой закладке сейчас только один реквизит – основной. Он нас пока не интересует, работа с основным реквизитом эта тема отдельной статьи. Пока разберемся с простыми реквизитами.
Для того, чтобы добавить реквизит необходимо нажать на кнопку «Добавить реквизит» командной панели закладки «Реквизиты»
После этого будет добавлен реквизит управляемой формы 1С с типом по умолчанию (строка) и справа откроется палитра свойств этого реквизита.
В этой палитре мы можем установить имя, заголовок, а так же тип реквизита управляемой формы.
Для тренировки создадим четыре реквизита с типом строка: Фамилия, Имя, Отчество и ФИО. И один реквизит с типом дата: ДатаРождения.
Разместим реквизиты на форме. Сделать это просто: необходимо нужный реквизит мышкой «перетащить» из закладки «Реквизиты» на закладку «Элементы»
Перетащим все реквизиты на формы, и с помощью кнопок «Вверх», «Вниз» удобно расположим их на форме.
Сейчас мы сделали такую примитивную форму, на которой расположили реквизиты. После того, как мы «перетащили» реквизит в элементы, то на форме был создан элемент формы. В нашем случае это поле формы. Если мы сейчас зайдем в палитру свойств поля ввода, то увидим, что он связан с реквизитом посредством свойства ПутьКДанным.
Если нажать на кнопку «…» свойства ПутьКДанным, то у разработчика есть возможность поменять привязанный к этому элементу реквизит формы.
Сейчас научимся использовать реквизиты в программном коде. Из статьи, посвященной архитектуре управляемой формы 1С 8.3 Вы знаете, что выполнение кода на форме возможно под директивами &НаКлиенте &НаСервере и &НаСервереБезКонтекста. Доступ к реквизитам формы возможен только в процедурах и функциях, которые выполняются на &НаКлиенте и &НаСервере.
Для наглядности выполним небольшую задачу: создадим команду, при выполнении которой Фамилия, Имя, Отчество и дата Рождения будут складываться в ФИО + Дата рождения.
Создадим локальную команду формы. Для этого на закладке «Команды» в подзакладке «Команды формы» необходимо нажать на кнопку «Добавить»
После создания команды, справа откроется палитра свойств новой команды, где мы зададим её название.
Но команда – это выполнение некоторых действий на форме. Чтобы действия осуществились необходимо создать обработчик команды. Для создания обработчика команды нужно нажать на кнопку «Лупа» свойства действия. После этого откроется окно выбора места размещения обработчика.
Мы выберем расположение НаКлиенте, поскольку для тех действий, которые мы хотим осуществить вполне хватит клиентского контекста.
После выбора места расположения обработчика, в модуле формы будет создана процедура под директивой &НаКлиенте, в которой мы напишем несложный код. В этом коде к реквизитам формы мы будем обращаться просто как к переменным. Мы можем это делать в клиентском и серверном контексте.
&НаКлиенте Процедура СформироватьФИО(Команда) ФИО = Фамилия + " " + Имя + " " + Отчество + ", д.р. " + Формат(ДатаРождения, "ДЛФ=D"); КонецПроцедуры
В этом коде, я преобразовал дату в строку при помощи функции формат.
Обратите внимание, после создание процедуры в палитре свойств команды свойство Действие заполнилось названием нашей новой процедуры.
И последним шагом нам осталось нашу команду разместить на управляемой форме. Просто перетащим её мышкой в закладку Элементы
При этом на форме появится кнопка.
Сохраним обработку и попробуем выполнить нашу команду.
Как видите, к реквизитам формы в модуле формы можно обращаться напрямую, как к переменным, но только если процедура или функция выполняется под директивами &НаКлиенте и &НаСервере.
Подробно вопросы работы с управляемыми формами в частности и с управляемым приложением в целом рассмотрены в книге «Основы разработки в 1С: Такси. Разработка управляемого приложения за 12 шагов». Эта книга станет настоящим подспорьем для тех, кто только начал знакомится с разработкой управляемого приложения.
Книга «Основы разработки в 1С: Такси»
Книга «Основы разработки в 1С: Такси» отлично подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С
- Без сложных технических терминов;
- Более 600 страниц практического материала;
- Каждый пример сопровождается рисунком (скриншот);
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
Промо-код на скидку в 15% — 48PVXHeYu
Изучайте основы конфигурирования в 1С и учитесь программировать в «1С: Предприятии» с помощью моих книг: «Программировать в 1С за 11 шагов» и «Основы разработки в 1С: Такси»
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Вступайте в мои группы в соцсетях, и будьте в курсе всех новостей
Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009