1с при создании формы конструктором формы был установлен

Обновлено: 04.07.2024

Список вопросов 1c :Профессионал Платформа 8.3 Глава 4

Навигация (только номера заданий)

0 из 70 заданий окончено

Информация

Вы уже проходили тест ранее. Вы не можете запустить его снова.

Вы должны войти или зарегистрироваться для того, чтобы начать тест.

Вы должны закончить следующие тесты, чтобы начать этот:

Результаты

Вы набрали 0 из 0 баллов ( 0 )

Рубрики

  • для создания макетов объектов конфигурации
  • для создания общих макетов
  • при написании текстов модулей
  • верны утверждения 1, 2
  • все утверждения верны
  • выполнить пункт "Действия — Добавить", если выбрана ветвь подчиненного объекта "Макеты"
  • выполнить пункт "Действия — Добавить", если выбрана ветвь "Общие макеты"
  • установить курсор в текст модуля и выбрать пункт "Текст - Конструктор макета"
  • верно утверждение 1 и 2

Макет какого типа может быть создан конструктором макетов?

  • Active document
  • Табличный документ
  • XML документ
  • Таблицу значений
  • Все ответы правильные
  • Верны 1, 2 утверждения

Какие данные может содержать макет, созданный конструктором
макетов?

  • Текстовый документ
  • Географическую схему
  • Дерево значений
  • Все ответы правильные
  • Верны 1, 2 утверждения

При работе с конструктором макета необходимо выполнять загрузку
из файла при работе с типами макета:

  • Табличный документ, Текстовый документ, HTML-документ
  • Текстовый документ, Двоичные данные, Active document, Географическая схема
  • Двоичные данные, Active document, Географическая схема
  • HTML-документ, Двоичные данные, Active document, Географическая схема
  • позволяет использовать для подготовки макета Текстовый редактор
  • предполагает, что подготовка макета будет производиться с помощью Табличного редактора
  • позволяет использовать заранее подготовленные редактором географических схем документы для создания макета
  • верны утверждения 1 и 2
  • все утверждения верны

Для чего предназначен конструктор печати?

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

Стоит заметить, что на данный момент 1С не заносит табличные поля в колонки (вопрос 4.28), а располагает их ниже. Если табличных полей больше одного, то для каждого создаётся страница.

Другими словами, настройка "Располагать элементы управления в . колонку(и)" не действует на табличные поля, они всегда располагаются на всю ширину формы (страницы).

"Вопрос 04.32 экзамена 1С:Профессионал по платформе. При создании формы конструктором формы количество размещаемых на форме командных панелей.

1.не ограничено
2.не более двух
3.всегда - две (верхняя и нижняя)

Вот опять. Почему мне нужно запоминать не правильный вариант? Почему 1С не исправляет эту ошибку? Понимаю, что не здесь это решают. Просто крик души. Не может ли так случиться, что в какой то момент они исправят ошибку?

Даааа жалко что приходиться запоминать некоторые ответы типа "но на самом деле", это не первый и не последний вопрос экзамена такой =(

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

Именно так! Ведь никакого противоречия не наблюдается. И напротив, все логично и лаконично )
Конструктор создает столько командных панелей, сколько размещает табличных полей, плюс командные панели формы (1 для УФ и 2 для ОФ).

Вопрос 04.39 - ответ 3 так как, для управляемых и обычных форм можно указывать нужно ли выводить элемент на форму или нет. А для обычных форм в конструкторе формы можно также указать из списка и вид управления формы (поле ввода, поле выбора и тд).

По 4.38 хотел бы прояснить "но на самом деле - только для обычных форм". Так вот.
Термин "Табличное поле" используется сугубо в контексте ОФ. В контексте УФ этот элемент уже носит название "Таблица формы". Исходя из этого мы видим, что вопрос относится к конструктору именно обычной формы.
А раз так) то все встает на свои места и ответ на вопрос становится очевидным.

Вопрос 04.39 В конструкторе формы документа при необходимости нестандартного размещения элементов управления.

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

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

Ага, Вводит в блуд 2 вещи, во первых не указано в вопросе что форма неуправляемая, во вторых за каким-то хреном написано "всех или только некоторых элементов управления, соответствующих составу подчиненных объектов", сама формулировка крайне крючкотворская и неинтуитивная, как будто тут речь об иерархии, или подчинении объектов ИБ, а по факту просто о реквизитах и табличных частях документа и их отражении на форме.

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

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

На эту ситуацию можно посмотреть с двух сторон:

  • С одной стороны существуют привычные объекты конфигурации (как в версии 7.7), у них есть реквизиты и табличные части (тоже с реквизитами).
  • С другой стороны существуют такие объекты как "Форма" и элементы управления (поля ввода, табличные поля, флажки и т.д.).

Объект конфигурации (данные):


<= Связь =>

Экранная форма и элементы управления:


Необходимо понимать, что если форма принадлежит конкретному объекту конфигурации (т.е. отображается в списке "Формы" объекта), то этого недостаточно для реализации связи между элементами управления и данными. Более того, это даже необязательно. Вполне возможно создать общую форму, не принадлежащую ни одному из объектов конфигурации, которая будет отображать список элементов справочника или позволять редактировать конкретный документ. Другое дело, что такую форму нельзя будет назначить в качестве "основной" для определенных действий, но свою функцию она выполнять будет.

Чтобы какое-нибудь табличное поле в любой экранной форме отображало (и позволяло с ним работать) список элементов справочника, оно должно быть связано определенным образом с объектом типа "СправочникСписок.ИмяСправочника". В этой статье рассматривается, как настроить такую связь между формой с ее элементами управления и объектами конфигурации с их реквизитами и табличными частями.

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

Создание формы списка

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


Выберем тип формы "Произвольная", в этом случае создается независимая форма, не связанная с данными. Заметьте, что у нее нет ни одного реквизита формы.


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

Создадим реквизит формы с именем "СпрСписок" и назначим ему тип "СправочникСписок.Номенклатура":


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


Заметьте, что при указании свойства "Данные" автоматически изменилось и свойство "Тип значения". Если его сейчас изменить, то изменится тип основного реквизита формы. Мы этого делать не будем.

Если вы перейдете обратно на закладку "Реквизиты" формы, то увидите, что этот реквизит стал "основным" (выделен жирным шрифтом):


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

Например, у нашей формы списка справочника появились новые свойства, доступные из встроенного языка:


Перейдем теперь в диалог формы и разместим в рабочей области формы элемент управления "Табличное поле":


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


На этом этапе лучше сразу изменить имя элемента управления на что-нибудь более читабельное, например, "тпСписок". Но имя элемента управления в принципе ни на что не влияет, кроме случая, когда происходит обращение к элементу управления из модуля формы.

Заметьте, что свойство "Тип значения" для табличного поля стало недоступным. Это означает, что через свойства элемента управления нельзя изменить тип значения реквизита формы. Также заметьте, что в после установки свойства "Данные" произошли некоторые изменения с формой и ее реквизитами:

  • Были созданы колонки "Код" и "Наименование" табличного поля "тпСписок". Эти колонки были автоматически связаны с реквизитами справочника (через свойство колонки "Данные"). Естественно, что это можно было сделать и вручную.
  • Была заполнена верхняя вспомогательная командная панель (замечание: точнее для командной панели было установлено свойство "АвтоЗаполнение", поэтому теперь она будет содержать стандартный набор кнопок, определяемый типом основного реквизита формы)
  • Реквизит формы "ТабличноеПоле1" был удален.

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


Теперь можно запустить "1С:Предприятие" и проверить работу формы:


Создание формы элемента

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

Создайте новую форму, принадлежащую справочнику. При создании формы укажите тип формы "Произвольная", затем можно задать для нее имя "ФормаЭлементаНовая". Будет создана следующая экранная форма:


Перейдите на закладку "Реквизиты" и создайте новый реквизит формы с именем "СпрОбъект" и типом "СправочникОбъект.Номенклатура".


Этот реквизит пока не является основным реквизитом формы, потому что он не указан в свойстве "Данные" самой формы. Сделаем это. Откройте свойства формы и заполните свойство "Данные" (тип значения будет заполнен автоматически):


Если в палитре свойств изменить "Тип значения", то изменится тип значения реквизита формы. Сейчас этого делать не нужно.

После указания свойства "Данные" реквизит "СпрОбъект" стал основным реквизитом формы. Так как он имеет тип "СправочникОбъект.Номенклатуры", то это значительно изменило поведение формы, в частности следующие аспекты:

  • Изменился потенциальный состав кнопок командных панелей формы (верхней вспомогательной и нижней). Чтобы в верхней командной панели отображался набор кнопок, нужно в ее свойствах снять, а затем опять установить флажок "Автозаполнение". Далее добавьте кнопки ОК, Записать и Закрыть в нижнюю командную панель. Кнопка ОК будет выполнять действия "Записать и Закрыть" и она будет являться кнопкой по умолчанию (выделена жирным шрифтом и срабатывает по Ctrl-Enter). Чтобы выводились надписи и картинки, нужно для каждой кнопки соответствующим образом задать свойство "Отображение". В итоге форма приобретет следующий вид:
  • Расширился состав свойств, методов и событий контекста формы в соответствии с "расширением формы элемента справочника":

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

Теперь разместим диалоге формы элементы управления для редактирования элемента справочника. Поместите в форму поле ввода и рядом с ним надпись "Наименование":


В свойствах поля для ввода наименования установите свойство "Данные", связав его с реквизитом "Наименование" объекта "СпрОбъект":


Заметьте, что тип значения поля ввода стал недоступен для редактирования. Его тип берется из структуры самого справочника:


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


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


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

С помощью автоматического или ручного размещения элементов управления в форме постарайтесь, чтобы она приобрела следующий вид:


Осталось назначить эту форму в качестве основной формы элемента справочника и можно проверять ее работу:


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

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

1. Из конструктора объекта 2 способа

Создание формы из объекта

2. Из дерева конфигурации через контекстное меню (правой кнопкой мыши на выделенном синим на рисунке объекте).

Создание формы из дерева конфигурации. Способ 1.

Создание формы из дерева конфигурации. Способ 2.

Конструктор форм

При создании новой формы появляется окно конструктора формы:

Конструктор формы шаг 1

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

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

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

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

Дальше идёт реквизит «Имя» он является идентификатором этой формы, нельзя создать у одного объекта двух форм с одинаковым идентификатором.
Реквизит «Синоним» будет выводиться в пользовательском режиме как имя этой формы.
Реквизит «Комментарий» хранит какие-либо заметки или пояснения.

Флажки «Командная панель сверху» и «Командня панель снизу» указывают где выводить командные панели. Командная панель это элемент формы который содержит кнопки. Например:

Командные панели снизу и сверху

При нажатии кнопки «Далее» форма конструктора измениться, и будет доступно размещение элементов на форме:

Конструктор расположения элементов управления

Для себя я использую в основном следующий метод создания формы, если объект новый то вызываю конструктор из объекта на закладке «Формы» группа «Основные формы», нажимая на значок «Открыть»(лупа)(рисунок 1). Если объект имеет основные формы, то вызываю конструктор из дерева метаданных методом «Добавить» из контекстного меню ветки «Формы»(рисунок 2).
Сделаю небольшое пояснение о связи формы с объектом. Вообще правильная установка свойств уменьшает необходимость писать код.
У формы есть свойство «Данные» оно является основным для формы и на закладке «Реквизиты» выделяется жирным шрифтом.

Свойство "Данные"

Основной реквизит формы выделяется жирным шрифтом

Что дает проставление свойства «Данные», в зависимости от выбранного значения добавляются новые события, методы формы и возможность добавить соответствующие кнопки командной панели.
Пример: « ПараметрТекущаяСтрока » - это свойство доступно в модуле формы если тип основного реквизита СправочникСписок.

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