Контекст формы и основного реквизита формы
Для хранения данных, которые редактируются в форме, предназначены реквизиты формы. Один из реквизитов может быть назначен основным реквизитом формы. При этом поведение формы изменяется в соответствии с типом этого реквизита. Кроме изменения поведения формы, происходит изменение контекста модуля формы. Наряду с методами и свойствами формы, в нем становятся доступны методы и свойства объекта, являющегося значением основного реквизита. Вследствие такого объединения контекстов формы и объекта могут возникать конфликты имен методов и свойств. Методы и свойства формы имеют приоритет над методами и свойствами объекта. Обращение к свойству объекта можно осуществлять через имя основного реквизита формы.
Рассмотрим следующий пример.
Есть форма с двумя реквизитами: ДокументОбъект, Реквизит1. Реквизит ДокументОбъект является основным реквизитом и имеет в свою очередь реквизиты с именами Реквизит1, Реквизит2. Тогда обращение к реквизитам в модуле формы будет осуществляться следующим образом:
Реквизит1 Реквизит2 ДокументОбъект ДокументОбъект
Для чего нужен основной реквизит формы 1с
> Функциональность формы определяется реквизитами формы и связанными с ними элементами управления. В большинстве случаев функциональность формы обеспечивается за счет выбора основного реквизита формы. Он определяет наличие расширения формы и обеспечивает поведение формы, специфическое для конкретного прикладного объекта.
У меня 2 вопроса к уважаемым участникам форума.
1) Что такое «основной реквизит формы»? Это то, что в окне с формой на закладке «Реквизиты» выделяется жирным шрифтом? Его как-то можно задать вручную? Или он только задаётся автоматически при создании формы и всё?
2) Что в этой фразе имеется в виду под расширением формы? И как именно основной реквизит формы определяет наличие расширения формы?
Принадлежность формы тому или иному объекту конфигурации не определяет состав данных, которые отображаются в форме. То, что форма принадлежит, например, справочнику Номенклатура, позволяет назначить ее одной из основных форм для этого справочника, но никак не определяет, какие же именно данные будет отображать эта форма, и каково будет ее поведение.
Для того чтобы связать форму с данными, используются реквизиты формы, в которых указывается перечень данных, отображаемых формой. Все формы, сами по себе, имеют одинаковое поведение, независимо от того, какие данные они отображают. Однако один из реквизитов формы может быть назначен для нее основным (он выделяется жирным шрифтом), и в этом случае стандартное поведение формы и ее свойства будут дополнены в зависимости от того, какой тип имеет основной реквизит формы.
Изменить этот реквизит можно точно также как и любой другой (например правой кнопкой мыши — изменить).
Однако один из реквизитов формы может быть назначен для нее основным в этом случае стандартное поведение формы и ее свойства будут дополнены в зависимости от того, какой тип имеет основной реквизит формы.
То есть изменение стандартного поведения формы и её дополнительные свойства и называются расширением формы?
Реквизиты формы обеспечивают ее связь с данными. При этом один (и только один) из реквизитов может быть назначен основным; он не обязательно может быть того типа данных, к объекту которого мы рисуем форму. Но от типа данных основного реквизита будет зависеть поведение формы. Кроме изменения поведения формы, происходит изменение контекста модуля формы. Наряду с методами и свойствами формы, в нем становятся доступны методы и свойства объекта, являющегося значением основного реквизита. Важно, что формы типа «Произвольная форма» не имеют основного реквизита. В этом случае поведение формы определяется только настройками пользователя. Рассмотрим вопросы по основным реквизитам.
Вопрос 10.05 экзамена 1С:Профессионал по платформе. Для чего служит основной реквизит формы?
- Определяет источник данных для формы в целом
- Определяет стандартные возможности платформы для работы формы с данными типа, заданного у основного реквизита
- Для обеспечения возможности программного обращения к реквизитам объекта из локального контекста формы
- Обеспечивает визуализацию реквизитов объекта на диалоге формы
- Верны 2 и 3
- Верны 1 и 2
Вопрос 10.06 экзамена 1С:Профессионал по платформе. Для чего нужны реквизиты формы?
- Для описания состава данных, которые отображаются, редактируются или хранятся в форме
- Для отображения и редактирования данных в форме
- Верны 1 и 2
Вопрос 10.07 экзамена 1С:Профессионал по платформе. Что бы произвольной управляемой форме назначить основной реквизит.
- форму нужно сделать основной, основной реквизит при этом определяется автоматически
- нужно в свойствах реквизита формы установить флажок «Основной реквизит»
- нужно войти в меню «Правка», пункт «Основной реквизит» и выбрать нужное значение
- нужно заполнить свойство «Данные» формы, выбрав нужный реквизит формы
Вопрос 10.08 экзамена 1С:Профессионал по платформе. Что бы произвольной обычной форме назначить основной реквизит.
- форму нужно сделать основной, основной реквизит при этом определяется автоматически
- нужно в свойствах реквизита формы установить флажок «Основной реквизит»
- нужно войти в меню «Правка», пункт «Основной реквизит» и выбрать нужное значение
- нужно заполнить свойство «Данные» формы, выбрав нужный реквизит формы
Вопрос 10.09 экзамена 1С:Профессионал по платформе. При наличии одного основного реквизита формы можно ли добавить еще один основной реквизит?
- Это не возможно
- Можно посредством назначения соответствующего значения свойства реквизита формы
- Можно только программно, при обращении к объекту «Форма»
- Можно посредством добавления еще одного значения к соответствующему свойству формы
Правильный ответ первый, основной реквизит строго один, т.к. связь с объектом должна быть однозначна.
Вопрос 10.113 экзамена 1С:Профессионал по платформе. Какой из реквизитов формы, представленной на рисунке, является основным?
К примеру, необходимо при каждой записи документа сохранять пользователя, который выполнил изменения в документе. В типовых конфигурациях у большинства объектов есть реквизит «ответственный», но в данный реквизит записывается только создатель документа. Чтобы сохранить также и пользователя, вносившего изменения в объект, можно добавить новый реквизит – «Редактор». Можно пойти долгим путем добавления в каждый требуемый объект нового реквизита, последующего вынесения на форму и т.д., а можно добавить в конфигурацию один общий реквизит документов, и указать, где он будет использоваться (Рисунок 1).
Взаимодействие с общими реквизитами 1С, по сути, ничем не отличается от взаимодействия с обычными, за исключением того, что общие реквизиты не отображаются у выбранных объектов в свойствах в дереве метаданных.
Соответственно, обращение к общему реквизиту 1С также ничем не отличается от обращения к реквизитам других типов (Рисунок 2).
При работе с формой объекта 1С 8.3, обращение к реквизитам также не отличается, и, чтобы вынести данный реквизит на форму объекта, достаточно его просто перетащить на форму (Рисунок 3).
Разделение данных 1С
Второй вариант использования общих реквизитов – Разделение данных 1С.
Разделение данных 1С – это аналогичный ограничению доступа на уровне записей механизм, однако работающий по другому принципу. Если ограничение доступа на уровне записей – это дополнительные условия в запросе 1С 8.3, ограничивающие список, то разделитель данных 1С – это дополнительный столбец в таблицах на уровне СУБД. Соответственно, благодаря разделению данных 1С система будет работать несколько быстрее.
1. Создается общий реквизит документов и определяется состав справочников, регистров и документов, которые будут разделяться;
2. При разделении данных конфигуратор предложит создать два параметра сеанса 1С: значение реквизита объекта и признак использования.
После включения настройки «Разделение данных» 1С покажет в свойствах общего реквизита дополнительные поля (Рисунок 4):
· Свойство «Использовать разделение данных» имеет два значения — «Независимо», позволяющее полностью разделить базу на независимые участки, и «Независимо и совместно», позволяющее работать как в независимом режиме, так и в обычном.
· Свойства «Разделение пользователей» и «Разделение аутентификации» позволяет создавать отдельные списки пользователей для каждой области базы.
· Свойство «Условное разделение» позволяет использовать какие-либо условия для включения или отключения общего реквизита-разделителя.
Что такое реквизиты 1С?
Мы с Вами недавно обсуждали справочники 1С и документы 1С. Работа пользователя со справочниками и документами в 1С состоит из заполнения полей на форме.
Реквизиты 1С – это поля справочника и документа, которые отображаются на форме, чтобы пользователь их заполнил.
Рассмотрим подробно тему реквизитов в 1С.
Что такое Реквизиты 1С
Каждый справочник и документ 1С состоит из набора полей. Такие поля называются реквизиты 1С (для программиста 1С).
В конфигураторе, в дереве конфигурации 1С, раскройте любой справочник или документ и Вы увидите ветку Реквизиты. Это список реквизитов (полей) справочника.
Поглядите как те же реквизиты 1С выглядят на форме справочника 1С.
Каждый реквизит 1С имеет свойства, в которых указано какой вид значения хранится в реквизите (строка, число и т.п.) и как с ним будет работать пользователь.
Нажмите правой кнопкой на любой реквизит 1С и нажмите Свойства. В окне справа откроется список свойств выбранного реквизита.
Основные свойства реквизитов 1С:
Вы можете поставить галочку Составной тип данных и тогда 1С позволит Вам выбрать несколько типов данных одновременно. В этом случае пользователю будет отображаться кнопка Т, при нажатии на которых он выберет какие данные он хотел бы ввести.
Стандартные реквизиты 1С
Как Вы заметили, на форме справочника есть реквизиты 1С, которые отсутствуют в списке в конфигураторе: группа, наименование, БИК.
В форме списка справочника тоже есть реквизиты 1С, которых нет в списке: пометка удаления.
Это – стандартные реквизиты 1С. Что это такое? У каждого объекта 1С есть набор реквизитов 1С по умолчанию. У справочников это, например – код и наименование. У документов это – дата и номер.
Стандартные реквизиты 1С можно посмотреть следующим образом:
Общие реквизиты 1С
Начиная с версии 1С 8.2.14 в 1С появился новый Объект 1С – Общие реквизиты 1С. С помощью него можно добавить реквизит (поле), который будет присутствовать сразу во множестве справочников и документов.
Свойства общего реквизита 1С:
- Автоиспользование – добавляет общий реквизит 1С сразу во все справочники и документы
- Состав – позволяет добавить общий реквизит 1С только в нужные справочники и документы (автоиспользование тогда в значение Не использовать).
Как добавить реквизит 1С
Нажмем правой кнопкой на ветку Реквизиты 1С нужного справочника и выберем Добавить.
Введем нужно Имя реквизита 1С, например «АдресОфиса» и синоним «Адрес офиса». Тип оставим по умолчанию Строка, но поставим галочку Неограниченная длина.
Добавим еще один реквизит 1С точно так же, только выберем тип Булево, назовем его «РаботаетПоВыходным».
Как вывести реквизит на форму 1С (толстый клиент 1С)
Потяните мышкой за край формы и растяните ее (необязательный пункт).
В панели конфигуратора нажмите кнопку «Размещение данных». Также можно использовать меню Форма / Размещение данных.
Вы видите – наши реквизиты на форму не выведены. Установите на них галочку. А также галочки Вставить надписи и Разместить автоматически.
Как вывести реквизит на форму 1С (тонкий клиент 1С)
Раскроем ветку Формы того же справочника. Выберем форму элемента и нажмем на нее два раза мышкой.
На закладке Реквизиты раскройте строку Объект. Вы увидите список реквизитов, добавленных ранее в справочник.
Теперь просто перетяните из правого окна в левую нужный реквизит и он появится на форме.
Реквизиты формы 1С
В толстом клиенте у формы есть свои собственные реквизиты. Они находятся на закладке Реквизиты.
Эти реквизиты не сохраняются в базе данных, однако их можно использовать на форме для полей, которые нужны для работы с формой.
Например, Вы добавили на форму галочку. При ее нажатии на форме что-то происходит. Значение галочки для Вас неважно (записывать его не нужно) – она используется только для переключения формы при работе с ней. В этом случае в качестве данных Вы используете не реквизит справочника, а реквизит формы.
Периодические реквизиты 1С
В 1С версии 7.7 были периодические реквизиты. Их смысл таков: значение у реквизита разное в разные даты. Например, значение на 1 сентября – одно, а на 1 октября – другое. У одного и того же реквизита.
В 1С 8 периодических реквизитов нет. Это реализуется следующим образом:
-
Добавляем регистр сведений и делаете его периодическим. Период может быть – секунда, день, месяц, квартал, год.
Читайте также:
- Как посчитать retention в excel
- Прекращена работа программы геометрия даш windows 7 как исправить
- Бесплатные отчеты для 1с
- Программа для отключения троттлинга процессора
- Как сделать надпись полукругом в powerpoint
Какой из реквизитов формы представленной на рисунке является основным
[Практика программирования] Управляемые формы 1С 8: как программно определить основной реквизит формы
Среди зарезервированных методов и функций 1С 8 на момент написания данной публикации (последний релиз платформы 8.3.20) до сих пор отсутствует код, который бы позволял получить или определить, какой из реквизитов управляемой формы является основным.
Основной реквизит формы в списке реквизитов выделяется жирным шрифтом. Не будем в этом тексте описывать всю суть относительно основного реквизита управляемой формы в 1С, достаточно обратиться к статье на эту тему: «Основной реквизит формы 1С 8».
Необходимость определять основной реквизит управляемой формы возникла в рамках прикладной задачи, которая выразилась в доработке по реализации механизма «печать по умолчанию» в формах документов и справочников, как это было в типовых конфигурациях, работающих в режиме обычного приложения. И, как показала практика, поиск основного реквизита формы возможен и в других прикладных задачах. Поэтому можно найти обсуждения по этому вопросу начиная с 2012 года, например в обсуждении на форуме программирования 1С «Можно ли программно узнать основной реквизит управляемой формы?». Из близких по сути вопроса функций подходит только «Форма.ПолучитьРеквизиты()», но она не является решением, т.к. она только возвращает список всех реквизитов формы, представленный в виде коллекции значений типа «Массив». Проблема отсутствия в коде предопределенной процедуры или функции языка программирования 1С сохраняется. Поэтому не остается ничего, как только с помощью дополнительного кода описать поиск основного реквизита. Исходник кода был найден на странице форума mista. Благодаря тому, что с помощью «ПолучитьРеквизиты()» можно получить список реквизитов формы, а каждый реквизит имеет свойства «Заголовок» типа «Строка», «Имя» типа «Строка», «Путь» типа «Строка», «Сохраняемые данные» типа «Булево», «Тип значения» типа «ОписаниеТипов», становится возможным с помощью кода, пример которого приведен ниже определить основной реквизит управляемой формы в 1С 8:
Реквизиты = Форма . ПолучитьРеквизиты ();
Для Каждого Реквизит Из Реквизиты Цикл
Если ТипЗнч ( Форма [ Реквизит.Имя ]) = Тип ( «ДанныеФормыСтруктура» ) ИЛИ
ТипЗнч ( Форма [ Реквизит.Имя ]) = Тип ( «ДинамическийСписок» ) Тогда
Возврат Реквизит . Имя ;
КонецЕсли;
КонецЦикла;
Решение базируется на том основании, что в зачастую в типовых решениях 1С 8 основным реквизитом формы является либо реквизит типа «ДанныеФормыСтруктура», либо «ДинамическийСписок». Конечно, в нетиповых решениях или даже в вручную сконфигурированных формах ситуация может быть другой и тогда нужно придумывать еще другой вариант поиска с помощью кода. Но это будет встречаться крайне редко.
Вопрос 111 Какой из реквизитов формы, представленной на рисунке, является основным?
Вопрос 114 Добавить элемент управления в обычную форму можно:
1. Через пункт главного меню «Форма-Вставить элемент управления»
2. Выбрав необходимый пункт контекстного меню на панели формы
3. С помощью командной панели «Элементы управления»
4. Верны ответы 1 и 3
5. Верны ответы 1, 2 и 3
Вопрос 115 Для отображения в существующей форме разметочной сетки достаточно:
1. В палитре свойств формы установить свойство «ИспользоватьСетку»
2. Выбрав пункт главного меню «Сервис-Параметры», на закладке «Форма» установить флаг «ИспользоватьСетку»
3. Выбрав пункт главного меню «Сервис-Параметры», на закладке «Форма» установить флаг «Отображать сетку»
4. Выбрав пункт главного меню «Сервис-Параметры», на закладке «Форма» установить флаг «Отображать сетку», после чего в палитре свойств формы установить свойство «ИспользоватьСетку»
5. Выбрав пункт главного меню «Сервис-Параметры», на закладке «Форма» установить флаги «Отображать сетку» и «ИспользоватьСетку»
Вопрос 116 Границу элемента управления можно привязывать:
1. К границе формы
2. К центру формы
3. К границе другого элемента управления
4. К центру другого элемента управления
5. Верны ответы 1, 2 и 3
6. Верны ответы 1, 2, 3 и 4
Вопрос.117 В форму вставлен элемент управления «Панель». Можно ли для этого элемента задать режим «Автоправила» отличный от одноименного режима формы?
1. Нельзя. У элемента управления «Панель» нет свойства «Автоправила»
2. Можно, причем данный режим будет действовать на все страницы панели
3. Можно, причем данный режим задается для каждой страницы панели в отдельности
Вопрос 118 Включить режим просмотра привязок можно:
1. Выбрав пункт главного меню «Форма-Показать привязки»
2. Выбрав пункт контекстного меню «Показать привязки»
3. Программным способом
4. Верны ответы 1 и 2
5. Верны ответы 1, 2 и 3
Вопрос 119 Можно ли перегруппировать данные отчета, отображенные в сводной таблице?
1. Нет, нельзя. Сводная таблица не предназначена для таких операций
2. Можно изменить порядок измерений сводной таблицы, добавить или удалить часть из них
3. Можно изменить порядок измерений сводной таблицы, добавить или удалить часть из них, однако для этого необходимо перезапустить отчет
4. Можно изменить порядок измерений сводной таблицы, добавить или удалить часть из них. Для этого, в палитре свойств сводной таблицы необходимо установить свойство «Изменяет данные»
Вопрос 120 В каком случае будет не доступен выбор режимов размещения окна «Прикрепленное» и «Прячущиеся»?
1. Если свойство «Соединяемые» активно
2. Если свойство «Соединяемые» не активно
3. Если включен режим «Обычное»
4. Если включен режим «Свободное»
Вопрос 121 Каким образом можно задать текст надписей для элементов управления на выбранном языке?
1. В палитре свойств элемента управления в свойстве Заголовок нажать на кнопку «Кнопка открытия». В появившемся окне «Строки на разных языках» ввести надпись
2. Сменить язык просмотра конфигурации, а потом ввести надпись в свойстве Заголовок (или Синоним)
3. Нет правильного ответа
4. Верны ответы 1 и 2
Последнее изменение этой страницы: 2018-04-12; просмотров: 366.
stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда.